VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/WhatsApp: assistente de IA

Base de conhecimento

Cadastra, altera e apaga as perguntas e respostas fixas que o assistente usa.

Listar as entradas

Devolve todas as entradas, da mais nova para a mais antiga, sem paginação.

GET/api/v1/admin/whatsapp-confluence/ai/kbAdmin

Lista a base de conhecimento

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/ai/kb" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Entradas
json
{
  "entries": [
    {
      "id": 12,
      "question": "Qual o prazo de troca?",
      "answer": "Aceitamos trocas em até 30 dias, com a nota fiscal.",
      "enabled": true
    }
  ]
}

Campos da resposta

entriesarray
Entradas. Lista vazia se não houver.
entries[].idinteger
Id da entrada.
entries[].questionstring
Pergunta (ou trecho) que dispara a entrada.
entries[].answerstring
Resposta cadastrada.
entries[].enabledboolean
Se a entrada está em uso.

Erros

StatusQuandoCorpo de exemplo
500Falha ao ler.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}

Criar uma entrada

Cadastra uma pergunta com sua resposta. A entrada nasce ativa. Exige manage_settings.

POST/api/v1/admin/whatsapp-confluence/ai/kbAdmin

Cria uma entrada de conhecimento

Corpo da requisição

questionstringobrigatório
Pergunta. Obrigatória e não vazia.
answerstring
Resposta. A API aceita vazio, mas uma entrada sem resposta não ajuda.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/ai/kb" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"question": "Qual o prazo de troca?", "answer": "Aceitamos trocas em até 30 dias, com a nota fiscal."}'

Resposta

200Entrada criada
json
{
  "id": 12,
  "question": "Qual o prazo de troca?",
  "answer": "Aceitamos trocas em até 30 dias, com a nota fiscal.",
  "enabled": true
}

Campos da resposta

idinteger
Id da entrada.
questionstring
Pergunta (ou trecho) que dispara a entrada.
answerstring
Resposta cadastrada.
enabledboolean
Se a entrada está em uso.

Erros

StatusQuandoCorpo de exemplo
400question vazia ou JSON inválido. A mensagem diz "question + answer required" mas só a pergunta é exigida.{"error":"question + answer required"}
500Falha ao gravar.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
403O administrador não tem o privilégio manage_settings.{"error":"insufficient privileges","required":"manage_settings"}
Status 200, não 201

A criação responde 200 com a entrada, sem cabeçalho Location.

Alterar uma entrada

Substitui pergunta, resposta e estado de uma entrada. Serve também para desligar ou religar sem apagar. Exige manage_settings.

PUT/api/v1/admin/whatsapp-confluence/ai/kb/{id}Admin

Altera uma entrada de conhecimento

Parâmetros de caminho

idintegerobrigatório
Id numérico da entrada.

Corpo da requisição

questionstring
Pergunta.
answerstring
Resposta.
enabledbooleanobrigatório
Em uso. Omitido conta como false e desliga a entrada.

Exemplo de requisição

bash
curl -X PUT "$BASE_URL/api/v1/admin/whatsapp-confluence/ai/kb/12" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"question": "Qual o prazo de troca?", "answer": "Aceitamos trocas em até 15 dias, com a nota fiscal.", "enabled": true}'

Resposta

200Entrada alterada
json
{
  "status": "ok"
}

Campos da resposta

statusstring
Sempre ok.

Erros

StatusQuandoCorpo de exemplo
400JSON inválido.{"error":"invalid body"}
500Falha ao gravar.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
403O administrador não tem o privilégio manage_settings.{"error":"insufficient privileges","required":"manage_settings"}
200 mesmo sem achar a entrada

Um id que não existe ou que não é um número não gera 404: a resposta é 200 e nada muda. Confira com Listar as entradas.

Apagar uma entrada

Remove a entrada em definitivo. Para só parar de usar, desligue com enabled false. Exige manage_settings.

DELETE/api/v1/admin/whatsapp-confluence/ai/kb/{id}Admin

Apaga uma entrada de conhecimento

Parâmetros de caminho

idintegerobrigatório
Id numérico da entrada.

Exemplo de requisição

bash
curl -X DELETE "$BASE_URL/api/v1/admin/whatsapp-confluence/ai/kb/12" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Entrada apagada
json
{
  "status": "ok"
}

Campos da resposta

statusstring
Sempre ok.

Erros

StatusQuandoCorpo de exemplo
500Falha ao apagar.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
403O administrador não tem o privilégio manage_settings.{"error":"insufficient privileges","required":"manage_settings"}
Sem desfazer

Não há lixeira. Um id inexistente também responde 200.

Veja também

  • Persona
  • Registro de chamadas
Anterior
Persona do assistente
Próxima
Registro de chamadas
Nesta página
  • Listar as entradas
  • Exemplo de requisição
  • Resposta
  • Erros
  • Criar uma entrada
  • Exemplo de requisição
  • Resposta
  • Erros
  • Alterar uma entrada
  • Exemplo de requisição
  • Resposta
  • Erros
  • Apagar uma entrada
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também