Saltar al contenido principal

Puntos Finales de Membresía

El módulo de Membership gestiona personas, iglesias, grupos, hogares, roles, permisos, formularios, y configuración. Es el módulo más grande y proporciona la capa central de identidad y autorización para todos los demás módulos.

Ruta base: /membership

Personas​

Ruta base: /membership/people

MétodoRutaAuthPermisoDescripción
GET/JWTPeople.View o MemberEnumera todas las personas de la iglesia
GET/:idJWTPeople.View o registro propioObtener una persona por ID (incluye envíos de formulario)
GET/ids?ids=JWTPeople.View o MemberObtener múltiples personas por IDs separados por comas
GET/basic?ids=JWT—Obtener información básica (solo nombre) para múltiples personas
GET/recentJWTPeople.View o MemberPersonas agregadas recientemente
GET/search?term=&email=JWTPeople.View o MemberBuscar personas por nombre o correo
GET/search/phone?number=JWTPeople.View o MemberBuscar por número de teléfono
GET/search/group?groupId=JWTPeople.View o MemberObtener personas en un grupo específico
GET/household/:householdIdJWT—Obtener todas las personas en un hogar
GET/attendanceJWTPeople.EditCargar asistentes con filtros (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWT—Cargar datos de línea de tiempo para personas y grupos
GET/directory/:idJWT—Obtener persona para vista de directorio (respeta preferencias de visibilidad)
GET/claim/:churchIdJWT—Reclamar un registro de persona para el usuario actual en una iglesia
POST/JWTPeople.Edit o EditSelfCrear o actualizar personas (lote)
POST/searchJWTPeople.View o MemberBuscar personas (variante POST)
POST/advancedSearchJWTPeople.View o MemberBúsqueda multi-condición (edad, birthMonth, membershipStatus, etc.)
POST/loadOrCreatePúblico—Encontrar o crear una persona por correo. Cuerpo: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditActualizar asignaciones de miembros del hogar
POST/public/emailPúblico—Enviar un correo a una persona. Cuerpo: { churchId, personId, subject, body, appName }
POST/apiEmailsInterno—Cargar correos de personas por IDs (servidor a servidor, requiere jwtSecret)
DELETE/:idJWTPeople.EditEliminar una persona

Ejemplo: Buscar Personas​

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

Ejemplo: Crear una Persona​

POST /membership/people
Authorization: Bearer <token>

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

Usuarios​

Ruta base: /membership/users

Consulta Autenticación y Permisos para puntos finales de inicio de sesión, registro, y gestión de contraseñas.

MétodoRutaAuthPermisoDescripción
POST/loginPúblico—Iniciar sesión (correo/contraseña, refresh de JWT, o authGuid)
POST/registerPúblico—Registrar un nuevo usuario
POST/forgotPúblico—Enviar correo de restablecimiento de contraseña
POST/setPasswordGuidPúblico—Establecer contraseña usando GUID de autenticación desde el enlace de correo
POST/verifyCredentialsPúblico—Verificar correo/contraseña y devolver las iglesias asociadas
POST/loadOrCreateJWT—Encontrar o crear un usuario por correo/userId
POST/setDisplayNameJWT—Actualizar el nombre y apellido del usuario
POST/updateEmailJWT—Cambiar la dirección de correo del usuario
POST/updatePasswordJWT—Cambiar la contraseña del usuario (mín. 6 caracteres)
POST/updateOptedOutJWT—Establecer el estado de exclusión de una persona
GET/search?term=JWTServer.AdminBuscar todos los usuarios por nombre/correo
DELETE/JWT—Eliminar la cuenta del usuario actual

Iglesias​

Ruta base: /membership/churches

MétodoRutaAuthPermisoDescripción
GET/JWT—Cargar todas las iglesias para el usuario actual
GET/:idJWT—Obtener iglesia por ID
GET/:id/getDomainAdminJWT—Obtener el usuario administrador de dominio para una iglesia
GET/:id/impersonateJWTServer.AdminSuplantar una iglesia (solo administrador del servidor)
GET/all?term=JWTServer.AdminBuscar todas las iglesias (admin)
GET/search/?name=Público—Buscar iglesias por nombre
GET/lookup/?subDomain=&id=Público—Buscar una iglesia por subdominio o ID
POST/JWTSettings.EditActualizar detalles de la iglesia
POST/addJWT—Registrar una nueva iglesia. Campos requeridos: name, address1, city, state, zip, country
POST/searchPúblico—Buscar iglesias por nombre (variante POST)
POST/selectJWT—Seleccionar/cambiar a una iglesia. Cuerpo: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminArchivar o desarchivar una iglesia
POST/byIdsPúblico—Cargar múltiples iglesias por IDs
DELETE/deleteAbandonedJWTServer.AdminEliminar iglesias abandonadas por 7+ días

Grupos​

Ruta base: /membership/groups

Extiende CRUD estándar (GET /, GET /:id de la clase base).

MétodoRutaAuthPermisoDescripción
GET/JWT—Enumera todos los grupos
GET/:idJWT—Obtener grupo por ID
GET/search?campusId=&serviceId=&serviceTimeId=JWT—Buscar grupos por filtros de servicio
GET/myJWT—Obtener grupos para el usuario actual
GET/my/:tagJWT—Obtener grupos del usuario actual filtrados por etiqueta
GET/tag/:tagJWT—Obtener todos los grupos con una etiqueta específica
GET/public/:churchId/:idPúblico—Obtener un grupo público por iglesia e ID
GET/public/:churchId/tag/:tagPúblico—Obtener grupos públicos por etiqueta
GET/public/:churchId/label?label=Público—Obtener grupos públicos por etiqueta descriptiva
GET/public/:churchId/slug/:slugPúblico—Obtener un grupo público por slug
POST/JWTGroups.EditCrear o actualizar grupos (genera slug automáticamente)
DELETE/:idJWTGroups.EditEliminar un grupo (también elimina equipos hijos para grupos de ministerio)

Miembros de Grupo​

Ruta base: /membership/groupmembers

Extiende CRUD estándar (GET /:id, DELETE /:id de la clase base).

MétodoRutaAuthPermisoDescripción
GET/:idJWTGroupMembers.ViewObtener miembro de grupo por ID
GET/JWTGroupMembers.View*Enumera miembros de grupo. Filtra por ?groupId=, ?groupIds=, o ?personId=. *También permitido si el usuario está en el grupo o consulta su propio personId
GET/myJWT—Obtener las membresías de grupo del usuario actual
GET/basic/:groupIdJWT—Obtener lista básica de miembros para un grupo
GET/public/leaders/:churchId/:groupIdPúblico—Obtener líderes de grupo (público)
GET/public/:churchId/:groupIdPúblico—Obtener la lista pública de un grupo (campos mínimos: personId, displayName, leader, foto). Solo cuando el grupo lo habilita vía publicRoster; alimenta el elemento staffGrid del generador de sitios web
POST/JWTGroupMembers.EditAgregar o actualizar miembros de grupo
DELETE/:idJWTGroupMembers.ViewQuitar un miembro de grupo

Hogares​

Ruta base: /membership/households

Controlador CRUD estándar.

MétodoRutaAuthPermisoDescripción
GET/JWT—Enumera todos los hogares
GET/:idJWT—Obtener hogar por ID
POST/JWTPeople.EditCrear o actualizar hogares
DELETE/:idJWTPeople.EditEliminar un hogar

Roles​

Ruta base: /membership/roles

MétodoRutaAuthPermisoDescripción
GET/:idJWTRoles.ViewObtener rol por ID
GET/church/:churchIdJWTRoles.ViewObtener todos los roles para una iglesia
POST/JWTRoles.EditCrear o actualizar roles
DELETE/:idJWTRoles.EditEliminar un rol (también elimina sus permisos y miembros)

Miembros de Rol​

Ruta base: /membership/rolemembers

MétodoRutaAuthPermisoDescripción
GET/roles/:idJWTRoles.ViewObtener miembros para un rol. Agrega ?include=users para incluir detalles de usuario
POST/JWTRoles.EditAgregar miembros a un rol (crea usuario si el correo no existe)
DELETE/:idJWTRoles.ViewQuitar un miembro de rol
DELETE/self/:churchId/:userIdJWT—Quitarte a ti mismo de una iglesia

Permisos de Rol​

Ruta base: /membership/rolepermissions

MétodoRutaAuthPermisoDescripción
GET/roles/:idJWTRoles.ViewObtener permisos para un rol (usa null como ID para el rol "Everyone")
POST/JWTRoles.EditCrear o actualizar permisos de rol
DELETE/:idJWTRoles.EditEliminar un permiso de rol

Permisos​

Ruta base: /membership/permissions

MétodoRutaAuthPermisoDescripción
GET/JWT—Obtener la lista completa de permisos disponibles

Formularios​

Ruta base: /membership/forms

MétodoRutaAuthPermisoDescripción
GET/JWTForms.Admin o Forms.EditEnumera todos los formularios (el admin ve todos; los editores ven los asignados + formularios sin miembros)
GET/:idJWTAcceso al formularioObtener un formulario por ID
GET/archivedJWTForms.Admin o Forms.EditEnumera formularios archivados
GET/standalone/:id?churchId=JWT—Obtener un formulario independiente (los formularios restringidos requieren auth)
POST/JWTForms.Admin o Forms.EditCrear o actualizar formularios
DELETE/:idJWTAcceso al formularioEliminar un formulario

Envíos de Formulario​

Ruta base: /membership/formsubmissions

MétodoRutaAuthPermisoDescripción
GET/JWTForms.Admin o Forms.EditEnumera envíos. Filtra por ?personId= o ?formId=
GET/:idJWTForms.Admin o Forms.EditObtener envío por ID. Agrega ?include=form,questions,answers
GET/formId/:formIdJWTAcceso al formularioObtener todos los envíos para un formulario (incluye formulario, preguntas, respuestas)
POST/JWT—Enviar respuestas de formulario (maneja formularios restringidos/no restringidos, envía notificaciones por correo). Cuando el formulario tiene autoCreatePerson, encuentra o crea una persona Guest por correo y vincula el envío; cuando followUpSubject/followUpBody están establecidos, envía un correo de seguimiento con plantilla al remitente
DELETE/:idJWTForms.Admin o Forms.EditEliminar un envío y sus respuestas

Preguntas​

Ruta base: /membership/questions

MétodoRutaAuthPermisoDescripción
GET/JWTAcceso al formularioEnumera preguntas para un formulario. Requiere ?formId=
GET/:idJWTAcceso al formularioObtener una pregunta por ID
GET/unrestricted?formId=JWT—Obtener preguntas para un formulario no restringido
GET/sort/:id/upJWT—Mover una pregunta hacia arriba en el orden de clasificación
GET/sort/:id/downJWT—Mover una pregunta hacia abajo en el orden de clasificación
POST/JWTAcceso al formularioCrear o actualizar preguntas (asigna orden de clasificación automáticamente)
DELETE/:id?formId=JWTAcceso al formularioEliminar una pregunta

Respuestas​

Ruta base: /membership/answers

MétodoRutaAuthPermisoDescripción
GET/JWTForms.Admin o Forms.EditEnumera respuestas. Filtra por ?formSubmissionId=
POST/JWTForms.Admin o Forms.EditCrear o actualizar respuestas

Permisos de Miembro​

Ruta base: /membership/memberpermissions

Controla el acceso por miembro a formularios específicos.

MétodoRutaAuthPermisoDescripción
GET/:idJWTAcceso al formularioObtener un permiso de miembro por ID
GET/member/:idJWTAcceso al formularioObtener todos los permisos de formulario para un miembro
GET/form/:idJWTAcceso al formularioObtener todos los permisos de miembro para un formulario
GET/form/:id/myJWTAcceso al formularioObtener el permiso del usuario actual para un formulario
POST/JWTAcceso al formularioCrear o actualizar permisos de miembro
DELETE/:id?formId=JWTAcceso al formularioEliminar un permiso de miembro
DELETE/member/:id?formId=JWTAcceso al formularioEliminar todos los permisos para un miembro en un formulario

Configuración​

Ruta base: /membership/settings

MétodoRutaAuthPermisoDescripción
GET/JWTSettings.EditObtener toda la configuración de la iglesia
GET/public/:churchIdPúblico—Obtener configuración pública de una iglesia
POST/JWTSettings.EditGuardar configuración (admite carga de imagen en base64)

Dominios​

Ruta base: /membership/domains

Extiende CRUD estándar (GET /:id, GET /, DELETE /:id de la clase base).

MétodoRutaAuthPermisoDescripción
GET/JWT—Enumera todos los dominios
GET/:idJWT—Obtener dominio por ID
GET/lookup/:domainNameJWT—Buscar un dominio por nombre
GET/public/lookup/:domainNamePúblico—Búsqueda pública de dominio por nombre
GET/health/checkPúblico—Ejecutar verificación de salud en dominios no verificados
POST/JWTSettings.EditCrear o actualizar dominios (activa la actualización de Caddy)
DELETE/:idJWTSettings.EditEliminar un dominio

Usuario-Iglesia​

Ruta base: /membership/userchurch

Gestiona la asociación entre usuarios e iglesias.

MétodoRutaAuthPermisoDescripción
GET/userid/:userIdJWT—Obtener registro usuario-iglesia por ID de usuario
GET/personid/:personIdJWT—Obtener el correo del usuario vinculado de una persona
GET/user/:userIdJWTServer.AdminCargar todas las iglesias para un usuario
POST/JWT—Crear una asociación usuario-iglesia
PATCH/:userIdJWT—Actualizar la hora del último acceso y registrar el acceso
DELETE/record/:userId/:churchId/:personIdJWT—Eliminar un registro usuario-iglesia

Preferencias de Visibilidad​

Ruta base: /membership/visibilityPreferences

MétodoRutaAuthPermisoDescripción
GET/myJWT—Obtener las preferencias de visibilidad del usuario actual
POST/JWT—Guardar preferencias de visibilidad (visibilidad de dirección, teléfono, correo)

Consulta​

Ruta base: /membership/query

MétodoRutaAuthPermisoDescripción
POST/membersJWT—Búsqueda de miembros en lenguaje natural usando IA. Cuerpo: { text, subDomain, siteUrl }

Errores de Cliente​

Ruta base: /membership/clientErrors

MétodoRutaAuthPermisoDescripción
POST/JWT—Registrar un error del lado del cliente

Páginas Relacionadas​