⌘ PARA DESENVOLVEDORES

Uma plataforma. Três superfícies poderosas.

Puxe conversas com a API REST, escute eventos em tempo real com webhooks assinados com HMAC e controle o balão de chat do seu site via código com a API JS do widget.

200 OK · 42 ms Webhooks assinados com HMAC-SHA256 Acesso por chave de API
01 · Primeiros passos

Sua primeira requisição em 5 minutos

Há um pré-requisito para todas as superfícies: crie uma chave de API na página Desenvolvedores do seu painel. Com a chave, você puxa dados via REST, configura webhooks e controla o widget.

1
Crie uma chave
Painel → Desenvolvedores → Nova chave
2
Envie uma requisição
Com um cabeçalho Authorization: Bearer
3
Escute os eventos
Defina a URL do seu webhook
02 · Autenticação

Autentique-se com uma chave Bearer

Adicione sua chave a cada requisição REST no cabeçalho Authorization. As chaves começam com o prefixo rc_live_ e são exibidas uma única vez, na criação — guarde a sua em um lugar seguro.

curl
curl https://revochat.app/api/v1/conversations \
  -H "Authorization: Bearer rc_live_XXXXXXXXXXXX"
03 · API REST

Acesso programático aos seus dados

URL base: https://revochat.app/api/v1

GET/conversations

Lista as conversas, das atualizadas mais recentemente primeiro. Parâmetros: status (open | closed), limit (padrão 50, máx. 200). A resposta retorna um array data; cada registro inclui o site, o visitante, o atendente atribuído, as tags, a nota de CSAT e os timestamps.

curl
curl "https://revochat.app/api/v1/conversations?status=open&limit=20" \
  -H "Authorization: Bearer rc_live_..."
GET/conversations/:id

Retorna uma única conversa com todas as mensagens (exceto notas internas). As mensagens incluem sender, content, type e campos de arquivo quando houver. Retorna 404 se não for encontrada.

Uma chave inválida ou ausente recebe 401 com o corpo { "error": "..." }. Chaves antigas com o prefixo cd_live_ continuam funcionando.

04 · Webhooks

Os eventos nas suas mãos no instante em que acontecem

Defina uma URL de webhook no seu painel; os eventos escolhidos são enviados com corpo JSON como um POST no instante em que acontecem. Cada requisição traz dois cabeçalhos: X-RevoChat-Event (o nome do evento) e X-RevoChat-Signature (uma assinatura HMAC-SHA256 do corpo bruto, feita com o segredo do seu webhook) — verifique-a antes de processar. Formato do corpo: { event, createdAt, data }. As entregas expiram após 5 segundos, então responda rápido.

conversation.created
Uma nova conversa começou
message.created
Chegou uma nova mensagem
conversation.closed
Uma conversa foi encerrada
conversation.rated
Um visitante deixou uma avaliação de CSAT
node — verificação de assinatura
const crypto = require("crypto");
const expected = crypto
  .createHmac("sha256", process.env.WEBHOOK_SECRET)
  .update(rawBody) // corpo bruto — ANTES do JSON.parse
  .digest("hex");
if (expected !== req.headers["x-revochat-signature"]) return res.status(401).end();
05 · API JS do widget

Controle total do balão de chat

Assim que o script de instalação carregar, o objeto window.RevoChat estará pronto:

widget.js
RevoChat.open();                    // abre o painel
RevoChat.close();                   // fecha o painel
RevoChat.toggle();                  // abre/fecha
RevoChat.isOpen();                  // está aberto? (boolean)

RevoChat.identify({                 // identifica o visitante
  name: "Maria Silva",
  email: "[email protected]",
});

RevoChat.on("ready", () => {});     // widget carregado
RevoChat.on("open", () => {});      // painel aberto
RevoChat.on("close", () => {});     // painel fechado
RevoChat.on("message", (m) => {});  // nova mensagem ({ sender, content, type })

Adicione data-lang="en" à tag do script para definir o idioma do widget por página (tr / en / de / es). O atributo data-canli-destek dos códigos de incorporação antigos continua compatível.

06 · Acompanhamento de vendas

Conecte as conversas à receita

Adicione uma linha à página de confirmação do pedido; a venda é vinculada à conversa mais recente do visitante e aparece em Análises como "receita atribuída ao chat".

widget.js
RevoChat.track("purchase", {
  orderId: "ORD-1042",   // opcional
  amount: 1299.9,        // obrigatório (number)
  currency: "USD",       // padrão: TRY
});

Por enquanto, o único evento compatível é purchase; a venda é atribuída à conversa mais recente do visitante.

Pegue sua chave, conecte em 5 minutos

As chaves de API e os segredos de webhook são gerenciados na página Desenvolvedores do seu painel.

Ir para Desenvolvedores →
200 OK · 42 ms