# Salvar mensagens no histórico da IA

> Põe mensagens no histórico de conversa que a IA guarda do contato, sem enviar nada a ele.

Endereço: https://docs.nextags.com.br/referencia/agentes-de-ia/salvar-mensagens-no-historico-da-ia/
Tipo: Endpoint

```http
POST https://app.nextagsai.com.br/api/contacts/{contact_id}/ai/save_messages
X-ACCESS-TOKEN: <sua chave de API>
```

Põe mensagens no histórico de conversa que a IA guarda do contato, sem enviar nada a ele. Use para dar contexto à IA sobre uma conversa que aconteceu fora da NexTags, como um atendimento por telefone, por e-mail ou na loja: nas próximas respostas, ela já sabe o que foi dito. Nos fluxos, a ação **Excluir histórico de mensagens** apaga o histórico da IA do contato; veja [Chamar a IA no fluxo](https://help.nextags.com.br/tutoriais/fluxos/ia-no-fluxo/).

Autenticação: Mande a chave de API da conta no cabeçalho `X-ACCESS-TOKEN` de cada chamada. Veja [Autenticação com a chave de API](https://docs.nextags.com.br/comecar/autenticacao/).

## Parâmetros de caminho

| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `contact_id` | integer | sim | O ID do contato. |

## Corpo da requisição (JSON)

| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `messages` | array de object | não | As mensagens, na ordem em que aconteceram. |
| `messages[].text` | string | sim | O texto da mensagem. |
| `messages[].type` | string | não | O tipo: `text` (texto), `image` (imagem), `file` (arquivo) ou `audio` (áudio). Valores: `text`, `image`, `file`, `audio`. |
| `messages[].role` | string | sim | Quem falou: `user` (o contato), `assistant` (a IA ou a sua equipe, respondendo) ou `developer` (uma instrução para a IA, que não é fala de ninguém). Valores: `assistant`, `user`, `developer`. |

```json
{
  "messages": [
    {
      "role": "user",
      "type": "text",
      "text": "Liguei ontem para trocar o tamanho do tênis do pedido PED-1001."
    },
    {
      "role": "assistant",
      "type": "text",
      "text": "Combinado, Ana! A troca para o 38 foi aberta e o novo par sai amanhã."
    }
  ]
}
```

## Exemplo

```bash
curl -X POST "https://app.nextagsai.com.br/api/contacts/123456789/ai/save_messages" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "role": "user",
        "type": "text",
        "text": "Liguei ontem para trocar o tamanho do tênis do pedido PED-1001."
      },
      {
        "role": "assistant",
        "type": "text",
        "text": "Combinado, Ana! A troca para o 38 foi aberta e o novo par sai amanhã."
      }
    ]
  }'
```

Os exemplos em JavaScript, Python e PHP estão na página e no contrato (`x-codeSamples` em https://docs.nextags.com.br/openapi.json).

## Respostas

### 200 Sucesso

As mensagens entraram no histórico da IA do contato.

### 401 Chave inválida

A chave de API não veio no cabeçalho ou não vale (foi excluída ou está incompleta). Veja [Autenticação](https://docs.nextags.com.br/comecar/autenticacao/).

```json
{
  "error": {
    "code": 401,
    "message": "No valid API key provided."
  }
}
```
