# Outbound Infobip

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

## Request

**Endpoint:**

**POST** <https://outbound.ms.altubots.com/infobip>/\<slug>/\<id\_integracao>

**Header:**

**Content-type:** "application/json"\
**Authorization:** "\<altu token>"

```
{
    "destination": "numero_whatsapp_destino",
    "templateName": "nome_template",
    "context": {
        "status": "aprovado"
    },
    "templateData": [
        "<template_dado_1>",
        "<template_dado_2>",
        "...",
        "<template_dado_n>"
    ],
    "language": "idioma_template",
    "external_id": "seu_id_mensagem",
    "restartContact": false | true,
    "inactivityTime": 0
}
```

### **Atributos:**

* **destination:** o número de WhatsApp que irá receber a mensagem
* **templateName:** o nome do template
* **context (opcional)**: variáveis que serão salvas no contexto do usuário
* **templateData:** lista de valores (strings) de parâmetros do template ordenados conforme registrados
* **language:** o código do idioma ou localidade a ser usado. Precisa ser exatamente o código com o qual o template foi registrado
* **external\_id (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 e reiniciar o atendimento
* **inactivityTime (opcional):** tempo em minutos que deve ter 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 a mensagem ser enviada é de 2 minutos ("inactivityTime": 2), a mensagem não será enviada. Caso a última interação ocorreu a mais de 2 minutos atrás, a mensagem será enviada

## **Exemplo**

```
{
    "destination": "35988001234",
    "templateName": "template_fatura_total",
    "templateData": [
        "Maria",
        "R$ 1670,00"
    ],
    "language": "pt_BR",
    "external_id": "meu_id_1"
}
```

### Response

{% tabs %}
{% tab title="Status 200 (OK)" %}
A mensagem foi enviada corretamente para a Infobip e será encaminhada para o usuário.**Body (exemplo):**

```
{
    "status": "sent",
    "external_id": "meu_id_1",
    "message_id": 166,
    "contact_id": 765
}
```

* **status:** status da mensagem enviada
* **external\_id:** id externo da mensagem enviada
* **message\_id:** id da mensagem enviada no Zenvia NLU
* **contact\_id:** id do atendimento do usuário no Zenvia NLU

{% endtab %}

{% tab title="Status 400 (Bad Request)" %}
Um ou mais parâmetros não estão no formato esperado ou parâmetros obrigatórios não foram preenchidos. Verifique o formato e obrigatoriedade de todos os parâmetros durante a requisição.**Body (exemplo):**

```
{
    "status": "error",
    "message": "Invalid destination!"
}
```

{% endtab %}

{% tab title="Status 401 (Unauthorized)" %}
Não foi possível autorizar a requisição. Verifique se foi definido o header **Authorization** com o valor **token altu** corretamente.**Body (exemplo):**

```
{
    "status": "error",
    "message": "Unauthorized"
}
```

{% endtab %}

{% tab title="500 (Internal Server Error)" %}
Houve um erro durante o envio da mensagem.**Body (exemplo):**

```
{
  "status": "error",
  "message": "Unexpected error"
}
```

{% endtab %}
{% endtabs %}


---

# 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/infobip.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.
