Saltar al contenido principal

Puntos de Conexión de Membresía

El módulo 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étodoRutaAutenticaciónPermisoDescripción
GET/JWTPersonas.Ver o MiembroListar todas las personas para la iglesia
GET/:idJWTPersonas.Ver o registro propioObtener una persona por ID (incluye envíos de formulario)
GET/ids?ids=JWTPersonas.Ver o MiembroObtener múltiples personas por IDs separados por comas
GET/basic?ids=JWTObtener información básica (solo nombre) para múltiples personas
GET/recentJWTPersonas.Ver o MiembroPersonas agregadas recientemente
GET/search?term=&email=JWTPersonas.Ver o MiembroBuscar personas por nombre o correo electrónico
GET/search/phone?number=JWTPersonas.Ver o MiembroBuscar por número de teléfono
GET/search/group?groupId=JWTPersonas.Ver o MiembroObtener personas en un grupo específico
GET/household/:householdIdJWTObtener todas las personas en un hogar
GET/attendanceJWTPersonas.EditarCargar asistentes con filtros (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTCargar datos de cronología para personas y grupos
GET/directory/:idJWTObtener persona para vista de directorio (respeta preferencias de visibilidad)
GET/claim/:churchIdJWTReclamar un registro de persona para el usuario actual en una iglesia
POST/JWTPersonas.Editar o EditarUnoMismoCrear o actualizar personas (lote)
POST/searchJWTPersonas.Ver o MiembroBuscar personas (variante POST)
POST/advancedSearchJWTPersonas.Ver o MiembroBúsqueda multi-condición (edad, mesDeNacimiento, estadoDeMembresia, etc.)
POST/loadOrCreatePúblicoEncontrar o crear una persona por correo electrónico. Cuerpo: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPersonas.EditarActualizar asignaciones de miembros del hogar
POST/public/emailPúblicoEnviar un correo electrónico a una persona. Cuerpo: { churchId, personId, subject, body, appName }
POST/apiEmailsInternoCargar correos electrónicos de personas por IDs (servidor a servidor, requiere jwtSecret)
DELETE/:idJWTPersonas.EditarEliminar 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

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

MétodoRutaAutenticaciónPermisoDescripción
POST/loginPúblicoIniciar sesión (correo/contraseña, actualización JWT o authGuid)
POST/registerPúblicoRegistrar un nuevo usuario
POST/forgotPúblicoEnviar correo de reinicio de contraseña
POST/setPasswordGuidPúblicoEstablecer contraseña usando authGuid del enlace de correo
POST/verifyCredentialsPúblicoVerificar correo/contraseña y devolver iglesias asociadas
POST/loadOrCreateJWTEncontrar o crear un usuario por correo/userId
POST/setDisplayNameJWTActualizar nombre y apellido del usuario
POST/updateEmailJWTCambiar dirección de correo del usuario
POST/updatePasswordJWTCambiar contraseña del usuario (mín. 6 caracteres)
POST/updateOptedOutJWTEstablecer estado de exclusión de una persona
GET/search?term=JWTServer.AdminBuscar todos los usuarios por nombre/correo
DELETE/JWTEliminar la cuenta de usuario actual

Iglesias

Ruta base: /membership/churches

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTCargar todas las iglesias para el usuario actual
GET/:idJWTObtener iglesia por ID
GET/:id/getDomainAdminJWTObtener 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 (administrador)
GET/search/?name=PúblicoBuscar iglesias por nombre
GET/lookup/?subDomain=&id=PúblicoBuscar una iglesia por subdominio o ID
POST/JWTConfiguración.EditarActualizar detalles de iglesia
POST/addJWTRegistrar una nueva iglesia. Campos requeridos: nombre, dirección1, ciudad, estado, código postal, país
POST/searchPúblicoBuscar iglesias por nombre (variante POST)
POST/selectJWTSeleccionar/cambiar a una iglesia. Cuerpo: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminArchivar o desarchivar una iglesia
POST/byIdsPúblicoCargar múltiples iglesias por IDs
DELETE/deleteAbandonedJWTServer.AdminEliminar iglesias abandonadas durante 7+ días

Grupos

Ruta base: /membership/groups

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

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todos los grupos
GET/:idJWTObtener grupo por ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTBuscar grupos por filtros de servicio
GET/myJWTObtener grupos para el usuario actual
GET/my/:tagJWTObtener grupos del usuario actual filtrados por etiqueta
GET/tag/:tagJWTObtener todos los grupos con una etiqueta específica
GET/public/:churchId/:idPúblicoObtener un grupo público por iglesia e ID
GET/public/:churchId/tag/:tagPúblicoObtener grupos públicos por etiqueta
GET/public/:churchId/label?label=PúblicoObtener grupos públicos por etiqueta
GET/public/:churchId/slug/:slugPúblicoObtener un grupo público por slug
POST/JWTGrupos.EditarCrear o actualizar grupos (genera slug automáticamente)
DELETE/:idJWTGrupos.EditarEliminar un grupo (también elimina equipos hijo para grupos de ministerio)

Miembros del Grupo

Ruta base: /membership/groupmembers

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

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTMiembrosDelGrupo.VerObtener miembro del grupo por ID
GET/JWTMiembrosDelGrupo.Ver*Listar miembros del grupo. Filtrar por ?groupId=, ?groupIds= o ?personId=. *También se permite si el usuario está en el grupo o consultando su propio personId
GET/myJWTObtener membresías de grupo del usuario actual
GET/basic/:groupIdJWTObtener lista básica de miembros para un grupo
GET/public/leaders/:churchId/:groupIdPúblicoObtener líderes de grupo (público)
POST/JWTMiembrosDelGrupo.EditarAgregar o actualizar miembros del grupo
DELETE/:idJWTMiembrosDelGrupo.VerEliminar un miembro del grupo

Hogares

Ruta base: /membership/households

Controlador CRUD estándar.

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todos los hogares
GET/:idJWTObtener hogar por ID
POST/JWTPersonas.EditarCrear o actualizar hogares
DELETE/:idJWTPersonas.EditarEliminar un hogar

Roles

Ruta base: /membership/roles

MétodoRutaAutenticaciónPermisoDescripción
GET/:idJWTRoles.VerObtener rol por ID
GET/church/:churchIdJWTRoles.VerObtener todos los roles para una iglesia
POST/JWTRoles.EditarCrear o actualizar roles
DELETE/:idJWTRoles.EditarEliminar un rol (también elimina sus permisos y miembros)

Miembros del Rol

Ruta base: /membership/rolemembers

MétodoRutaAutenticaciónPermisoDescripción
GET/roles/:idJWTRoles.VerObtener miembros para un rol. Agregue ?include=users para incluir detalles de usuario
POST/JWTRoles.EditarAgregar miembros a un rol (crea usuario si el correo no existe)
DELETE/:idJWTRoles.VerEliminar un miembro del rol
DELETE/self/:churchId/:userIdJWTEliminar usted mismo de una iglesia

Permisos del Rol

Ruta base: /membership/rolepermissions

MétodoRutaAutenticaciónPermisoDescripción
GET/roles/:idJWTRoles.VerObtener permisos para un rol (usar null como ID para rol "Todos")
POST/JWTRoles.EditarCrear o actualizar permisos de rol
DELETE/:idJWTRoles.EditarEliminar un permiso de rol

Permisos

Ruta base: /membership/permissions

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTObtener la lista completa de permisos disponibles

Formularios

Ruta base: /membership/forms

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTFormularios.Admin o Formularios.EditarListar todos los formularios (administrador ve todos; editores ven asignados + formularios sin miembro)
GET/:idJWTAcceso a formularioObtener un formulario por ID
GET/archivedJWTFormularios.Admin o Formularios.EditarListar formularios archivados
GET/standalone/:id?churchId=JWTObtener un formulario independiente (los formularios restringidos requieren autenticación)
POST/JWTFormularios.Admin o Formularios.EditarCrear o actualizar formularios
DELETE/:idJWTAcceso a formularioEliminar un formulario

Envíos de Formulario

Ruta base: /membership/formsubmissions

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTFormularios.Admin o Formularios.EditarListar envíos. Filtrar por ?personId= o ?formId=
GET/:idJWTFormularios.Admin o Formularios.EditarObtener envío por ID. Agregue ?include=form,questions,answers
GET/formId/:formIdJWTAcceso a formularioObtener todos los envíos para un formulario (incluye formulario, preguntas, respuestas)
POST/JWTEnviar respuestas de formulario (maneja formularios restringidos/sin restricciones, envía notificaciones por correo)
DELETE/:idJWTFormularios.Admin o Formularios.EditarEliminar un envío y sus respuestas

Preguntas

Ruta base: /membership/questions

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTAcceso a formularioListar preguntas para un formulario. Requiere ?formId=
GET/:idJWTAcceso a formularioObtener una pregunta por ID
GET/unrestricted?formId=JWTObtener preguntas para un formulario sin restricciones
GET/sort/:id/upJWTMover una pregunta hacia arriba en orden de clasificación
GET/sort/:id/downJWTMover una pregunta hacia abajo en orden de clasificación
POST/JWTAcceso a formularioCrear o actualizar preguntas (asigna orden de clasificación automáticamente)
DELETE/:id?formId=JWTAcceso a formularioEliminar una pregunta

Respuestas

Ruta base: /membership/answers

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTFormularios.Admin o Formularios.EditarListar respuestas. Filtrar por ?formSubmissionId=
POST/JWTFormularios.Admin o Formularios.EditarCrear o actualizar respuestas

Permisos de Miembros

Ruta base: /membership/memberpermissions

Controla el acceso por miembro a formularios específicos.

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

Configuración

Ruta base: /membership/settings

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTConfiguración.EditarObtener toda la configuración para la iglesia
GET/public/:churchIdPúblicoObtener configuración pública para una iglesia
POST/JWTConfiguración.EditarGuardar configuración (admite carga de imagen base64)

Dominios

Ruta base: /membership/domains

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

MétodoRutaAutenticaciónPermisoDescripción
GET/JWTListar todos los dominios
GET/:idJWTObtener dominio por ID
GET/lookup/:domainNameJWTBuscar un dominio por nombre
GET/public/lookup/:domainNamePúblicoBúsqueda de dominio público por nombre
GET/health/checkPúblicoEjecutar verificación de estado en dominios no verificados
POST/JWTConfiguración.EditarCrear o actualizar dominios (activa actualización de Caddy)
DELETE/:idJWTConfiguración.EditarEliminar un dominio

Iglesia del Usuario

Ruta base: /membership/userchurch

Gestiona la asociación entre usuarios e iglesias.

MétodoRutaAutenticaciónPermisoDescripción
GET/userid/:userIdJWTObtener registro de iglesia de usuario por ID de usuario
GET/personid/:personIdJWTObtener correo electrónico para usuario vinculado de una persona
GET/user/:userIdJWTServer.AdminCargar todas las iglesias para un usuario
POST/JWTCrear una asociación iglesia-usuario
PATCH/:userIdJWTActualizar hora de último acceso y registrar acceso
DELETE/record/:userId/:churchId/:personIdJWTEliminar un registro iglesia-usuario

Preferencias de Visibilidad

Ruta base: /membership/visibilityPreferences

MétodoRutaAutenticaciónPermisoDescripción
GET/myJWTObtener preferencias de visibilidad del usuario actual
POST/JWTGuardar preferencias de visibilidad (visibilidad de dirección, teléfono, correo)

Consulta

Ruta base: /membership/query

MétodoRutaAutenticaciónPermisoDescripción
POST/membersJWTBúsqueda de miembros en lenguaje natural usando IA. Cuerpo: { text, subDomain, siteUrl }

Errores del Cliente

Ruta base: /membership/clientErrors

MétodoRutaAutenticaciónPermisoDescripción
POST/JWTRegistrar un error del lado del cliente

Páginas Relacionadas