Qué es
La WhatsApp Groups API de YCloud permite a tu empresa crear grupos de WhatsApp solo por invitación. Envías un enlace de invitación a cada persona y esa persona decide si unirse. Si el grupo requiere aprobación, puedes revisar la solicitud de unión de la persona antes de permitirle entrar al grupo. Esta guía cubre la configuración y gestión de grupos. El envío de mensajes a grupos y la recuperación de mensajes de grupo aún no están disponibles. Las conversaciones de grupo no aparecen en Inbox.Antes de empezar
Antes de realizar la integración, asegúrate de que tu número de teléfono comercial de WhatsApp cumpla estos requisitos:- La empresa tiene una Official Business Account (OBA).
- El número de teléfono utiliza la WhatsApp Cloud API, no la aplicación WhatsApp Business.
- El número de teléfono no utiliza Multi-solution Conversations.
- Tu cuenta de YCloud tiene acceso al número de teléfono.
- Dispones de una URL pública HTTPS donde YCloud pueda enviar eventos de webhook.
- Antes de enviar enlaces de invitación a través de un mensaje de plantilla, dispones de una plantilla de mensaje de invitación al grupo aprobada.
YCloud y WhatsApp comprueban si el número de teléfono es apto. Si no lo es,
verifica su estado de OBA, la configuración de la Cloud API y el acceso en YCloud.
Funcionalidades admitidas y límites
Actualmente YCloud admite:- Crear, listar, recuperar y eliminar grupos.
- Recuperar y restablecer enlaces de invitación.
- Enviar una plantilla aprobada de enlace de invitación a un usuario individual de WhatsApp.
- Listar, aprobar y rechazar solicitudes de unión.
- Eliminar participantes.
- Actualizar el asunto y la descripción del grupo.
- Actualizar la foto de perfil del grupo con un archivo JPEG.
- Recibir webhooks sobre el ciclo de vida del grupo, participantes, configuración y suspensión.
- Un grupo puede tener hasta 8 participantes.
- Un número de teléfono comercial puede crear hasta 10.000 grupos.
- Un grupo solo puede contener un número de teléfono comercial de la Cloud API.
- Una sola solicitud de YCloud puede eliminar hasta 8 participantes.
- El asunto de un grupo puede contener hasta 128 caracteres.
- La descripción de un grupo puede contener hasta 2.048 caracteres.
Cómo funciona
- Elige qué eventos de grupo debe enviar YCloud a tu endpoint de webhook.
- Envía una solicitud para crear un grupo. YCloud devuelve inmediatamente un
requestId. - Espera el webhook de ciclo de vida que informa si la creación se realizó con éxito.
- Si la creación tiene éxito, guarda el
groupIddevuelto y el enlace de invitación. Almacena y utiliza elgroupIdexactamente como lo devuelve YCloud. - Envía el enlace de invitación a una persona a la vez.
- Si el grupo requiere aprobación, aprueba o rechaza cada solicitud de unión.
- Usa los eventos de participantes y la API para recuperar grupos para mantener tu lista de miembros actualizada.
- Usa eventos de webhook para confirmar la eliminación de grupos, la salida de participantes y los cambios de configuración.
Configurar webhooks
Suscribe tu endpoint de webhook de YCloud a estos eventos antes de crear un grupo:
Cuando YCloud envíe un evento, verifica
YCloud-Signature, guarda el evento y devuelve
una respuesta 2xx con prontitud. Luego puedes procesarlo en segundo plano. YCloud puede
enviar el mismo evento más de una vez, y diferentes eventos podrían llegar en
desorden. Usa el id del evento para reconocer una entrega que ya hayas procesado.
Para una operación iniciada a través de la API, vincula el webhook con la solicitud
original mediante requestId. Las acciones iniciadas por un participante, como unirse o
salir, podrían no incluir un requestId. En ese caso, usa el tipo de evento,
groupId, el identificador del participante y la hora del evento.
Crear un grupo
Elige el modo de aprobación de unión:whatsapp.group.lifecycle_update. Un evento group_create exitoso
contiene los valores finales de groupId y inviteLink.
groupId exactamente como aparece en el evento exitoso. Distingue entre mayúsculas y minúsculas. No lo decodifiques, modifiques ni generes tú mismo.
Invitar a participantes
Puedes usar el enlace de invitación del webhook de creación o recuperarlo más adelante con el endpoint de enlace de invitación. Restablece el enlace solo cuando necesites que todos los enlaces compartidos anteriormente dejen de funcionar. Tras un restablecimiento, las personas no podrán unirse con el enlace anterior. Para enviar el enlace a través de WhatsApp, prepara primero una plantilla de invitación aprobada. Luego, envía esa plantilla a un usuario individual:to o recipient. No envía un mensaje al grupo. Si proporcionas ambos campos, YCloud usa to.
Gestionar solicitudes de unión
Para un grupoauto_approve, espera a un webhook de participante añadido antes de registrar al usuario como miembro.
Para un grupo approval_required:
- Recibe
group_join_request_createdo recupera las solicitudes pendientes. - Guarda el
joinRequestIdmientras la solicitud siga pendiente. - Envía cada ID al endpoint de aprobación o rechazo.
- Comprueba tanto los elementos exitosos como los fallidos en la respuesta, incluidos
failedJoinRequestsyerrors. - Confirma que la persona se unió utilizando el webhook de participante añadido o recuperando el grupo.
Listar grupos y solicitudes de unión
La lista de grupos y la lista de solicitudes de unión devuelven resultados paginados. Un cursor es un valor temporal que marca tu posición en la lista.limit controla el tamaño de la página, va de 1 a 1024, y su valor predeterminado es 25. Pasa after para la página siguiente o before para la página anterior.
Mantener un grupo
Eliminar participantes
Puedes eliminar hasta ocho participantes en una sola solicitud. Elimina los identificadores de participantes duplicados antes de enviarla. Algunos participantes podrían eliminarse mientras que otros fallan, así que compruebaremovedParticipants, failedParticipants[].errors y el errors de nivel superior en el webhook de participantes.
Actualizar la configuración
Puedes actualizarsubject, description, un profile_picture_file JPEG o cualquier combinación de estos ajustes. Envía JSON cuando cambies únicamente texto. Envía multipart/form-data al subir una foto de perfil. La respuesta inicial solo confirma que YCloud aceptó la solicitud. Espera al webhook de configuración y revisa cada entrada de settings[] para ver qué se actualizó realmente.
Eliminar un grupo
La respuesta inicial de eliminación no confirma que el grupo haya sido eliminado. Espera un webhook de ciclo de vida contype: "group_delete" y un status final. Tras la eliminación, el grupo no podrá usarse de nuevo. Los eventos que ya estaban en curso aún podrían llegar.
Gestionar resultados asíncronos de forma segura
- Guarda el
requestId, la operación solicitada y tu propio ID de referencia juntos. - Si vuelves a recibir el mismo
iddel evento, no apliques el mismo cambio dos veces. - Asegúrate de que procesar el mismo evento de nuevo no genere datos duplicados ni efectos secundarios.
- Espera que los eventos puedan repetirse o llegar fuera de orden.
- Recupera el grupo nuevamente cuando un evento entre en conflicto con tus datos actuales.
- Comprueba los errores de nivel superior y a nivel de elemento para operaciones parciales.
- Oculta las claves de API, enlaces de invitación, identificadores de participantes y datos personales de los registros generales de la aplicación.
Errores y solución de problemas
Una solicitud a la API puede fallar inmediatamente o después de que YCloud la haya aceptado:- Para un fallo inmediato, consulta la respuesta de error estándar de YCloud. El
error.codede nivel superior es un código general de YCloud comoBAD_REQUESToFORBIDDEN.error.whatsappApiErrorpuede contener detalles adicionales de WhatsApp. No decidas qué debe hacer tu aplicación basándote en el texto legible por humanos demessage. - Para un fallo reportado más adelante, revisa el webhook del grupo. Dependiendo de la
operación, revisa
whatsappGroup.errors,failedParticipants[].errorsosettings[].errors.
Los fallos habituales del enlace de invitación también incluyen un enlace restablecido o caducado, un grupo lleno o un usuario que la empresa eliminó previamente. No reintentes solicitudes sin cambios indefinidamente.
Lista de comprobación de extremo a extremo
Antes de pasar a producción, usa un número de teléfono de prueba apto para completar este flujo completo:- Suscribe un endpoint de webhook de prueba a los cuatro tipos de eventos de grupo.
- Crea un grupo
approval_requiredy guarda elrequestIddevuelto. - Espera al evento
group_createcoincidente y guarda sugroupIdyinviteLink. - Envía la plantilla de invitación aprobada a un usuario de prueba.
- Haz que el usuario envíe una solicitud de unión.
- Recibe o lista la solicitud y, a continuación, aprueba su
joinRequestId. - Espera al evento de participante añadido.
- Recupera el grupo y confirma que el participante esté presente.
- Elimina al participante de prueba y confirma el resultado asíncrono.
- Elimina el grupo de prueba y confirma el evento de ciclo de vida.
Los ejemplos de esta guía siguen el contrato actual de la API de YCloud. Completa
esta lista de comprobación con éxito antes de usar la integración en producción.
Referencia de la API
Ejemplos de webhook
Eventos de ciclo de vida
Gestiona los resultados de creación y eliminación de grupos.
Eventos de participantes
Gestiona uniones, solicitudes de unión, eliminaciones y errores a nivel de participante.
Eventos de configuración
Gestiona los resultados de actualización del asunto y la descripción.
Eventos de estado
Gestiona los eventos de suspensión y de anulación de suspensión de grupos.

