# Outbound WhatsApp

{% hint style="info" %}
Envio de outbound para integrações de WhatsApp, e poderá ser feito com templates, mídias ou texto.
{% endhint %}

Ao habilitar a API de outbound é gerado um endpoint e um token, que serão utilizados para realizar o envio das mensagens de outbound.

O envio será semelhante a API do WhatsApp. Para envio de templates: <https://developers.facebook.com/docs/whatsapp/api/messages/message-templates/interactive-message-templates>

![](/files/AhU6fVOG0Qmu3Kdi9oGr)

## **Estrutura**

```
{
    "to": "numero_whatsapp_destino",
    "type": "template",
    "context": {
        "status": "aprovado"
    },
    "template": {
        "namespace": "namespace",
        "language": {
            ...
        },
        "name": "nome_do_template",
        "components": [
            ...
        ]
    }


    "externalId": "seu_id_mensagem",
    "restartContact": false | true,
    "inactivityTime": 0
}
```

### Atributos

* **to(string)**: Número do WhatsApp que irá receber a mensagem
* **type(string)**: Tipo de mensagem que seŕa enviada (template, text, image, video, document, audio ou sticker)
* **context (opcional)**: variáveis que serão salvas no contexto do usuário
* **template(string)**: Conteúdo do template que será utilizado no envio
* **externalId (opcional):** identificador único para a mensagem a ser enviada. Este ID será retornado nos status de envio em seu webhook de status
* **restartContact (opcional):** booleano para resetar as variáveis de contexto do usuário
* **inactivityTime (opcional):** tempo em minutos que deve ser passado desde a última interação do usuário com o assistente para que a mensagem seja enviada. Exemplo: Se o usuário está interagindo ou interagiu com assistente há 1 minuto e o tempo de inatividade necessário para mensagem ser enviada é de 2 minutos ("inactivityTime": 2), a mensagem não seria enviada. Caso a interação tivesse ocorrido 3 minutos atrás, a mensagem seria enviada.

Para envio de mídias e texto:<https://developers.facebook.com/docs/whatsapp/api/messages/media>

## **Estrutura**

```
{
    "to": "numero_whatsapp_destino",
    "type": "text" | "audio" | "contact" | "document" | "image" | "location" | "sticker" | "video",


    "text": {
        "body": "Seu texto aqui!"
    }


    //ou
    "audio": {
      "id": "your-media-id",
    }
  
    //ou
    "document": {
      "link": "the-provider-name/protocol://the-url",
      "provider": {
          "name" : "provider-name"
      },
      "caption": "your-document-caption"
    }
  
    //ou
    "video": {
      "id": "your-media-id",
      "caption": "your-video-caption"    
    }
    
    //ou
    "image": {
      "link": "http(s)://the-url",
      "provider": {
          "name" : "provider-name"
      },
      "caption": "your-image-caption"
    }
  
    //ou
    "sticker": {
      "id": "your-media-id"
    }


    "externalId": "seu_id_mensagem",
    "restartContact": false | true,
    "inactivityTime": 0
```

### Atributos

* **to(string)**: Número do WhatsApp que irá receber a mensagem
* **type(string)**: Tipo de mensagem que seŕa enviada (text, image, video, document, audio ou sticker)
* **text | audio | document ... (objeto)**: Conteúdo do elemento utilizado no envio.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altu.d1.cx/connect/apis/outbound/whatsapp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
