# WhatsApp

# POST Mensaje con plantilla

Requisitos:

Contar con token de sesión obtenido del servicio Generar token de sesión.

Contar con número aprobado de WhatsApp Bussines dato de alta en la plataforma web APP Enviamas. Ver aquí

Contar con una plantilla de mensaje de WhatsApp aprobada. Ver aquí

WhatsApp permite iniciar una conversación hacia un destinatario haciendo uso de una plantilla de mensaje. Dichas plantillas se gestionan desde la plataforma web APP Enviamas. Vea el siguiente tutorial.

# Ejemplo de plantilla aprobada:

Tables Are
WhatsApp Business number 51999888777
Plantilla “Hola {VAR1}, aprovecha nuestra semana de descuentos! Adquiere una bolsa de SMS en nuestra plataforma omnicanal con un dscto de {VAR2}%. Ingresa a www.enviamas.pe"
Identificador de plantilla 1eea5bfc-4bb0-49c3-af9a-870c804b6d7e

# Endpoint

https://api.enviamas.pe/api/whatsapp/message_template

# Headers

Tables Are
Type POST
Content-Type application/json
Authorization Bearer token de sesión

# Payload

{
    "source": 51999888777,  //WhatsApp Business number
    "destination": 51957314449, //Destinatario
    "template": {
        "id": "1eea5bfc-4bb0-49c3-af9a-870c804b6d7e", //Identificador de plantilla
        "data": ["Marco", "30"]  //Variables
    }
}

# Response





 




{
    "success": true,
    "message": "Procesando mensaje",
    "data": {
        "message_id": "d1dc1ce4-c89f-4aa0-b200-6585f6a22799",
        "conversation_id": "4324"
    }
}

# GET Reporte mensaje

Requisitos:

Contar con token de sesión obtenido del servicio Generar token de sesión.

# Endpoint

https://api.enviamas.pe/api/whatsapp/report/message/{message_id}

# Headers

Tables Are
Type GET
Content-Type application/json
Authorization Bearer token de sesión

# Response








 





{
    "success": true,
    "message": "Se encontró el mensaje",
    "data": {
        "message_id": "aab505bf-df99-4657-a33d-38ac21283ca6",
        "phone": "51940690051",
        "message":"{\"type\":\"text\",\"payload\":{\"text\":\"*Ahora ingresa el n\úmero de la opci\ón de la acci\ón que deseas realizar:* \\n\\n1\️\⃣ Movimiento a primera posici\ón. \\n2\️\⃣ Recojo de equipo de fr\ío. \\n3\️\⃣ Cambio de raz\ón social.\\n4\️\⃣ Asignaci\ón de equipo de fr\ío.\\n5\️\⃣ Registrar equipo de fr\ío.\\n6\️\⃣ Solicitud linea de credito.\",\"context\":null}}",
        "status": "READ",
        "type": "outbound",
        "created_at": "2024-03-20T19:41:56.000000Z"
    }
}

# GET Reporte campañas

Requisitos:

Contar con token de sesión obtenido del servicio Generar token de sesión.

# Endpoint

https://api.enviamas.pe/api/whatsapp/report/campaigns/{campaign_id}

# Headers

Tables Are
Type GET
Content-Type application/json
Authorization Bearer token de sesión

# Response

