⌘ PARA DESARROLLADORES

Una plataforma. Tres superficies potentes.

Obtén conversaciones con la API REST, escucha eventos en tiempo real con webhooks firmados con HMAC y controla por código la burbuja de chat de tu sitio con la API JS del widget.

200 OK · 42 ms Webhooks firmados con HMAC-SHA256 Acceso con clave de API
01 · Primeros pasos

Tu primera solicitud en 5 minutos

Todas las superficies tienen un único requisito: crear una clave de API en la página Desarrolladores de tu panel. Con tu clave puedes obtener datos por REST, configurar webhooks y controlar el widget.

1
Crea una clave
Panel → Desarrolladores → Nueva clave
2
Envía una solicitud
Con una cabecera Authorization: Bearer
3
Escucha eventos
Configura la URL de tu webhook
02 · Autenticación

Autentícate con una clave Bearer

Añade tu clave a cada solicitud REST en la cabecera Authorization. Las claves empiezan por el prefijo rc_live_ y solo se muestran una vez, al crearlas: guarda la tuya en un lugar seguro.

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

Acceso programático a tus datos

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

GET/conversations

Lista las conversaciones, primero las actualizadas más recientemente. Parámetros: status (open | closed), limit (50 por defecto, máximo 200). La respuesta devuelve un array data; cada registro incluye el sitio, el visitante, el agente asignado, las etiquetas, la puntuación CSAT y las marcas de tiempo.

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

Devuelve una sola conversación con todos sus mensajes (sin las notas internas). Los mensajes incluyen sender, content, type y los campos de archivo cuando existen. Devuelve 404 si no se encuentra.

Una clave no válida o ausente recibe un 401 con un cuerpo { "error": "..." }. Las claves antiguas con el prefijo cd_live_ siguen funcionando.

04 · Webhooks

Los eventos en tus manos en el momento en que ocurren

Configura una URL de webhook en tu panel; los eventos que elijas se envían como POST con un cuerpo JSON en el momento en que ocurren. Cada solicitud lleva dos cabeceras: X-RevoChat-Event (el nombre del evento) y X-RevoChat-Signature (una firma HMAC-SHA256 del cuerpo sin procesar, hecha con tu secreto de webhook): verifícala antes de procesarla. Forma del cuerpo: { event, createdAt, data }. Las entregas caducan a los 5 segundos, así que responde rápido.

conversation.created
Se inició una conversación nueva
message.created
Llegó un mensaje nuevo
conversation.closed
Se cerró una conversación
conversation.rated
Un visitante dejó una valoración CSAT
node — verificación de firma
const crypto = require("crypto");
const expected = crypto
  .createHmac("sha256", process.env.WEBHOOK_SECRET)
  .update(rawBody) // cuerpo sin procesar — ANTES de JSON.parse
  .digest("hex");
if (expected !== req.headers["x-revochat-signature"]) return res.status(401).end();
05 · API JS del widget

Control total de la burbuja de chat

Una vez cargado el script de instalación, el objeto window.RevoChat está listo:

widget.js
RevoChat.open();                    // abrir el panel
RevoChat.close();                   // cerrar el panel
RevoChat.toggle();                  // abrir/cerrar
RevoChat.isOpen();                  // ¿está abierto? (boolean)

RevoChat.identify({                 // identificar al visitante
  name: "Jane Doe",
  email: "[email protected]",
});

RevoChat.on("ready", () => {});     // widget cargado
RevoChat.on("open", () => {});      // panel abierto
RevoChat.on("close", () => {});     // panel cerrado
RevoChat.on("message", (m) => {});  // mensaje nuevo ({ sender, content, type })

Añade data-lang="en" a la etiqueta del script para forzar el idioma del widget en cada página (tr / en / de / es). El atributo data-canli-destek de los códigos de inserción antiguos sigue siendo compatible.

06 · Seguimiento de ventas

Vincula los chats con los ingresos

Añade una línea a tu página de confirmación de pedido; la venta se vincula a la última conversación del visitante y aparece en Analíticas como "ingresos atribuidos al chat".

widget.js
RevoChat.track("purchase", {
  orderId: "ORD-1042",   // opcional
  amount: 1299.9,        // obligatorio (número)
  currency: "USD",       // por defecto: TRY
});

Por ahora, el único evento compatible es purchase; la venta se atribuye a la conversación más reciente del visitante.

Consigue tu clave, conecta en 5 minutos

Las claves de API y los secretos de webhook se gestionan en la página Desarrolladores de tu panel.

Ir a Desarrolladores →
200 OK · 42 ms