API Mensajes de plantillas

El token del canal es necesario para acceder a este recurso de la API.

Los tokens se pueden generar utilizando el icono de la llave, junto al canal deseado en Configuración.

Solicitudes

La API de plantillas de mensajes se compone de varios tipos de solicitudes:

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

WhatsApp PartnerDescripción Ejemplo del número

360 Dialog

Sin +

60123456789

Vonage

Sin +

60123456789

MessageBird

Sin +

60123456789

Twilio

whatsapp:<número sin +>

whatsapp:+60123456789

Antes de enviar un mensaje de plantilla a un contacto en la plataforma bonychat.com utilizando la API de mensajes de plantillas, asegúrese de haber hecho lo siguiente:

  • Tener una plantilla de mensaje aprobada

  • Sincronizar las plantillas de mensajes con la plataforma bonychat.com

  • Utilice el contenido exacto de la plantilla configurada en WhatsApp Business Manager en el cuerpo de la solicitud para evitar cualquier desajuste entre el mensaje enviado al contacto y el que aparece en el módulo de mensajes.

Enviar un mensaje de plantilla de WhatsApp con texto en el contenido

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

POST /v1/message/sendContent/{contactcId}

Plantilla POST de muestra con solicitud de texto del cuerpo

curl -X POST \ 
        'https://app.bony.chat/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 los componentes

CamposTipoObligatorioValor de Muestra

tipo

Cadena

cuerpo

texto

Cadena

Es un mensaje de plantilla

Respuesta: Éxito (Estado HTTP → 201)

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

Enviar mensaje de plantilla de WhatsApp con parámetros en el contenido

Esta solicitud envía una plantilla de mensaje con parámetros de cuerpo directamente al contacto según se define en el extremo.

POST /v1/message/sendContent/{contactcId}

Muestra POST: Solicitud de mensaje de plantilla con parámetros en el contenido

curl -X POST \ 
        'https://app.bony.chat/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 del componente

CamposTipoObligatorioValor de Muestra

tipo

Cadena

contenido

texto

Cadena

Este es un mensaje de plantilla

parámetros

Matriz

Consulte la tabla de matriz de parámetros a continuación para obtener más detalles.

Matriz de parámetros

CamposTipoObligatorioExample Value

tipo

Cadena

texto

texto

Cadena

Supports any plain text values, standard fields, custom fields as well as formatting

Respuesta: Éxito (Estado HTTP → 201)

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

Enviar mensaje de plantilla con encabezado

Esta solicitud envía una plantilla de mensaje con encabezado directamente al contacto según se define en el extremo.

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

POST /v1/message/sendContent/{contactcId}

Muestra POST: Solicitud de mensaje de plantilla con encabezado

curl -X POST \ 
        'https://app.bony.chat/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.bomy.chat/"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato del componente

CamposTipoObligatorioValor de Muestra

tipo

Cadena

encabezado

formato

Cadena

Consulte la tabla de Formato de texto O Imagen / Documento / Vídeo.

Formato de texto

CamposTipoObligatorioValor de Muestra

texto

Cadena

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 { escriba: "text", text: "parameter 1 O @contact.field O @field.custom_field" }

Formato de imagen, documento y video

CamposTipoObligatorioValor de Muestra

parámetros

Matriz

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

Objeto de parámetro

CamposTipoObligatorioValor de Muestra

tipo

Cadena

imagen O documento O video

imagen O documento O video

Objeto

Consulte la siguiente tabla para obtener más información sobre el objeto.

Objeto de imagen, documento y video

CamposTipoObligatorioValor de Muestra

enlace

Cadena

fichero

Cadena

No

muestra.jpg

Respuesta: Éxito (Estado HTTP → 201)

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

Enviar mensajes de plantilla de WhatsApp con botones de llamada a la acción

Esta solicitud envía una plantilla de mensaje con botones de llamada a la acción directamente al contacto según se define en el punto final.

POST /v1/message/sendContent/{contactcId}

Muestra POST: Solicitud de mensaje de plantilla con botones de llamada a la acción

