Documentação
Uma URL base, uma chave, qualquer modelo.
Mensageiro fala o formato da OpenAI. Toda ferramenta que aceita uma URL base própria funciona com ele.
1. Crie a chave
Abra o console, recarregue e crie uma chave por agente. Em cada chave você define o limite mensal em dólar, os modelos permitidos e a data de validade.
2. Configure a ferramenta
| Campo | Valor |
|---|---|
| URL base | https://api.uplinkswitch.com/v1 |
| Chave | SUA_CHAVE_MENSAGEIRO |
| Modelo | um id da página de preços, como claude-sonnet-5-5 |
3. Teste com curl
Formato OpenAI, válido para todos os modelos:
bash
1
curl https://api.uplinkswitch.com/v1/chat/completions \2
-H "Authorization: Bearer SUA_CHAVE_MENSAGEIRO" \3
-H "Content-Type: application/json" \4
-d '{5
"model": "claude-sonnet-5-5",6
"messages": [7
{"role": "system", "content": "Você atende clientes de uma loja pelo WhatsApp."},8
{"role": "user", "content": "Vocês entregam no sábado?"}9
]10
}'Formato Anthropic, válido para os modelos Claude:
bash
1
curl https://api.uplinkswitch.com/v1/messages \2
-H "x-api-key: SUA_CHAVE_MENSAGEIRO" \3
-H "anthropic-version: 2023-06-01" \4
-H "Content-Type: application/json" \5
-d '{6
"model": "claude-sonnet-5-5",7
"max_tokens": 300,8
"messages": [{"role": "user", "content": "Vocês entregam no sábado?"}]9
}'Guias
- Evolution API: o bot OpenAI da instância respondendo com a chave Mensageiro.
- n8n: a credencial OpenAI com a URL base trocada, nos nós OpenAI e AI Agent.
- Typebot: a conta OpenAI do bloco OpenAI com a URL base trocada.
Chatwoot e Z-API
Os dois entregam cada mensagem recebida num webhook. Aponte o webhook para um nó Webhook do n8n e responda com a credencial do guia do n8n.
- Chatwoot: Settings → Integrations → Webhooks, evento
message_created(documentação do Chatwoot). - Z-API: o webhook Receive, que dispara a cada mensagem recebida no número (documentação da Z-API).
Erros
| Status | Código | O que fazer |
|---|---|---|
| 401 | invalid_api_key | Chave ausente, inválida ou revogada. |
| 402 | monthly_limit_reached | A chave chegou ao limite mensal que você definiu. |
| 402 | insufficient_balance | O saldo da conta acabou. Recarregue. |
| 403 | scope_denied | O modelo não está na lista permitida da chave. |
| 404 | model_not_found | O id não existe. Veja os ids em /precos. |
| 429 | rate_limited | Requisições por minuto da chave. O cabeçalho retry-after diz quando tentar de novo. |
| 502 / 503 | upstream_error / upstream_unavailable | O modelo não respondeu. Nada é cobrado. Respeite o retry-after. |