Pular para o conteúdo principal

Endpoints de Membros

O módulo de Membros gerencia pessoas, igrejas, grupos, domicílios, papéis, permissões, formulários e configurações. É o maior módulo e fornece a camada central de identidade e autorização para todos os outros módulos.

Caminho base: /membership

Pessoas

Caminho base: /membership/people

MétodoCaminhoAuthPermissãoDescrição
GET/JWTPeople.View ou MembroListar todas as pessoas da igreja
GET/:idJWTPeople.View ou próprio registroObter uma pessoa por ID (inclui envios de formulários)
GET/ids?ids=JWTPeople.View ou MembroObter múltiplas pessoas por IDs separados por vírgula
GET/basic?ids=JWTObter informações básicas (apenas nome) de múltiplas pessoas
GET/recentJWTPeople.View ou MembroPessoas adicionadas recentemente
GET/search?term=&email=JWTPeople.View ou MembroBuscar pessoas por nome ou email
GET/search/phone?number=JWTPeople.View ou MembroBuscar por número de telefone
GET/search/group?groupId=JWTPeople.View ou MembroObter pessoas em um grupo específico
GET/household/:householdIdJWTObter todas as pessoas de um domicílio
GET/attendanceJWTPeople.EditCarregar participantes com filtros (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTCarregar dados de linha do tempo para pessoas e grupos
GET/directory/:idJWTObter pessoa para visualização de diretório (respeita preferências de visibilidade)
GET/claim/:churchIdJWTReivindicar um registro de pessoa para o usuário atual em uma igreja
POST/JWTPeople.Edit ou EditSelfCriar ou atualizar pessoas (lote)
POST/searchJWTPeople.View ou MembroBuscar pessoas (variante POST)
POST/advancedSearchJWTPeople.View ou MembroBusca multi-condição (idade, mês de nascimento, status de membro, etc.)
POST/loadOrCreatePúblicoEncontrar ou criar uma pessoa por email. Body: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditAtualizar atribuições de membros do domicílio
POST/public/emailPúblicoEnviar um email para uma pessoa. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsInternoCarregar emails de pessoas por IDs (servidor-a-servidor, requer jwtSecret)
DELETE/:idJWTPeople.EditExcluir uma pessoa

Exemplo: Buscar Pessoas

GET /membership/people/search?term=John
Authorization: Bearer <token>
[
{
"id": "abc-123",
"name": { "first": "John", "last": "Smith" },
"contactInfo": { "email": "john@example.com" },
"membershipStatus": "Member"
}
]

Exemplo: Criar uma Pessoa

POST /membership/people
Authorization: Bearer <token>

[{ "firstName": "Jane", "lastName": "Doe", "contactInfo": { "email": "jane@example.com" } }]

Usuários

Caminho base: /membership/users

Veja Autenticação e Permissões para endpoints de login, registro e gerenciamento de senha.

MétodoCaminhoAuthPermissãoDescrição
POST/loginPúblicoLogin (email/senha, renovação JWT ou authGuid)
POST/registerPúblicoRegistrar um novo usuário
POST/forgotPúblicoEnviar email de redefinição de senha
POST/setPasswordGuidPúblicoDefinir senha usando GUID de autenticação do link do email
POST/verifyCredentialsPúblicoVerificar email/senha e retornar igrejas associadas
POST/loadOrCreateJWTEncontrar ou criar um usuário por email/userId
POST/setDisplayNameJWTAtualizar nome e sobrenome do usuário
POST/updateEmailJWTAlterar endereço de email do usuário
POST/updatePasswordJWTAlterar senha do usuário (mín. 6 caracteres)
POST/updateOptedOutJWTDefinir status de opt-out de uma pessoa
GET/search?term=JWTServer.AdminBuscar todos os usuários por nome/email
DELETE/JWTExcluir a conta do usuário atual

Igrejas

Caminho base: /membership/churches

MétodoCaminhoAuthPermissãoDescrição
GET/JWTCarregar todas as igrejas do usuário atual
GET/:idJWTObter igreja por ID
GET/:id/getDomainAdminJWTObter o usuário administrador do domínio de uma igreja
GET/:id/impersonateJWTServer.AdminPersonificar uma igreja (apenas admin do servidor)
GET/all?term=JWTServer.AdminBuscar todas as igrejas (admin)
GET/search/?name=PúblicoBuscar igrejas por nome
GET/lookup/?subDomain=&id=PúblicoConsultar uma igreja por subdomínio ou ID
POST/JWTSettings.EditAtualizar detalhes da igreja
POST/addJWTRegistrar uma nova igreja. Campos obrigatórios: name, address1, city, state, zip, country
POST/searchPúblicoBuscar igrejas por nome (variante POST)
POST/selectJWTSelecionar/trocar para uma igreja. Body: { churchId } ou { subDomain }
POST/:id/archiveJWTServer.AdminArquivar ou desarquivar uma igreja
POST/byIdsPúblicoCarregar múltiplas igrejas por IDs
DELETE/deleteAbandonedJWTServer.AdminExcluir igrejas abandonadas por 7+ dias

Grupos

Caminho base: /membership/groups

Estende CRUD padrão (GET /, GET /:id da classe base).

MétodoCaminhoAuthPermissãoDescrição
GET/JWTListar todos os grupos
GET/:idJWTObter grupo por ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTBuscar grupos por filtros de culto
GET/myJWTObter grupos do usuário atual
GET/my/:tagJWTObter grupos do usuário atual filtrados por tag
GET/tag/:tagJWTObter todos os grupos com uma tag específica
GET/public/:churchId/:idPúblicoObter um grupo público por igreja e ID
GET/public/:churchId/tag/:tagPúblicoObter grupos públicos por tag
GET/public/:churchId/label?label=PúblicoObter grupos públicos por rótulo
GET/public/:churchId/slug/:slugPúblicoObter um grupo público por slug
POST/JWTGroups.EditCriar ou atualizar grupos (gera slug automaticamente)
DELETE/:idJWTGroups.EditExcluir um grupo (também exclui equipes filhas para grupos de ministério)

Membros de Grupos

Caminho base: /membership/groupmembers

Estende CRUD padrão (GET /:id, DELETE /:id da classe base).

MétodoCaminhoAuthPermissãoDescrição
GET/:idJWTGroupMembers.ViewObter membro de grupo por ID
GET/JWTGroupMembers.View*Listar membros de grupos. Filtrar por ?groupId=, ?groupIds= ou ?personId=. *Também permitido se o usuário estiver no grupo ou consultando próprio personId
GET/myJWTObter associações de grupo do usuário atual
GET/basic/:groupIdJWTObter lista básica de membros de um grupo
GET/public/leaders/:churchId/:groupIdPúblicoObter líderes do grupo (público)
POST/JWTGroupMembers.EditAdicionar ou atualizar membros de grupos
DELETE/:idJWTGroupMembers.ViewRemover um membro de grupo

Domicílios

Caminho base: /membership/households

Controller CRUD padrão.

MétodoCaminhoAuthPermissãoDescrição
GET/JWTListar todos os domicílios
GET/:idJWTObter domicílio por ID
POST/JWTPeople.EditCriar ou atualizar domicílios
DELETE/:idJWTPeople.EditExcluir um domicílio

Papéis

Caminho base: /membership/roles

MétodoCaminhoAuthPermissãoDescrição
GET/:idJWTRoles.ViewObter papel por ID
GET/church/:churchIdJWTRoles.ViewObter todos os papéis de uma igreja
POST/JWTRoles.EditCriar ou atualizar papéis
DELETE/:idJWTRoles.EditExcluir um papel (também remove suas permissões e membros)

Membros de Papéis

Caminho base: /membership/rolemembers

MétodoCaminhoAuthPermissãoDescrição
GET/roles/:idJWTRoles.ViewObter membros de um papel. Adicione ?include=users para incluir detalhes do usuário
POST/JWTRoles.EditAdicionar membros a um papel (cria usuário se email não existir)
DELETE/:idJWTRoles.ViewRemover um membro de papel
DELETE/self/:churchId/:userIdJWTRemover-se de uma igreja

Permissões de Papéis

Caminho base: /membership/rolepermissions

MétodoCaminhoAuthPermissãoDescrição
GET/roles/:idJWTRoles.ViewObter permissões de um papel (use null como ID para o papel "Todos")
POST/JWTRoles.EditCriar ou atualizar permissões de papéis
DELETE/:idJWTRoles.EditExcluir uma permissão de papel

Permissões

Caminho base: /membership/permissions

MétodoCaminhoAuthPermissãoDescrição
GET/JWTObter a lista completa de permissões disponíveis

Formulários

Caminho base: /membership/forms

MétodoCaminhoAuthPermissãoDescrição
GET/JWTForms.Admin ou Forms.EditListar todos os formulários (admin vê todos; editores veem atribuídos + formulários de não-membros)
GET/:idJWTAcesso ao formulárioObter um formulário por ID
GET/archivedJWTForms.Admin ou Forms.EditListar formulários arquivados
GET/standalone/:id?churchId=JWTObter um formulário autônomo (formulários restritos requerem autenticação)
POST/JWTForms.Admin ou Forms.EditCriar ou atualizar formulários
DELETE/:idJWTAcesso ao formulárioExcluir um formulário

Envios de Formulários

Caminho base: /membership/formsubmissions

MétodoCaminhoAuthPermissãoDescrição
GET/JWTForms.Admin ou Forms.EditListar envios. Filtrar por ?personId= ou ?formId=
GET/:idJWTForms.Admin ou Forms.EditObter envio por ID. Adicione ?include=form,questions,answers
GET/formId/:formIdJWTAcesso ao formulárioObter todos os envios de um formulário (inclui formulário, perguntas, respostas)
POST/JWTEnviar respostas do formulário (trata formulários restritos/não restritos, envia notificações por email)
DELETE/:idJWTForms.Admin ou Forms.EditExcluir um envio e suas respostas

Perguntas

Caminho base: /membership/questions

MétodoCaminhoAuthPermissãoDescrição
GET/JWTAcesso ao formulárioListar perguntas de um formulário. Requer ?formId=
GET/:idJWTAcesso ao formulárioObter uma pergunta por ID
GET/unrestricted?formId=JWTObter perguntas de um formulário não restrito
GET/sort/:id/upJWTMover uma pergunta para cima na ordem
GET/sort/:id/downJWTMover uma pergunta para baixo na ordem
POST/JWTAcesso ao formulárioCriar ou atualizar perguntas (atribui ordem automaticamente)
DELETE/:id?formId=JWTAcesso ao formulárioExcluir uma pergunta

Respostas

Caminho base: /membership/answers

MétodoCaminhoAuthPermissãoDescrição
GET/JWTForms.Admin ou Forms.EditListar respostas. Filtrar por ?formSubmissionId=
POST/JWTForms.Admin ou Forms.EditCriar ou atualizar respostas

Permissões de Membros

Caminho base: /membership/memberpermissions

Controla o acesso por membro a formulários específicos.

MétodoCaminhoAuthPermissãoDescrição
GET/:idJWTAcesso ao formulárioObter uma permissão de membro por ID
GET/member/:idJWTAcesso ao formulárioObter todas as permissões de formulário de um membro
GET/form/:idJWTAcesso ao formulárioObter todas as permissões de membros de um formulário
GET/form/:id/myJWTAcesso ao formulárioObter permissão do usuário atual para um formulário
POST/JWTAcesso ao formulárioCriar ou atualizar permissões de membros
DELETE/:id?formId=JWTAcesso ao formulárioExcluir uma permissão de membro
DELETE/member/:id?formId=JWTAcesso ao formulárioExcluir todas as permissões de um membro em um formulário

Configurações

Caminho base: /membership/settings

MétodoCaminhoAuthPermissãoDescrição
GET/JWTSettings.EditObter todas as configurações da igreja
GET/public/:churchIdPúblicoObter configurações públicas de uma igreja
POST/JWTSettings.EditSalvar configurações (suporta upload de imagem em base64)

Domínios

Caminho base: /membership/domains

Estende CRUD padrão (GET /:id, GET /, DELETE /:id da classe base).

MétodoCaminhoAuthPermissãoDescrição
GET/JWTListar todos os domínios
GET/:idJWTObter domínio por ID
GET/lookup/:domainNameJWTConsultar um domínio por nome
GET/public/lookup/:domainNamePúblicoConsulta pública de domínio por nome
GET/health/checkPúblicoExecutar verificação de saúde em domínios não verificados
POST/JWTSettings.EditCriar ou atualizar domínios (aciona atualização do Caddy)
DELETE/:idJWTSettings.EditExcluir um domínio

Igreja do Usuário

Caminho base: /membership/userchurch

Gerencia a associação entre usuários e igrejas.

MétodoCaminhoAuthPermissãoDescrição
GET/userid/:userIdJWTObter registro usuário-igreja por ID do usuário
GET/personid/:personIdJWTObter email do usuário vinculado a uma pessoa
GET/user/:userIdJWTServer.AdminCarregar todas as igrejas de um usuário
POST/JWTCriar uma associação usuário-igreja
PATCH/:userIdJWTAtualizar hora do último acesso e registrar acesso
DELETE/record/:userId/:churchId/:personIdJWTExcluir um registro usuário-igreja

Preferências de Visibilidade

Caminho base: /membership/visibilityPreferences

MétodoCaminhoAuthPermissãoDescrição
GET/myJWTObter preferências de visibilidade do usuário atual
POST/JWTSalvar preferências de visibilidade (visibilidade de endereço, telefone, email)

Consulta

Caminho base: /membership/query

MétodoCaminhoAuthPermissãoDescrição
POST/membersJWTBusca de membros em linguagem natural usando IA. Body: { text, subDomain, siteUrl }

Erros do Cliente

Caminho base: /membership/clientErrors

MétodoCaminhoAuthPermissãoDescrição
POST/JWTRegistrar um erro do lado do cliente

Páginas Relacionadas