Skip to content

Estado de envío de mensaje con plantilla

GET /api/v1/message_templates/send-status

Este endpoint permite consultar el estado de envío de un mensaje enviado previamente utilizando una plantilla predefinida de WhatsApp.

Las plantillas aseguran que los mensajes enviados mantengan un formato estructurado, cumpliendo con las políticas de la API de WhatsApp Business. A través de este endpoint, se puede verificar si el mensaje fue entregado, leído o si falló durante el proceso de envío.

Este proceso es útil para el seguimiento de notificaciones automatizadas, recordatorios o confirmaciones de citas enviadas mediante plantillas.

La solicitud se realiza mediante el método GET, incluyendo como parámetros el número de origen, el destinatario y el identificador del mensaje enviado. A continuación, se detalla su uso, junto con los parámetros requeridos, ejemplos de solicitud y la estructura de la respuesta.

ℹ Recuerda que:

La URL base para todas las solicitudes es: https://tu-dominio.c3.pe

Importante: reemplaza tu-dominio por el nombre de dominio específico que te haya proporcionado C3.

Solicitud

Cabeceras

EncabezadoTipoObligatorioDescripción
AuthorizationString✅ SíToken de autenticación (Bearer Token).

Parámetros de Consulta

ParámetroTipoObligatorioDescripción
from_datestring✅ SíFecha y hora de inicio en formato YYYY-MM-DD HH:MM:SS.
to_datestring✅ SíFecha y hora de fin en formato YYYY-MM-DD HH:MM:SS.
wa_numberstring✅ SíNúmero de WhatsApp desde el que se enviaron los mensajes.
update_idstring❌ NoID único del envío generado por el sistema (por ejemplo, msg_c3api_...).
with_paginationint❌ NoIndica si se debe incluir paginación en la respuesta (1 para activarlo).
per_pageint❌ NoCantidad de registros por página (por defecto 15).
pageint❌ NoNúmero de página a consultar (por defecto 1).

Ejemplo de solicitud completa

http
GET /api/v1/message_templates/send-status?wa_number=5115937474&from_date=2025-05-01 &to_date=2025-05-31&with_pagination=1

Respuesta

Respuesta Base 200

json
{
    "message": "Listado de mensajes",
    "data": [
        {
            "id": 61516,
            "created_at": "2025-05-27 10:40:21",
            "sender": "C3API",
            "update_id": "msg_c3api_1748360418",
            "status": "FAILED",
            "reason": "Message undeliverable",
            "customer_number": "51975116632",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        },
        {
            "id": 61517,
            "created_at": "2025-05-27 10:51:57",
            "sender": "C3API",
            "update_id": "msg_c3api_1748361117",
            "status": "DELIVERED",
            "reason": "Ok",
            "customer_number": "51975116638",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        },
        {
            "id": 61560,
            "created_at": "2025-05-27 17:12:14",
            "sender": "C3API",
            "update_id": "msg_c3api_1748383934",
            "status": "FAILED",
            "reason": "Message undeliverable",
            "customer_number": "51975116632",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        }
    ]
}

Respuesta con paginación 200

json
{
    "message": "Listado de mensajes",
    "data": [
        {
            "id": 61516,
            "created_at": "2025-05-27 10:40:21",
            "sender": "C3API",
            "update_id": "msg_c3api_1748360418",
            "status": "FAILED",
            "reason": "Message undeliverable",
            "customer_number": "51975116632",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        },
        {
            "id": 61517,
            "created_at": "2025-05-27 10:51:57",
            "sender": "C3API",
            "update_id": "msg_c3api_1748361117",
            "status": "DELIVERED",
            "reason": "Ok",
            "customer_number": "51975116638",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        },
        {
            "id": 61560,
            "created_at": "2025-05-27 17:12:14",
            "sender": "C3API",
            "update_id": "msg_c3api_1748383934",
            "status": "FAILED",
            "reason": "Message undeliverable",
            "customer_number": "51975116632",
            "type": "template",
            "payload": {
                "name": "recuperar_cliente",
                "category": "MARKETING",
                "components": [
                    {
                        "text": "Estimado cliente, sabemos que deseas comunicarte con nosotros, por favor avísame si podemos conversar ahora.",
                        "type": "BODY"
                    }
                ]
            }
        }
    ],
    "pagination": {
        "total_items": 3,
        "items_per_page": 15,
        "current_page": 1,
        "total_pages": 1
    }
}

Definición de atributos

CampoTipoDescripción
messageStringMensaje de respuesta del servidor.
data.idIntegerIdentificador del mensaje.
data.created_atString (datetime)Fecha y hora de creación del mensaje.
data.senderStringOrigen del mensaje (ej. "C3API").
data.update_idStringIdentificador único de la actualización o evento.
data.statusStringEstado del mensaje (ej. "SENDED", "DELIVERED", "READED", "FAILED").
data.reasonStringMotivo o resultado asociado al estado del mensaje.
data.customer_numberStringNúmero de WhatsApp del cliente.
data.typeStringTipo de mensaje (ej. "text").
data.payloadObjectDatos adicionales del mensaje.
data.payload.nameStringNombre de la plantilla o contenido enviado.
data.payload.categoryStringCategoría del mensaje.
data.payload.componentsArrayLista de componentes del mensaje.
paginationObjectInformación de la paginación.
pagination.total_itemsIntegerTotal de elementos encontrados.
pagination.items_per_pageIntegerElementos por página.
pagination.current_pageIntegerPágina actual.
pagination.total_pagesIntegerTotal de páginas.

Errores generales

Código HTTPTipoCausa común
401UnauthorizedEl token de acceso no fue proporcionado en el encabezado Authorization, es inválido o ha sido revocado. Verifique que el token sea correcto y esté activo.
422Unprocessable EntityLa solicitud fue entendida, pero contiene errores semánticos que impiden su procesamiento. Esto puede deberse a:
1. Parámetros faltantes o inválidos (ej, from_date no es una fecha válida);
2. Recurso inexistente (wa_number no registrado en el sistema);
3. Violación de reglas de negocio (el rango de fechas excede el límite permitido).
500Server ErrorError interno del servidor. Intenta nuevamente más tarde o contacta soporte técnico.