API Reference

Wapzi API para Atendimento Externo

URL pública desta documentação: /docs

Esta página cobre autenticação por chave de API, fluxo para obter a chave no painel e exemplos de uso do endpoint público de atendimento externo.

Base URL e autenticação

Base URL do seu ambiente: https://api.wapzi.com.br

Headers para autenticação:

x-api-key: ak_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Content-Type: application/json

Como obter a chave de API no painel

  1. Acesse /dashboard/settings.
  2. Na seção Chave de API, clique em Mostrar.
  3. Clique em Copiar e armazene a chave com segurança.
  4. Para rotacionar a chave (admin), use o painel de conta em /dashboard/accounts/:id no botão Gerar nova.

Rotacionar a chave invalida imediatamente integrações antigas que usam a chave anterior.

Endpoints básicos

Executar atendimento por canal

Usa o canal ativo da conta identificado na URL e escolhe automaticamente um agente disponível para responder.

Endpoint

POST /v1/channels/:channelId/execute

Request body

{
  "message": "Olá, preciso de ajuda com meu pedido"
}

cURL

curl -X POST "https://api.wapzi.com.br/v1/channels/canal_123/execute" \
  -H "Content-Type: application/json" \
  -H "x-api-key: ak_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -d '{
    "message": "Olá, preciso de ajuda com meu pedido"
  }'

Resposta

{
  "conversationId": "conv_123",
  "executionId": "exec_123",
  "status": "queued"
}

Erros comuns

  • 400 channelId is required
  • 400 Invalid channelId
  • 400 Channel has no attendants configured
  • 400 Channel has no available agent attendant
  • 401 Missing API key
  • 401 Invalid API key

Consultar execução

Consulta o resultado da execução mais recente da conversa. Execuções antigas podem voltar como superseded.

Endpoint

GET /v1/executions/:executionId

Request body

{}

cURL

curl -X GET "https://api.wapzi.com.br/v1/executions/exec_123" \
  -H "Content-Type: application/json" \
  -H "x-api-key: ak_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Resposta

{
  "conversationId": "conv_123",
  "executionId": "exec_123",
  "status": "completed",
  "response": "Olá! Posso te ajudar com o status do pedido. Informe seu número, por favor."
}

Erros comuns

  • 400 Invalid executionId for this account
  • 401 Missing API key
  • 401 Invalid API key

Exemplo rápido (Node.js)

const response = await fetch('https://api.wapzi.com.br/v1/channels/canal_123/execute', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': process.env.WAPZI_API_KEY,
    },
    body: JSON.stringify({
        message: 'Olá, quero falar sobre preços.',
    }),
});

if (!response.ok) {
    const error = await response.json();
    throw new Error(error.message || 'Erro na integração com Wapzi');
}

const data = await response.json();
console.log(data.executionId);

const result = await fetch(`https://api.wapzi.com.br/v1/executions/${data.executionId}`, {
    headers: {
        'Content-Type': 'application/json',
        'x-api-key': process.env.WAPZI_API_KEY,
    },
});

console.log(await result.json());

Boas práticas

  • Não exponha a chave no frontend público.
  • Mantenha a chave apenas no backend da sua integração.
  • Trate o POST como assíncrono e consulte a execução pelo executionId retornado.
  • Envie o mesmo conversationId para manter a política latest-wins por conversa.
  • Rotacione a chave periodicamente.
  • Monitore erros 401 e 403 para detectar chave inválida ou conta inativa.

Checklist de homologação

  • Chave válida copiada no painel.
  • channelId correto, ativo e presente na URL.
  • Canal com atendente/agente configurado e disponível.
  • POST respondendo 202 com executionId no ambiente de homologação.
  • GET de consulta retornando completed, failed ou superseded corretamente.