[POST] /waTemplates

Objetivo:

Usa este servicio para crear una nueva plantilla de WhatsApp

Ejemplo CURL:

curl --location --request POST 'go.botmaker.com/api/v1.0/waTemplates/' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'access-token: ACCESS-TOKEN' \
--data-raw '{
            "buttons": [],
            "optInImage": "https://storage.googleapis.com/m-infra.appspot.com/public/res/SoporteBotmaker/20210818-hnFCAbAtiaVneNafwub7cBZaFPS2-UUHZ3-.png",
            "locale": "es_AR",
            "content": "Hola, gracias por todo",
            "mediaHeaderText": "",
            "mediaFooterText": "",
            "name": "test_create_temp_API",
            "mediaHeaderType": "image",
            "category": "Account Update"
        }
'

Campos importantes:

  • buttons
  • locale
  • category
  • optinImage
  • content

Tipos de botones:

Primer tipo: QUICK_REPLY Estos botones son usados para ejecutar una intención adentro del bot, o enviar un texto en caso de ser un cliente API. Se pueden crear hasta 3.

Si eres un cliente API, debes completar los siguientes campos:

  • “text”: Texto que va a llevar el botón
  • “type”: Debe llevar el tipo QUICK_REPLY
  • “responseId”: El mensaje que responde el bot cuando se presiona el botón.

Si no eres un cliente API:

  • “text”: Texto que va a llevar el botón
  • “type”: Debe llevar el tipo QUICK_REPLY
  • “intent”: El id de la intención a ejecutar.

Consideraciones en caso de ser cliente API:

Puedes utilizar los botones para enviar el responseID definido en tu webhook configurado en Botmaker cuando haya clicks de los usuarios. De esta manera, podrás analizar cuando los usuarios cliquean en las opciones y programar en tu sistema respuestas/envíos automáticos dependiendo del responseID recibido.

Nota: El campo responseID no acepta variables, debe ser utilizado solamente con mensajes de texto

Ejemplo no API:

"buttons": [
                {
                    "text": "sentado",
                    "type": "QUICK_REPLY",
                    "intent": "BotmakerTesting-327f05674554c@bm.com-1611242990470",
                    "responseId": ""
                },
            ],

Ejemplo API:

"buttons": [
                {
                    "text": "sentado",
                    "type": "QUICK_REPLY",
                    "intent": "",
                    "responseId": "hola"
                },
            ],

Segundo tipo, CALL TO ACTION: Estos botones dan la posibilidad de agregar botones que permiten llamar a un número telefónico, o llevarle a una URL. Estos dos tipos de botones no se pueden mezclar con uno de tipo QUICK_REPLY. En este caso no se puede tener más de 2 botones.

Los campos son, en el caso de un botón de llamado, los siguientes:

  • “phone_number”: Número telefónico a llamar
  • “text”: Texto del botón
  • “type”: Tipo del botón, en este caso “PHONE_NUMBER”

En el caso de ser uno de URL:

  • “url”: Url de la página a la que se enviará al usuario
  • “text”: Texto del botón
  • “type”: Tipo de botón, en este caso “URL”

Por ejemplo:

"buttons": [
               {
                    "phone_number": "+5491155640000",
                    "text": "Llamar a Soporte",
                    "type": "PHONE_NUMBER"
                },
                {
                    "text": "Ir a google",
                    "type": "URL",
                    "url": "www.google.com"
                }
            ],

Ejemplo de uno erróneo. En este caso no se pueden mezclar tipos de botones:

"buttons": [
                {
                    "text": "Saludo",
                    "type": "QUICK_REPLY",
                    "intent": "BotmakerTesting-327f0567455b4c@bm.com-1611242990470",
                    "responseId": ""
                },
                {
                    "text": "Ir a google",
                    "type": "URL",
                    "url": "www.google.com"
                }
            ],

Validaciones locale:

Locale hace referencia al lenguaje de la plantilla y se valida contra el siguiente listado:

Lenguajes permitidos: 
        af,
        sq,
        ar,
        az,
        bn,
        bg,
        ca,
        zh_CN,
        zh_HK,
        zh_TW,
        hr,
        cs,
        da,
        en,
        en_GB,
        en_US,
        et,
        fi,
        fr,
        de,
        el,
        gu,
        he,
        hi,
        hu,
        id,
        fil,
        ga,
        it,
        ja,
        kn,
        kk,
        ko,
        lo,
        lv,
        lt,
        mk,
        ms,
        mr,
        nb,
        fa,
        pl,
        pt_BR,
        pt_PT,
        pa,
        ro,
        ru,
        es,
        es_AR,
        es_MX,
        es_ES
    }

Category:

Categoría de la plantilla, puede ser una de las siguientes:

        ACCOUNT_UPDATE,
        PAYMENT_UPDATE,
        PERSONAL_FINANCE_UPDATE,
        SHIPPING_UPDATE,
        RESERVATION_UPDATE,
        ISSUE_RESOLUTION,
        APPOINTMENT_UPDATE,
        TRANSPORTATION_UPDATE,
        TICKET_UPDATE,
        ALERT_UPDATE,
        AUTO_REPLY

optinImage:

Muy importante, pasarle al campo optinImage el link a una imagen, que tenga el optIn.

¿Qué es el optIn?

Es una imagen, con un template de algún formulario, en el que se demuestra que en alguna página o app se le está pidiendo consentimiento a los clientes para recibir mensajes de forma proactiva vía WhatsApp.

Content:

Recuerda: Tienes un límite de 1024 caracteres o 160 caracteres en caso de tener algún header o footer. Y no puede incluir líneas nuevas, pestañas ni más de cuatro espacios consecutivos.

El texto puede estar en: Negrita: para poner tu mensaje en negrita, coloca un asterisco a cada lado del texto.

Cursiva: para poner tu mensaje en cursiva , coloca un guión bajo a cada lado del texto.

Tachado: para tachar tu mensaje, coloca una tilde a cada lado del texto

Monoespacio: para dejar un texto monoespacio coloca tres frases a cada lado del texto.

Emojis

Variables: deben comenzar con un $ y contener el nombre de la variable entre llaves, como en el ejemplo a continuación. Ejemplo: ${nombre}

Estado del Template:

Una vez creado el template, el mismo pasa por diferentes estados hasta que finalmente es aprobado.

Estados:

botmakerPending: El template está pendiente de envío a Facebook.
accountPending: El template tiene algún error y necesita ser modificado por el negocio. En estos casos, se encontrará el error en las notes del template. Se deberá corregir y volver a generar el template por medio de este servicio.
facebookPending: El template se envió a Facebook y está esperando ser validado.
Approved: El template fue aprobado y está listo para enviarse.
Rejected: El template fue rechazado y no podrá usarse.