API de Plantilla de Mensaje

Le permite enviar plantillas de mensajes de WhatsApp a contactos en la plataforma.

Se requiere token de canal para acceder a este recurso de API.

Los tokens se pueden generar usando el ícono de llave, al lado del canal deseado en Configuración.

Solicitudes

La API de plantilla de mensaje se compone de varios tipos de solicitudes:

Variable de ruta para la solicitud de API de plantilla de mensaje. contactcId es el número de teléfono del destinatario. El valor de muestra para diferentes socios de WhatsApp se enumera en la siguiente tabla.

Socio de WhatsAppDescripciónMuestra de Valor

360 Dialog

sin +

60123456789

Vonage

sin +

60123456789

MessageBird

sin +

60123456789

Twilio

whatsapp:<number with plus>

whatsapp:+60123456789

Antes de enviar un mensaje de plantilla a un contacto en la plataforma Telenet mediante la API de plantilla de mensajes, asegúrese de haber hecho lo siguiente:

  • Tener una plantilla de mensaje aprobada

  • Sincronizó las plantillas de mensajes con la plataforma Telenet

  • Use el contenido de la plantilla exacta como se configuró en WhatsApp Business Manager en el cuerpo de la solicitud para evitar cualquier discrepancia entre el mensaje enviado al contacto y el mensaje que aparece en el módulo de mensajes.

Envío de Plantilla de WhatsApp solo con Cuerpo de Texto

Esta solicitud envía una plantilla de mensaje con cuerpo de texto solo directamente al contacto según lo definido en el punto final.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de cuerpo de texto

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
    "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "bug_fixed",
                "languageCode": "en",
                "components": [
                    {
                        "type": "body",
                        "text": "Good news! 😀\nWe have fixed the bug that you reported, \nPlease run some tests and let us know how it worked."
                    }
                ]
            }
        }
    ]
}'

Formato de componente

CamposTipoObligatorioValor de Muestra

Tipo

Cadena

Si

cuerpo

texto

Cadena

Si

Esta es una plantilla de mensaje.

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []
}

Envío de Plantilla de WhatsApp con Parámetros de Cuerpo