{
    "success": true,
    "message": "Reporte obtenido exitosamente",
    "data": [
        {
            "id": 1000001,
            "message": "{\"type\":\"text\",\"payload\":{\"text\":\"Estimado(a) CLIENTE, le saludamos desde XYZ. \\nLe recordamos su cita el día 15/02/2025 a las 10:30:00 con el Dr. Juan Pérez de la especialidad de Cardiología en nuestra sede Principal.\\n\\n*Seleccione una opción para responder:*\\n1️⃣ Confirmar asistencia\\n2️⃣ Cancelar cita\"}}",
            "type": "outbound",
            "conversation_id": "2001001",
            "credit": "0.005",
            "phone": "51987654321",
            "status": "READ",
            "reason": "Enviado satisfactoriamente",
            "payload": "{\"source\":\"51912345678\",\"destination\":\"51987654321\",\"template\":\"{\\\"id\\\":\\\"template-id-123\\\",\\\"params\\\":[\\\"CLIENTE\\\",\\\"15/02/2025\\\",\\\"10:30:00\\\",\\\"Juan Pérez\\\",\\\"Cardiología\\\",\\\"Sede Principal\\\"]}\"}",
            "response": "{\"status\":\"submitted\",\"messageId\":\"0ecb296d-c254-48b7-baf5-0d28e597c495\"}",
            "state": "queue",
            "message_id": "0ecb296d-c254-48b7-baf5-0d28e597c495",
            "user_id": 3001,
            "channel_id": "whatsapp",
            "campaign_id": 500101,
            "created_at": "2025-02-10T14:20:00.000000Z",
            "updated_at": "2025-02-10T14:21:00.000000Z",
            "reaction": null,
            "variables": "{\"VAR1\": \"CLIENTE\", \"VAR2\": \"15/02/2025\", \"VAR3\": \"10:30:00\", \"VAR4\": \"Juan Pérez\", \"VAR5\": \"Cardiología\", \"VAR6\": \"Sede Principal\", \"VAR7\": 101010, \"VAR8\": \"\", \"number\": \"987654321\"}"
        },
        {
            "id": 1000002,
            "message": "{\"type\":\"text\",\"payload\":{\"text\":\"Estimado(a) PACIENTE, le saludamos desde Empresa XYZ. \\nLe recordamos su cita el día 18/02/2025 a las 14:00:00 con la Dra. Ana López de la especialidad de Dermatología en nuestra sede Norte.\\n\\n*Seleccione una opción para responder:*\\n1️⃣ Confirmar asistencia\\n2️⃣ Cancelar cita\"}}",
            "type": "outbound",
            "conversation_id": "2001002",
            "credit": "0.005",
            "phone": "51911223344",
            "status": "READ",
            "reason": "Enviado satisfactoriamente",
            "payload": "{\"source\":\"51912345678\",\"destination\":\"51911223344\",\"template\":\"{\\\"id\\\":\\\"template-id-456\\\",\\\"params\\\":[\\\"PACIENTE\\\",\\\"18/02/2025\\\",\\\"14:00:00\\\",\\\"Ana López\\\",\\\"Dermatología\\\",\\\"Sede Norte\\\"]}\"}",
            "response": "{\"status\":\"submitted\",\"messageId\":\"0ecb296d-c254-48b7-baf5-0d28e597c495\"}",
            "state": "queue",
            "message_id": "0ecb296d-c254-48b7-baf5-0d28e597c495",
            "user_id": 3001,
            "channel_id": "whatsapp",
            "campaign_id": 500101,
            "created_at": "2025-02-10T14:25:00.000000Z",
            "updated_at": "2025-02-10T14:26:30.000000Z",
            "reaction": null,
            "variables": "{\"VAR1\": \"PACIENTE\", \"VAR2\": \"18/02/2025\", \"VAR3\": \"14:00:00\", \"VAR4\": \"Ana López\", \"VAR5\": \"Dermatología\", \"VAR6\": \"Sede Norte\", \"VAR7\": 202020, \"VAR8\": \"\", \"number\": \"911223344\"}"
        }
    ]
}

# WEBHOOK Mensajes entrantes

Este servicio permite a EnviaMas entregar a nuestros clientes la información correspondiente a un mensaje entrante Whatsapp API , esto se realiza mediante una ejecución POST a un EndPoint que el cliente deberá habilitar para recibir estas notificaciones. La entrega de los status se dará en los próximos segundos de enviado el mensaje.

El EndPoint deberá permitir recibir solicitudes de cualquier dirección IP, y responder a cada solicitud con un código 200 dentro de los 5 primeros segundos, de lo contrario se marcará como no entregado y no se volverá a enviar.

Para configurar el endpoint en el cual se recibirá las notificaciones, deberá ingresar la URL, y si corresponde el usuario y contraseña para la autenticación Basic Auth.

# payload

{
  "message_id": 2951391,
  "message": {
    "type": "text",
    "payload": {
      "text": "hola"
    }
  },
  "phone": "51987654321",
  "conversation_id": 957952,
  "status": "RECEIVED"
}

# WEBHOOK Status de mensajes

Este servicio permite a EnviaMas entregar a nuestros clientes el status de un mensaje Whatsapp API enviado por el usuario, esto se realiza mediante una ejecución POST a un EndPoint que el cliente deberá habilitar para recibir estas notificaciones. La entrega de los status se dará en los próximos segundos de enviado el mensaje.

El EndPoint deberá permitir recibir solicitudes de cualquier dirección IP, y responder a cada solicitud con un código 200 dentro de los 5 primeros segundos, de lo contrario se marcará como no entregado y no se volverá a enviar.

Para configurar el endpoint en el cual se recibirá las notificaciones, deberá ingresar la URL, y si corresponde el usuario y contraseña para la autenticación Basic Auth.

# payload

{
  "campaign_id": 280211,
  "status": "FAILED" | "SENT" | "DELIVERED" | "READ" 
}