Pular para o conteúdo principal

Endpoints de Membros

O módulo de Membros gerencia pessoas, igrejas, grupos, famílias, funções, permissões, formulários e configurações. É o maior módulo e fornece a camada de identidade e autorização principal para todos os outros módulos.

Caminho base: /membership

Pessoas

Caminho base: /membership/people

MétodoCaminhoAuthPermissãoDescrição
GET/JWTPeople.View ou MemberListar todas as pessoas da igreja
GET/:idJWTPeople.View ou registro próprioObter uma pessoa por ID (inclui envios de formulário)
GET/ids?ids=JWTPeople.View ou MemberObter múltiplas pessoas por IDs separados por vírgula
GET/basic?ids=JWTObter informações básicas (apenas nome) para múltiplas pessoas
GET/recentJWTPeople.View ou MemberPessoas adicionadas recentemente
GET/search?term=&email=JWTPeople.View ou MemberProcurar pessoas por nome ou email
GET/search/phone?number=JWTPeople.View ou MemberProcurar por número de telefone
GET/search/group?groupId=JWTPeople.View ou MemberObter pessoas em um grupo específico
GET/household/:householdIdJWTObter todas as pessoas em uma família
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 MemberProcurar pessoas (variante POST)
POST/advancedSearchJWTPeople.View ou MemberBusca multi-condição (idade, mês de nascimento, status de membros, etc.)
POST/loadOrCreatePublicEncontrar ou criar uma pessoa por email. Corpo: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditAtualizar atribuições de membros da família
POST/public/emailPublicEnviar um email para uma pessoa. Corpo: { churchId, personId, subject, body, appName }
POST/apiEmailsInternalCarregar emails de pessoa por IDs (servidor para servidor, requer jwtSecret)
DELETE/:idJWTPeople.EditDeletar uma pessoa

Exemplo: Procurar 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/loginPublicConectar (email/senha, atualização JWT ou authGuid)
POST/registerPublicRegistrar um novo usuário
POST/forgotPublicEnviar email de reconfiguração de senha
POST/setPasswordGuidPublicDefinir senha usando GUID de auth do link de email
POST/verifyCredentialsPublicVerificar 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 email do usuário
POST/updatePasswordJWTAlterar senha do usuário (mín. 6 caracteres)
POST/updateOptedOutJWTDefinir status de opção de saída de uma pessoa
GET/search?term=JWTServer.AdminProcurar todos os usuários por nome/email
DELETE/JWTDeletar a conta do usuário atual

Igrejas

Caminho base: /membership/churches

MétodoCaminhoAuthPermissãoDescrição
GET/JWTCarregar todas as igrejas para o usuário atual
GET/:idJWTObter igreja por ID
GET/:id/getDomainAdminJWTObter o usuário administrador de domínio para uma igreja
GET/:id/impersonateJWTServer.AdminRepresentar uma igreja (apenas admin de servidor)
GET/all?term=JWTServer.AdminProcurar todas as igrejas (admin)
GET/search/?name=PublicProcurar igrejas por nome
GET/lookup/?subDomain=&id=PublicProcurar 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/searchPublicProcurar igrejas por nome (variante POST)
POST/selectJWTSelecionar/mudar para uma igreja. Corpo: { churchId } ou { subDomain }
POST/:id/archiveJWTServer.AdminArquivar ou desarquivar uma igreja
POST/byIdsPublicCarregar múltiplas igrejas por IDs
DELETE/deleteAbandonedJWTServer.AdminDeletar 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=JWTProcurar grupos por filtros de serviço
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/:idPublicObter um grupo público por igreja e ID
GET/public/:churchId/tag/:tagPublicObter grupos públicos por tag
GET/public/:churchId/label?label=PublicObter grupos públicos por rótulo
GET/public/:churchId/slug/:slugPublicObter um grupo público por slug
POST/JWTGroups.EditCriar ou atualizar grupos (gera automaticamente slug)
DELETE/:idJWTGroups.EditDeletar um grupo (também deleta equipes filhas para grupos de ministério)

Membros do Grupo

Caminho base: /membership/groupmembers

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

