Bloco WhatsApp (27/05/2024)

Bloco WhatsApp

O WhatsApp Node permite um workflow enviar mensagens usando a conta WhatsApp Business configurada.

Propriedades do bloco

Existem muitas opções de configuração a serem fornecidas ao configurar o WhatsApp Node, divididas em várias seções…

Configuração do WhatsApp

Primeiro, escolha como autenticar a solicitação. Existem duas opções diferentes…

1 – Choose a Service Credential*: Este é o método recomendado; no entanto, esse método não está disponível no Edge Workflows . Ao usar este método, você deve fornecer:

2 – Insira a configuração: quando selecionado, você deve fornecer:

  • From Number ID Template : um Template de string que resolve o ID do número do remetente do qual as mensagens devem ser enviadas. Este deve ser o ID de um número associado à sua conta do WhatsApp Business.
    * Access Token Template : um Template de string que resulta em um token de acesso para sua conta do WhatsApp Business, que deve ser alternado regularmente.

Configuração da mensagem

Existem duas maneiras diferentes de formar uma mensagem no WhatsApp. A mensagem pode ser uma mensagem de texto de formato livre (tipo de mensagem Enter a free-form message…) ou uma Templated mensagem usando um modelo existente na sua conta comercial do WhatsApp (tipo de mensagem Choose a message template…).

Mensagem de formato livre “free-form message”

Ao optar por enviar uma mensagem de texto de formato livre, o conteúdo da mensagem pode vir de um modelo de string ou de um payload path . Em ambos os casos, a mensagem será convertida em uma string e depois enviada aos destinatários.

Nota: Ao enviar uma mensagem de formato livre para um destinatário, esse destinatário deve ter uma janela de atendimento ao cliente aberta com o número do remetente de envio, caso contrário a mensagem não será entregue (mesmo que o envio da mensagem do WhatsApp indique que a mensagem foi aceita). Devido a essa restrição, WEGnology® recomenda o uso de modelos de mensagens sempre que possível.

Modelo de mensagem “Message Template”

Ao optar por enviar uma mensagem estilo Templated Message, você deve configurar o seguinte:

Template Name : um modelo de string que resolve o nome de um modelo do WhatsApp em sua conta do WhatsApp Business.

Template Language Code : um modelo de string que resolve um código de idioma compatível com seu modelo. O padrão é en_USse não for fornecido.

  • Components Source Method : você pode escolher como fornecer os componentes do modelo , como um caminho de carga ou um modelo JSON. Os componentes do modelo são opcionais, pois nem todos os modelos do WhatsApp os exigem.
    • Components Payload Path : um Payload path que resolve um único objeto de componente de modelo do WhatsApp ou uma matriz desses objetos.
    • Components JSON Template : um modelo JSON que resolve um único objeto de componente de modelo do WhatsApp ou uma matriz desses objetos.

Números “para” (destinatários)

Forneça pelo menos um número de telefone para o qual enviar sua mensagem. Vários destinatários podem receber a mesma mensagem, e esses destinatários podem ser fornecidos por meio de uma combinação dos seguintes métodos…

Um número por linha.

Vários números por linha, separados por vírgulas ( ,) ou ponto e vírgula ( ;).

Um modelo de string que faz referência a um número de telefone, uma string de números separados por vírgula ou ponto e vírgula ou uma matriz de números de telefone na carga útil.

Por exemplo, dada o seguinte payload

{
  "working": {
      "numbers": [
        "7894443333, 13214567890, +55026546544",
        "+55795753838"
    ],
    "extraNumber": "+55038274238"
  }
}

… e um bloco WhatsApp com o campo “to Numbers” definido da seguinte forma…

  1. +55135551212; +55753471111

  2. {{working.extraNumber}}

  3. {{working.numbers}}

… isso resultaria no envio de mensagens para sete destinatários diferentes. (Cada número é um envio separado; o bloco não cria uma mensagem de grupo para todos os destinatários.)

Resultado

Opcionalmente, forneça um payload path onde o resultado da solicitação possa ser colocado na carga atual. Se fornecido, o WhatsApp Node colocará um array neste caminho, com uma entrada por número de destinatário. Para um envio bem-sucedido, o resultado incluirá um messageIdcampo, que será o ID específico da mensagem enviada.

Nota: O envio bem-sucedido de uma mensagem não significa que a mensagem foi ou será entregue com sucesso. Se conhecer o status de entrega de uma mensagem é importante para você, você deve configurar um webhook do WhatsApp para obter atualizações sobre a entrega de uma determinada mensagem.

Exemplo

A seguir está um exemplo de payload após o envio bem-sucedido de uma mensagem para um destinatário, com um result path de working.whatsAppResult:

{
   "working": {
      "whatsAppResult": [
         {
            "messageId": "wid.aiRTgxMjIzMDE2MzMVAgARGBI1NkFDRDdadjfiskY3OcTyme",
            "success": true,
            "number": "+524783578309"
         }
      ]
   }
}

Erros

O bloco WhatsApp pode falhar no envio por vários motivos. No caso de um erro, o array resultante contém objetos com uma chave de erro (erro key) e uma chave de mensagem (message key) em vez de uma chave de sucesso (success key).

Por exemplo, o seguinte seria colocado no payload no result path ajustado no objeto: working.whatsAppResultao tentar enviar a mensagem com um “número De” que não está associado à sua conta:

{
  "working": {
    "whatsAppResult": [
      {
        "error": true,
        "message": "Unsupported post request. Object with ID '4729984277398' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
        "number": "+5598675857"
      }
    ]
  }

E o seguinte seria colocado no caminho ao tentar enviar para um número de telefone inválido:

{
  "working": {
    "whatsAppResult": [
      {
        "error": true,
        "message": "Phone number invalid",
        "number": "+5547445424523"
      }
    ]
  }
}
2 Curtidas