Los endpoints de administración de grupos (crear, eliminar, listar, etc.) usan un token distinto al de mensajería, obtenido con el endpoint de esta página. Para enviar mensajes, fijar o desfijar mensajes en un grupo se reutiliza el mismo token ya documentado en Generar Token de Autenticación.
Generar token de administración de grupos
Petición generar token
| |
|---|
| URL | https://{{url}}/authorization-server/services/v1/auth/token |
| Método | GET |
Encabezados generar token
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| Api-Key | Valor proporcionado por Concepto Móvil. | String | Obligatorio |
| Api-Token | Valor proporcionado por Concepto Móvil. | String | Obligatorio |
Crear grupo
Solo los números de teléfono elegibles pueden crear grupos (ver requisitos en Grupos).
Petición crear grupo
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{wa_phone_number}} |
| Método | POST |
| Tipo | application/json |
Parámetros crear grupo
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| wa_phone_number | Número de teléfono propietario del grupo. | String | Obligatorio |
Cuerpo crear grupo
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| subject | Asunto del grupo. Máximo 128 caracteres (no se contabiliza el espacio en blanco). | String | Obligatorio |
| description | Descripción del grupo. Máximo 2048 caracteres. | String | Obligatorio |
| join_approval_mode | Indica si los usuarios que hacen clic en el enlace de invitación pueden unirse al grupo con o sin aprobación previa. Valores: approval_required: deben aprobarse mediante una solicitud antes de poder acceder.auto_approve: se unen sin aprobación.
| String | Obligatorio |
Petición eliminar grupo
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}} |
| Método | DELETE |
Parámetros eliminar grupo
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo a eliminar. | String | Obligatorio |
Aceptar solicitudes para unirse al grupo
Aplica únicamente a grupos creados con join_approval_mode en modo de aprobación requerida. Permite aprobar en lote las solicitudes pendientes de los usuarios que desean unirse mediante el enlace de invitación.
Petición aceptar solicitudes
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/join_requests |
| Método | POST |
| Tipo | application/json |
Parámetros aceptar solicitudes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Cuerpo aceptar solicitudes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| join_requests | Lista de identificadores (join_request_id) de las solicitudes a aprobar. | Lista objetos | Obligatorio |
Obtener solicitudes para unirse al grupo
Devuelve la lista paginada de solicitudes de unión abiertas para un grupo con aprobación requerida.
Petición obtener solicitudes
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/join_requests |
| Método | GET |
Parámetros obtener solicitudes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Rechazar solicitudes para unirse al grupo
Rechaza en lote una o más solicitudes de unión pendientes, identificadas por su join_request_id.
Petición rechazar solicitudes
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/join_requests |
| Método | PUT |
| Tipo | application/json |
Parámetros rechazar solicitudes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Cuerpo rechazar solicitudes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| join_requests | Lista de identificadores de las solicitudes de unión a rechazar. | Lista objetos | Obligatorio |
Obtener enlace de invitación del grupo
Devuelve el enlace de invitación vigente del grupo. Siempre comienza con el prefijo https://chat.whatsapp.com/.
Petición obtener enlace
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/invite_link |
| Método | GET |
Parámetros obtener enlace
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Restablecer enlace de invitación del grupo
Genera un nuevo enlace de invitación e invalida de inmediato el anterior. Útil cuando el enlace previo se compartió de forma no deseada; los usuarios que ya son parte del grupo no se ven afectados.
Petición restablecer enlace
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/invite_link |
| Método | PUT |
Parámetros restablecer enlace
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Eliminar participantes del grupo
Elimina uno o más participantes del grupo (máximo 8 por petición). No existe un endpoint para agregar participantes: la incorporación siempre ocurre por invitación. Un usuario eliminado no puede volver a unirse al mismo grupo. La operación es asíncrona: la petición devuelve un request_id y el resultado se confirma por webhook.
Petición eliminar participantes
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}}/participants |
| Método | PUT |
| Tipo | application/json |
Parámetros eliminar participantes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Cuerpo eliminar participantes
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| participants | Arreglo de números de teléfono o WhatsApp IDs a eliminar. Máximo 8. No puede estar vacío. | Array | Obligatorio |
Actualizar configuración del grupo
Actualiza el asunto y/o la descripción del grupo. La operación es asíncrona: la petición devuelve un request_id y el resultado (éxito, éxito parcial o error por cada campo) se confirma por webhook.
Petición actualizar configuración
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}} |
| Método | PUT |
| Tipo | application/json |
Parámetros actualizar configuración
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Cuerpo actualizar configuración
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| subject | Nuevo asunto del grupo. Máximo 128 caracteres. No debe estar vacío si se envía. | String | Opcional |
| description | Nueva descripción del grupo. Máximo 2048 caracteres. | String | Opcional |
Actualizar foto de perfil del grupo
Actualiza la foto de perfil del grupo. La imagen debe ser image/jpeg, cuadrada (alto = ancho), con un tamaño mínimo de 192x192 px y máximo de 5MB. La operación es asíncrona: la petición devuelve un request_id y el resultado se confirma por webhook (campo profile_picture).
Petición actualizar foto
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{group_id}} |
| Método | PUT |
| Tipo | multipart/form-data |
Parámetros actualizar foto
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| group_id | ID del grupo. | String | Obligatorio |
Cuerpo actualizar foto
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| file | Archivo de imagen para la foto de perfil. Solo image/jpeg. Máximo 5MB. Cuadrada, mínimo 192x192 px. | File | Obligatorio |
Obtener grupos activos
Devuelve la lista de grupos activos asociados a un número de teléfono, con paginación mediante cursores after/before.
Petición obtener grupos activos
| |
|---|
| URL | https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/group/{{waba}}/{{wa_phone_number}}/groups?limit=25 |
| Método | GET |
Parámetros obtener grupos activos
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| waba | ID de la cuenta de WhatsApp Business. | String | Obligatorio |
| wa_phone_number | Número de teléfono propietario del grupo. | String | Obligatorio |
| limit | Número de grupos a obtener. Mínimo 1, predeterminado 25, máximo 1024. | Integer | Opcional |
| after | Cursor que apunta al final de una página de datos. | String | Opcional |
| before | Cursor que apunta al inicio de una página de datos. | String | Opcional |
Petición enviar mensaje
| |
|---|
| URL | http://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging |
| Método | POST |
Cuerpo enviar mensaje
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| recipient_type | Tipo de destinatario. "group" si el mensaje va dirigido a un grupo, "individual" para una conversación 1:1. Valor por defecto: "individual". | String | Opcional |
Fijar mensaje en un grupo
Fija un mensaje en el grupo para resaltar su relevancia. Solo el administrador del grupo puede fijar o desfijar mensajes. Puede haber un máximo de 3 mensajes fijados a la vez; si ya existen 3, el mensaje fijado más antiguo se desfija automáticamente.
Petición fijar mensaje
| |
|---|
| URL | http://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging |
| Método | POST |
| Tipo | application/json |
Cuerpo fijar mensaje
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| recipient_type | Tipo de destinatario. Para grupos el valor debe ser "group". | String | Obligatorio |
| to | ID del grupo en el que se fija el mensaje. | String | Obligatorio |
| type | Tipo de operación de mensaje. Para fijar o desfijar el valor es "pin". | String | Obligatorio |
| pin.type | Operación a realizar. Para fijar el valor es "pin". | String | Obligatorio |
| pin.message_id | Identificador único del mensaje a fijar. | String | Obligatorio |
| pin.expiration_days | Duración de la fijación en días (1 a 30). | Integer | Obligatorio al fijar |
Desfijar mensaje en un grupo
Desfija un mensaje previamente fijado. Solo el administrador del grupo puede desfijar mensajes. Se usa el mismo tipo "pin", indicando la operación "unpin" en pin.type; a diferencia de fijar, no se envía expiration_days.
Petición desfijar mensaje
| |
|---|
| URL | http://{{url}}/whatsapp-bsp-api-endpoint-ws/services/v1/messaging |
| Método | POST |
| Tipo | application/json |
Cuerpo desfijar mensaje
| Nombre | Descripción | Tipo | Requerimientos |
|---|
| recipient_type | Tipo de destinatario. Para grupos el valor debe ser "group". | String | Obligatorio |
| to | ID del grupo en el que se desfija el mensaje. | String | Obligatorio |
| type | Tipo de operación de mensaje. Para fijar o desfijar el valor es "pin". | String | Obligatorio |
| pin.type | Operación a realizar. Para desfijar el valor es "unpin". | String | Obligatorio |
| pin.message_id | Identificador único del mensaje a desfijar. | String | Obligatorio |