Enviar uma mensagem pelo WhatsApp com failover

Neste exemplo, você enviará uma mensagem pelo WhatsApp que, em caso de falha, será reenviada como SMS.

No objeto Workflow, os objetos de mensagem podem ser organizados em qualquer ordem, de acordo com o seu caso de uso. Cada objeto de mensagem deve conter um objeto de failover, exceto a última mensagem, já que não há mais objetos de mensagem para os quais se possa realizar o failover.

NOTA: Na primeira vez que você enviar uma mensagem a um usuário, o WhatsApp exige que a mensagem contenha um modelo. Isso é explicado com mais detalhes no Tópico: Entendendo o WhatsApp.

Exemplo

Certifique-se de que as seguintes variáveis estejam definidas com os valores desejados, utilizando qualquer método conveniente:

ChaveDescrição
VONAGE_APPLICATION_ID

The Vonage Application ID.

FROM_NUMBER

Replace with number you are sending from. E.g. 447700900002

TO_NUMBER

Replace with the number you are sending to. E.g. 447700900001

WHATSAPP_NUMBER

The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102.

NOTA: Não use um espaço à esquerda + ou 00 Ao digitar um número de telefone, comece com o código do país, por exemplo, 447700900000.

Pré-requisitos

Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.

Escreva o código

Adicione o seguinte ao arquivo ` send-whatsapp-message-with-failover.sh`:

curl -X POST https://api.nexmo.com/v0.1/dispatch \
  -H 'Authorization: Bearer '$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "template":"failover",
    "workflow": [
      {
        "from": { "type": "whatsapp", "number": '$WHATSAPP_NUMBER' },
        "to": { "type": "whatsapp", "number": '$TO_NUMBER' },
        "message": {
          "content": {
            "type": "text",
            "text": "This is a WhatsApp Message sent via the Dispatch API"
          }
        },
        "failover":{
          "expiry_time": 600,
          "condition_status": "read"
        }
      },
      {
        "from": {"type": "sms", "number": '$FROM_NUMBER'},
        "to": { "type": "sms", "number": '$TO_NUMBER'},
        "message": {
          "content": {
            "type": "text",
            "text": "This is an SMS sent via the Dispatch API"
          }
        }
      }
    ]
  }'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

bash send-whatsapp-message-with-failover.sh

Experimente

Ao executar o código, ele tentará enviar uma mensagem pelo WhatsApp. Se isso não der certo, será enviada uma mensagem por SMS para o número de destino.