# API do WhatsApp

import { Badge } from '@astrojs/starlight/components';

<Aside type="caution" title="/createWhatsAppMessage está obsoleto">
Novas integrações devem usar a [API de Mensagens v2](/pt/developer/api-reference/messaging-api-v2/) — passe `platforms: ["WHATS_APP"]` para `Notify` e use o bloco `whatsapp` dentro de `payload.content.localized_content`. Veja o [guia de migração](/pt/developer/api-reference/messaging-api-v2/migration-from-v1/#from-createwhatsappmessage).
</Aside>

<Aside type="note">
Antes de enviar mensagens do WhatsApp, certifique-se de que a plataforma WhatsApp esteja configurada corretamente. [Saiba mais](/pt/product/first-steps/start-with-your-project/configure-platforms/whatsapp-configuration/)
</Aside>

## createWhatsAppMessage <Badge text="Obsoleto" variant="caution" size="small" />

Usado para enviar mensagens do WhatsApp para os usuários

`POST` `https://api.pushwoosh.com/json/1.3/createWhatsAppMessage`

### Corpo da solicitação

| Nome  <div style="width:180px"></div>   | Obrigatório <div style="width:100px"></div> | Tipo | Descrição |
| :---- | :---- | :---- | :---- |
| auth\* | Sim | string | [Token de acesso à API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh. |
| application\* | Sim | string | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code) |
| notifications\* | Sim | array | Configurações de conteúdo. Array JSON de parâmetros da mensagem. Veja os detalhes abaixo. |

### Parâmetros de notificação

| Nome   <div style="width:150px"></div>     | Obrigatório                                  | Tipo    | Descrição                                                                                                                                                                                                                                                                                  |
|:----------------------|:------------------------------------------|:--------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| send_date*            | Sim                                       | string  | Data e hora para enviar a notificação. Use o formato `YYYY-MM-DD HH:mm` ou `'now'` para enviar imediatamente.                                                                                                                                                                                        |
| content               | Obrigatório se `content_id` não for fornecido. | string  | Conteúdo de texto da mensagem do WhatsApp.                                                                                                                                                                                                                                                        |
| content_id            | Obrigatório se `content` não for fornecido.    | string  | Identificador para um modelo de WhatsApp pré-aprovado da sua conta Meta.                                                                                                                                                                                                                      |
| devices*              | Sim                                       | array   | Número de telefone do cliente (deve estar associado a um [ID de Usuário](/pt/developer/api-reference/api-identifiers/#user-id) usando [`/registerDevice`](/pt/developer/api-reference/device-api#registerdevice) e especificado no parâmetro `hwid`, ou use `use_auto_registration`). Apenas um número pode ser especificado aqui. |
| use_auto_registration | Não                                        | boolean | Se definido como `true`, o número de telefone especificado no parâmetro `devices` será registrado automaticamente.                                                                                                                                                                                    |
| content_variables     | Não                                        | object  | Variáveis de conteúdo para personalizar o conteúdo da mensagem. Cada placeholder será substituído pelos valores dinâmicos correspondentes.                                                                           |
| button_url_variables  | Não                                        | object     | Variáveis de URL dinâmicas para botões. Cada chave representa um índice de botão, e seu valor é a variável dinâmica para substituir na URL do botão.   **Nota**: A indexação dos botões começa em 0, sendo o primeiro botão 0, o segundo 1, e assim por diante.                                                                                              |
| header_variables      | Não                                        | object  | Variáveis para o cabeçalho em uma mensagem de modelo do WhatsApp. Especifique o `type` (por exemplo, `text`, `image`, `video`, `document`) e o valor correspondente. **Exemplo**: `"header_variables": {"image": "https://image-url.png"}`                                                                   |
| preset                | Não                                        | string  | Código do Preset do WhatsApp do seu Painel de Controle.                                                                                |
| language              | Não                                        | string  | Localidade de idioma do modelo do WhatsApp (deve corresponder à localidade no editor de modelos do Meta WhatsApp). Padrão: `"en_US"`. Exemplo: `"en_GB"`.                                                                                                            |

<Aside type="caution" title="Importante">
****
Atualmente, cada mensagem do WhatsApp deve ser enviada em uma solicitação separada para cada cliente.
</Aside>

### Exemplo de solicitação

```json
{
  "request": {
    "application": "12XXX-67XXX",           // obrigatório. Código da aplicação Pushwoosh.
    "auth": "yxoPUlwqm…………pIyEX4H",         // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh.
    "notifications": [{
      "send_date": "now",                   // obrigatório. YYYY-MM-DD HH:mm OU "now".
      "content": "Hello! {{1}}",            // obrigatório se content_id não for fornecido. Texto da mensagem.
      "content_id": "hello_world",          // obrigatório se content não for fornecido. Identificador do modelo do WhatsApp.
      "devices": ["whatsapp:+1234567890"],  // obrigatório. Número de telefone do WhatsApp do cliente (deve estar associado
                                            //           a um UserId usando /registerDevice e especificado no
                                            //           parâmetro "hwid" ou use "use_auto_registration").
                                            //           Apenas um número de WhatsApp pode ser especificado aqui.
      "preset": "XXXXX-XXXXX",              // opcional. Código do Preset do WhatsApp do seu Painel de Controle.
      "content_variables": {                // opcional. Variáveis de conteúdo para personalizar o conteúdo da mensagem.
        "1": "John"
      },
      "header_variables": {                 // opcional. Variáveis para o cabeçalho da mensagem do WhatsApp.
        "image": "https://image-url.png"
      },
      "language": "en_GB",                  // opcional. Localidade de idioma para o modelo do WhatsApp (deve corresponder à localidade no editor de modelos do Meta WhatsApp). Padrão: "en_US".
      "use_auto_registration": true         // opcional. Registrar automaticamente o número do WhatsApp especificado
                                            //           no parâmetro "devices".
    }]
  }
}
```

### Exemplo: Enviando um código de autenticação de dois fatores via WhatsApp

```json
{
    "request": {
        "application":"APP_CODE", "auth":"AUTH_TOKEN",
        "notifications":[{
            "send_date":"now",
            "content_id":"replace_with_your_meta_two_factor_template_name",
            "content_variables":{"1":"AUTH_CODE"},
            "button_url_variables":{"0":"AUTH_CODE"},
            "devices":["whatsapp:REPLACE_WITH_YOUR_PHONE_NO"]
        }]
    }
}
```

### Exemplo de resposta

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "9648-0B10EXXX-0D9F2XXX"
    ]
  }
}
```

### Resposta de erro

```json
{
  "status_code": 210,
  "status_message": "Invalid devices list. \"devices\" must be an array.",
  "response": {
    "Messages": []
  }
}
```