MétodoCaminhoAuthPermissãoDescrição
GET/:idJWTGroupMembers.ViewObter membro do grupo por ID
GET/JWTGroupMembers.View*Listar membros do grupo. Filtrar por ?groupId=, ?groupIds= ou ?personId=. *Também permitido se o usuário estiver no grupo ou consultando personId próprio
GET/myJWTObter membros de grupo do usuário atual
GET/basic/:groupIdJWTObter lista de membros básica para um grupo
GET/public/leaders/:churchId/:groupIdPublicObter líderes do grupo (público)
GET/public/:churchId/:groupIdPublicObter a lista pública de um grupo (campos mínimos: personId, displayName, leader, foto). Apenas quando o grupo escolhe via publicRoster; alimenta o elemento staffGrid do construtor de sites
POST/JWTGroupMembers.EditAdicionar ou atualizar membros do grupo
DELETE/:idJWTGroupMembers.ViewRemover um membro do grupo

Famílias

Caminho base: /membership/households

Controlador CRUD padrão.

MétodoCaminhoAuthPermissãoDescrição
GET/JWTListar todas as famílias
GET/:idJWTObter família por ID
POST/JWTPeople.EditCriar ou atualizar famílias
DELETE/:idJWTPeople.EditDeletar uma família

Funções

Caminho base: /membership/roles

MétodoCaminhoAuthPermissãoDescrição
GET/:idJWTRoles.ViewObter função por ID
GET/church/:churchIdJWTRoles.ViewObter todas as funções de uma igreja
POST/JWTRoles.EditCriar ou atualizar funções
DELETE/:idJWTRoles.EditDeletar uma função (também remove suas permissões e membros)

Membros da Função

Caminho base: /membership/rolemembers

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

Permissões da Função

Caminho base: /membership/rolepermissions

MétodoCaminhoAuthPermissãoDescrição
GET/roles/:idJWTRoles.ViewObter permissões de uma função (use null como ID para a função "Todos")
POST/JWTRoles.EditCriar ou atualizar permissões da função
DELETE/:idJWTRoles.EditDeletar uma permissão da função

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 para 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árioDeletar um formulário

Envios de Formulário

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. Adicionar ?include=form,questions,answers
GET/formId/:formIdJWTAcesso ao formulárioObter todos os envios para um formulário (inclui formulário, perguntas, respostas)
POST/JWTEnviar respostas de formulário (lida com formulários restritos/irrestritivos, envia notificações por email). Quando o formulário tem autoCreatePerson, encontra-ou-cria uma pessoa Guest por email e vincula o envio; quando followUpSubject/followUpBody estão definidos, envia um email de acompanhamento modelado para o enviador
DELETE/:idJWTForms.Admin ou Forms.EditDeletar 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 irrestritivo
GET/sort/:id/upJWTMover uma pergunta para cima na ordem de classificação
GET/sort/:id/downJWTMover uma pergunta para baixo na ordem de classificação
POST/JWTAcesso ao formulárioCriar ou atualizar perguntas (atribui automaticamente ordem de classificação)
DELETE/:id?formId=JWTAcesso ao formulárioDeletar 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 Membro

Caminho base: /membership/memberpermissions

Controla 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 para um membro
GET/form/:idJWTAcesso ao formulárioObter todas as permissões de membro para 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 membro
DELETE/:id?formId=JWTAcesso ao formulárioDeletar uma permissão de membro
DELETE/member/:id?formId=JWTAcesso ao formulárioDeletar 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/:churchIdPublicObter configurações públicas para 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/:domainNameJWTProcurar um domínio por nome
GET/public/lookup/:domainNamePublicBusca de domínio público por nome
GET/health/checkPublicExecutar verificação de saúde em domínios não verificados
POST/JWTSettings.EditCriar ou atualizar domínios (dispara atualização Caddy)
DELETE/:idJWTSettings.EditDeletar 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 de usuário-igreja por ID de usuário
GET/personid/:personIdJWTObter email para um usuário vinculado de uma pessoa
GET/user/:userIdJWTServer.AdminCarregar todas as igrejas de um usuário
POST/JWTCriar uma associação de usuário-igreja
PATCH/:userIdJWTAtualizar hora do último acesso e registrar acesso
DELETE/record/:userId/:churchId/:personIdJWTDeletar um registro de 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 membro em linguagem natural usando IA. Corpo: { 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