curl -X POST \ 
        'https://app.bony.chat/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.okeybot.com/"
                            },
                            {
                                "type": "phone_number",
                                "text": "Customer Care",
                                "phone_number": "+60123456789"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato del componente

CamposTipoObligatorioValor de Muestra

tipo

Cadena

botones

botón

Matriz

Consulte la tabla de objetos de botón a continuación para obtener más detalles sobre la matriz.

Objeto del botón

CamposTipoObligatorioExample Value

tipo

Cadena

url

texto

Cadena

Texto del botón

url

Cadena

Si el tipo de botón es "url", entonces necesitamos incluir esto, p. ej. bonychat.com

número de teléfono

Cadena

Si el tipo de botón es "número de teléfono", entonces necesitamos incluir esto, por ejemplo, +60123456789

parámetros

Matriz

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

Respuesta: Éxito (Estado HTTP → 201)

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

Enviar mensajes 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 se define en el punto final.

POST /v1/message/sendContent/{contactcId}

Muestra POST: Solicitud de mensaje de plantilla con respuestas rápidas

curl -X POST \ 
        'https://app.bony.chat/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 del componente

CamposTipoObligatorioValor de Muestra

tipo

Cadena

botones

botón

Matriz

Consulte la tabla de objetos de botón a continuación para obtener más detalles sobre la matriz.

Objeto del botón

CamposTipoObligatorioValor de Muestra

tipo

Cadena

respuesta_rápida

texto

Cadena

Respuesta rápida Opción 1

Respuesta: Éxito (Estado HTTP → 201)

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

Enviar mensaje de 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 se define en el extremo.

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

POST /v1/message/sendContent/{contactcId}

Muestra POST: Solicitud de mensaje de plantilla con pie de página

curl -X POST \ 
        'https://app.bony.chat/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.okeybot.com/"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}'

Formato del componente

CamposTipoObligatorioValor de muestra

tipo

Cadena

pie de página

texto

Cadena

Este es un texto de pie de página.

Respuesta: Éxito (Estado HTTP → 201)

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

Códigos de error

No autorizado (Estado HTTP → 401)

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

Demasiadas solicitudes (Estado HTTP → 429)

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

Método no permitido (Estado HTTP → 405)

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

General (Estado HTTP → 403)

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

Tipo de archivo no compatible (Estado HTTP → 403)

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

Preguntas frecuentes

Mensaje de plantila de WhatsApp con sólo texto en el contenido

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

El contacto recibirá la plantilla tal y como está configurada en el Administrador de negocios de WhatsApp. Sin embargo, en el módulo de Mensajes de BonyChat, aparecerá como enviado desde la API de mensajería. Para evitar este desajuste, le recomendamos que utilice el texto exacto de la plantilla 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 tal y como se configuró en el Administrador de negocios de WhatsApp. Sin embargo, en el módulo de Mensajes de BonyChataparecerá como enviado desde la API de mensajería. Para evitar este desajuste, le recomendamos que utilice el texto exacto de la plantilla 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 previsto, sin embargo, no aparecerá en el Módulo de mensajes de BonyChat. Para evitar este desajuste, le recomendamos que utilice el texto exacto de la plantilla en el cuerpo de la solicitud.

Mensajes de plantilla de WhatsApp con parámetros en el contenido

¿Qué sucede si no incluyo los parámetros / tengo un número incorrecto de parámetros en la solicitud?

El mensaje de plantilla no se enviará al contacto y se devolverá un código de error de la API, que también 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 se seguirá enviando, 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), monoespacio (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 tal y como está configurada en WhatsApp Business Manager con los valores de los parámetros enviados. Sin embargo, en el módulo de Mensajes de BonyChat, aparecerá como enviado desde la API de mensajería. Para evitar este desajuste, le recomendamos que utilice el texto exacto de la plantilla en el cuerpo de la solicitud.

Mensajes de plantilla de WhatsApp con encabezado

¿Qué sucede si no incluyo los parámetros / tengo un número incorrecto de parámetros en la solicitud?

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

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

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

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

Para los archivos de imagen y vídeo, el mensaje se seguirá enviando y se reflejará en consecuencia tanto en el teléfono de contacto como en el Módulo de mensajes. Para el encabezado de tipo de documento, si se omite el nombre de 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 práctica recomendada.

¿Qué formato debe tener la URL de imagen / vídeo / documento?

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

Mensajes de plantilla de WhatsApp con botones de llamada a la acción

¿Qué sucede si no incluyo los parámetros / tengo un número incorrecto de parámetros en la solicitud?

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

¿Qué sucede si no incluyo / incluyo parcialmente opciones de 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 de Mensajes en BonyChat no reflejará esto y puede causar un desajuste. En vista de esto, es mejor tener el componente de botón incluido en el cuerpo de la solicitud.

Mensajes de plantilla de WhatsApp con respuestas rápidas

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

El mensaje enviado al contacto seguirá conteniendo toda la respuesta rápida configurada en WhatsApp Business Manager. Sin embargo, el módulo de Mensajes en BonyChat no reflejará esto y puede causar un desajuste. En vista de esto, es mejor incluir el texto de respuesta rápida en el cuerpo de la solicitud.

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

El mensaje enviado al contacto seguirá conteniendo toda la respuesta rápida configurada en WhatsApp Business Manager. Sin embargo, el módulo de Mensajes en BonyChat no reflejará esto y puede causar un desajuste. En vista de esto, lo mejor es que el texto de respuesta rápida coincida con los valores configurados en WhatsApp Business Manager

Mensajes de plantilla de WhatsApp con pie de página

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

Si omites el componente 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 Módulo de mensajes. En vista de esto, es mejor incluir siempre el texto del pie de página en la API para sincronizar el comportamiento entre el Módulo de mensajes y contacto de WhatsApp.

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

El contacto recibirá la plantilla tal y como está configurada en el Administrador de negocios de WhatsApp. Sin embargo, en el módulo de Mensajes de BonyChat, aparecerá como enviado desde la API de mensajería. Para evitar este desajuste, le recomendamos que utilice el texto exacto de la plantilla en el cuerpo de la solicitud.

Última actualización