Esta solicitud envía una plantilla de mensaje con parámetros de cuerpo directamente al contacto según lo definido en el punto final.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de parámetros del cuerpo

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
    "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "account100",
                "languageCode": "en",
                "components": [
                    {
                        "type": "body",
                        "text": "Hi {{1}}, your account has reached {{2}} of your contact limit.\nTo prevent losing conversations, increase your contact limit {{3}}. Feel free to reach out with any questions.",
                        "parameters": [
                            {
                                "type": "text",
                                "text": "Parameter 1"
                            },
                            {
                                "type": "text",
                                "text": "Parameter 2"
                            },
                            {
                                "type": "text",
                                "text": "Parameter 3"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato de componente

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

Cuerpo

texto

Cadena

Si

Esta es una plantilla de mensaje.

parámetros

Matriz

Si

Consulte la siguiente tabla de matriz de parámetros para obtener más información.

Matriz de Parámetros

CamposTipoObligatorioValor de Ejemplo

Tipo

Cadena

Si

texto

texto

Cadena

Si

Admite cualquier valor de texto sin formato, campos estándar, campos personalizados y formato

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []
}

Envío de Plantilla de WhatsApp con Encabezado

Esta solicitud envía una plantilla de mensaje con encabezado directamente al contacto según lo definido en el punto final.Please note that this API request is only available for 360 Dialog and Vonage.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de encabezado

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
    "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "account_update_en",
                "languageCode": "en",
                "components": [
                    {
                        "type": "header",
                        "format": "text",
                        "text": "Respond team is here for you"
                    },
                    {
                        "type": "body",
                        "text": "Hi, your account has been updated."
                    },
                    {
                        "type": "footer",
                        "text": "Have a nice day"
                    },
                    {
                        "type": "buttons",
                        "buttons": [
                            {
                                "type": "url",
                                "text": "Visit Us",
                                "url": "https://www.telenet/"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato de Componente

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

encabezamiento

formato

Cadena

Si

Consulte la tabla de formato de texto O imagen/documento/video

Formato de Texto

CamposTipoObligatorioValor de Ejemplo

texto

Cadena

Si

Este es un texto de encabezado

parámetros

Matriz

No

Tenga en cuenta que solo necesitamos incluir la matriz de parámetros si el texto del encabezado contiene parámetros. { tipo: "texto", texto: "parámetro 1 O @contact.field O @field.custom_field" }

Formato de Imagen / Documento / Video

CamposTipoObligatorioValor de Ejemplo

parámetros

Matriz

Si

Consulte el objeto de parámetro a continuación para obtener detalles sobre la matriz

Objeto de parámetro

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

imagen OR video OR documento

imagen OR documento OR video

Objecto

Si

Objeto de Imagen / Documento / Video

CamposTipoObligatorioValor de Ejemplo

link

Cadena

Si

Nombre de archivo

Cadena

No

muestra.jpg

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []
}

Envío de Plantilla de WhatsApp con Botones CTA

Esta solicitud envía una plantilla de mensaje con botones CTA directamente al contacto según lo definido en el punto final.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de botones CTA

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
     "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "delivery_order",
                "languageCode": "en",
                "components": [
                    {
                        "type": "header",
                        "format": "image",
                        "parameters": [
                            {
                                "type": "image",
                                "image": {
                                    "link": "https://picsum.photos/200/300"
                                }
                            }
                        ]
                    },
                    {
                        "type": "body",
                        "text": "Hi {{1}} your order {{2}} is on the way! To track your delivery, simply click on the delivery partner'\''s link or updates.",
                        "parameters": [
                            {
                                "type": "text",
                                "text": "abc"
                            },
                            {
                                "type": "text",
                                "text": "abc"
                            }
                        ]
                    },
                    {
                        "type": "footer",
                        "text": "For more inquiries, simply reply to this message."
                    },
                    {
                        "type": "buttons",
                        "buttons": [
                            {
                                "type": "url",
                                "text": "Track Your Parcel",
                                "url": "https://www.telenet/"
                            },
                            {
                                "type": "phone_number",
                                "text": "Customer Care",
                                "phone_number": "+60123456789"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato de Componente

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

botoness

botón

Matriz

Si

Consulte la tabla de objetos de botón a continuación para obtener detalles sobre la matriz

Objeto de Botón

CamposTipoObligatorioExample Value

tipo

Cadena

Si

url

texto

Cadena

Si

Botón de texto

url

Cadena

Si

Si el tipo de botón es "url", entonces debemos incluir esto, p.ej, https://telenet.pe

número de teléfono

Cadena

Si

Si el tipo de botón es "phone_number", entonces debemos incluir esto, p. +60123456789

parámetros

Matriz

Si

Si el tipo de botón es "url" y contiene parámetros, entonces debemos incluir el texto del parámetro, p. { tipo: "texto", texto: "button_parameter_text" }

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []

Envío de Plantilla de WhatsApp con Respuestas Rápidas

Esta solicitud envía una plantilla de mensaje con respuestas rápidas directamente al contacto según lo definido en el punto final.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de respuestas rápidas

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
     "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "account_update_en",
                "languageCode": "en",
                "components": [
                    {
                        "type": "header",
                        "format": "text",
                        "text": "Respond team is here for you"
                    },
                    {
                        "type": "body",
                        "text": "Hi, your account has been updated."
                    },
                    {
                        "type": "footer",
                        "text": "Have a nice day"
                    },
                    {
                        "type": "buttons",
                        "buttons": [
                            {
                                "type": "quick_reply",
                                "text": "Yes"
                            },
                            {
                                "type": "quick_reply",
                                "text": "No"
                            },
                            {
                                "type": "quick_reply",
                                "text": "Will confirm later"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato de Componente

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

botones

botón

Matriz

Si

Consulte la tabla de objetos de botón a continuación para obtener detalles sobre la matriz

Objeto de Botón

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

Respuesta rápida

texto

Cadena

Si

Opción de respuesta rápida 1

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []
}

Enviar Plantilla de WhatsApp con Pie de Página

Esta solicitud envía una plantilla de mensaje con pie de página directamente al contacto según lo definido en el punto final.

Ten en cuenta que esta solicitud de API solo está disponible para 360 Dialog y Vonage.

POST /v1/message/sendContent/{contactcId}

Ejemplo de plantilla POST con solicitud de pie de página

curl -X POST \ 
        'https://app.telenet/api/v1/message/sendContent/{{contactcId}}' \
        -H 'Authorization: Bearer {channel_token}' \
        -H 'Content-Type: application/json' \
        -d '{
     "body": [
        {
            "type": "whatsapp_template",
            "template": {
                "name": "account_update_en",
                "languageCode": "en",
                "components": [
                    {
                        "type": "header",
                        "format": "text",
                        "text": "Respond team is here for you"
                    },
                    {
                        "type": "body",
                        "text": "Hi, your account has been updated."
                    },
                    {
                        "type": "footer",
                        "text": "Have a nice day"
                    },
                    {
                        "type": "buttons",
                        "buttons": [
                            {
                                "type": "url",
                                "text": "Visit Us",
                                "url": "https://www.telenet/"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato de Componente

CamposTipoObligatorioValor de Ejemplo

tipo

Cadena

Si

pie de página

texto

Cadena

Si

Este es un texto de pie de página

Respuesta - Éxito (HTTP status → 201)

{
    "status": "success",
    "message": "Message Sent",
    "data": {
        "id": {{id}}
    },
    "trace": []
}

Códigos de Error

No autorizado (HTTP Status → 401)

  {
        "status": "error",
        "message": "API Token is invalid.",
        "data": []
  }

Demasiadas solicitudes (HTTP Status → 429)

  {
      "status": "error",
      "message": "Too many requests",
      "data": []
  }

Método no permitido (HTTP Status → 405)

  {
      "status": "error",
      "message": "405 Method Not Allowed.",
      "data": []
  }

General (HTTP Status → 403)

  {
      "status": "error",
      "message": "Message String",
      "data": []
  }

Tipo de Archivo no coincidente (HTTP Status → 403)

  {
      "status": "error",
      "message": "Sorry, Url provided is not an image/audio/video file",
      "data": []
  }

Preguntas Frecuentes

Plantilla de WhatsApp solo con cuerpo de texto

¿Qué sucede si envío un texto de plantilla que no coincide exactamente con el configurado en WhatsApp Business Manager?

El contacto recibirá la plantilla configurada en WhatsApp Business Manager. Sin embargo, en el módulo Mensajes de Telenet, aparecerá como enviado desde la API de mensajería. Para evitar esta discrepancia, le recomendamos que utilice el texto de plantilla exacto en el cuerpo de la solicitud.

¿Qué sucede si no incluyo texto con formato en la solicitud de API pero mi plantilla tiene formato incluido?

Al igual que en el caso anterior, el contacto recibirá la plantilla configurada en WhatsApp Business Manager. Sin embargo, en el módulo Mensajes de Telenet, aparecerá como enviado desde la API de mensajería. Para evitar esta discrepancia, le recomendamos que utilice el texto de plantilla exacto en el cuerpo de la solicitud.

Dado que el contacto siempre recibirá el mensaje configurado en WhatsApp Business Manager, ¿puedo omitir el texto al enviar la solicitud?

Si omite el texto, el contacto seguirá recibiendo el mensaje de plantilla deseado; sin embargo, no aparecerá en el módulo Mensajes de Telenet. Para evitar esta discrepancia, le recomendamos que utilice el texto de plantilla exacto en el cuerpo de la solicitud.

Plantilla de WhatsApp con parámetros corporales

¿Qué sucede si no incluyo los parámetros / tengo una cantidad incorrecta de parámetros en la solicitud?

El mensaje de la plantilla no se enviará al contacto y la API devolverá un código de error que se mostrará en el módulo Mensajes.

¿Qué sucede si uso un campo personalizado eliminado como valor de parámetro?

El mensaje de la plantilla aún se enviará, pero el valor del parámetro se tratará como una cadena literal en su lugar.

¿Puedo formatear los valores de los parámetros?

Sí, puede formatear los valores de los parámetros. Los formatos admitidos son negrita (por ejemplo, Parámetro 1), cursiva (Parámetro 1), monoespaciado (Parámetro 1) y tachado (Parámetro 1).

¿Puedo omitir el texto del cuerpo y solo incluir el número correcto de parámetros?

El contacto recibirá la plantilla configurada en WhatsApp Business Manager con los valores de los parámetros enviados. Sin embargo, en el módulo Mensajes de Telenet, aparecerá como enviado desde la API de mensajería. Para evitar esta discrepancia, le recomendamos que utilice el texto de plantilla exacto en el cuerpo de la solicitud.

Plantilla de WhatsApp con encabezado

¿Qué sucede si no incluyo los parámetros / tengo una cantidad incorrecta de parámetros en la solicitud?

El mensaje de la plantilla no se enviará al contacto y la API devolverá un código de error que se mostrará en el módulo Mensajes.

Si el encabezado no tiene parámetros, ¿puedo omitirlo de la solicitud?

Si omite el componente del encabezado de la solicitud, el contacto seguirá recibiendo el encabezado como parte del mensaje; sin embargo, el texto del encabezado no se reflejará en el módulo de Mensajes de Telenet. En vista de esto, es mejor incluir siempre el texto del encabezado en la API, así como sincronizar el comportamiento entre el módulo de Mensajes de Telenet y el contacto de WhatsApp.

¿Qué sucede si no incluyo valores de nombre de archivo para encabezados de tipo de imagen/video/documento?

Para archivos de imagen y video, el mensaje aún se enviará y se reflejará en consecuencia tanto en el teléfono de contacto como en el módulo de Mensajes de Telenet. Para el encabezado del tipo de documento, si se omite el nombre del archivo, el módulo Mensajes mostrará el documento correctamente, pero el mensaje de contacto mostrará el archivo adjunto como nulo.pdf. A la luz de esto, para mantener el comportamiento consistente, incluya el nombre del archivo como mejor práctica

¿Qué formato debe tener la URL de la imagen/video/documento?

La URL de imagen/video/documento debe ser una URL válida con formato http/https y debe poder resolverse. Antes de incluir la URL de la imagen, intente abrir la URL de la imagen en una ventana del navegador y asegúrese de que la imagen esté cargada para asegurarse de que funciona correctamente.

Plantilla de WhatsApp con botones CTA

¿Qué sucede si no incluyo los parámetros / tengo una cantidad incorrecta de parámetros en la solicitud?

El mensaje de la plantilla no se enviará al contacto y la API devolverá un código de error que se mostrará en el módulo Mensajes.

¿Qué sucede si no incluyo/incluyo parcialmente las opciones de los botones si los botones no incluyen parámetros?

El mensaje enviado al contacto seguirá conteniendo todos los botones configurados en WhatsApp Business Manager. Sin embargo, el módulo Mensajes en Telenet no reflejará esto y puede causar una falta de coincidencia. En vista de esto, es mejor tener el componente de botón incluido en el cuerpo de la solicitud.

Plantilla de WhatsApp con respuestas rápidas

¿Qué sucede si no incluyo/incluyo parcialmente las opciones de respuesta rápida?

El mensaje enviado al contacto seguirá conteniendo todas las respuestas rápidas configuradas en WhatsApp Business Manager. Sin embargo, el módulo Mensajes en Telenet no reflejará esto y puede causar una falta de coincidencia. En vista de esto, es mejor tener el texto de respuesta rápida incluido en el cuerpo de la solicitud.

¿Qué sucede si la opción de respuestas rápidas no coincide?

El mensaje enviado al contacto seguirá conteniendo todas las respuestas rápidas configuradas en WhatsApp Business Manager. Sin embargo, el módulo Mensajes en Telenet no reflejará esto y puede causar una falta de coincidencia. En vista de esto, es mejor que el texto de respuesta rápida coincida con los valores configurados en WhatsApp Business Manager.

Plantilla de WhatsApp con pie de página

¿Puedo omitir el componente de pie de página de la solicitud ya que es estático?

Si omite el componente de pie de página de la solicitud, el contacto seguirá recibiendo el pie de página como parte del mensaje; sin embargo, el texto del pie de página no se reflejará en el módulo Mensajes de Telenet. En vista de esto, es mejor incluir siempre el texto del pie de página en la API, así como sincronizar el comportamiento entre el módulo de Mensajes de Telenet y el contacto de WhatsApp.

¿Qué sucede si envío un pie de página que no coincide exactamente con el configurado en WhatsApp Business Manager?

El contacto recibirá la plantilla configurada en WhatsApp Business Manager. Sin embargo, en el módulo Mensajes de Telenet, aparecerá como enviado desde la API de mensajería. Para evitar esta discrepancia, le recomendamos que utilice el texto de plantilla exacto en el cuerpo de la solicitud.

Last updated