Одна платформа. Три мощных интерфейса.
Получайте диалоги через REST API, слушайте события в реальном времени с помощью вебхуков с подписью HMAC и программно управляйте пузырьком чата на сайте через JS API виджета.
Первый запрос за 5 минут
Для всех интерфейсов нужно одно: создать API-ключ на странице «Разработчикам» в панели. С ключом можно получать данные по REST, настраивать вебхуки и управлять виджетом.
Аутентификация по ключу Bearer
Добавляйте ключ к каждому REST-запросу в заголовке Authorization. Ключи начинаются с префикса rc_live_ и показываются только один раз, при создании, — сохраните свой в надёжном месте.
curl https://revochat.app/api/v1/conversations \
-H "Authorization: Bearer rc_live_XXXXXXXXXXXX"Программный доступ к вашим данным
Базовый URL: https://revochat.app/api/v1
/conversationsВозвращает диалоги, сначала недавно обновлённые. Параметры: status (open | closed), limit (по умолчанию 50, максимум 200). В ответе — массив data; каждая запись содержит сайт, посетителя, назначенного оператора, теги, оценку CSAT и временные метки.
curl "https://revochat.app/api/v1/conversations?status=open&limit=20" \
-H "Authorization: Bearer rc_live_..."/conversations/:idВозвращает один диалог со всеми сообщениями (без внутренних заметок). У сообщений есть sender, content, type и, если есть, поля файлов. Если диалог не найден — 404.
На неверный или отсутствующий ключ возвращается 401 с телом { "error": "..." }. Старые ключи с префиксом cd_live_ продолжают работать.
События у вас в момент, когда они происходят
Укажите URL вебхука в панели — выбранные события будут отправляться запросом POST с телом JSON сразу, как только произойдут. В каждом запросе два заголовка: X-RevoChat-Event (название события) и X-RevoChat-Signature (подпись HMAC-SHA256 исходного тела, сделанная секретом вебхука) — проверяйте её перед обработкой. Формат тела: { event, createdAt, data }. Тайм-аут доставки — 5 секунд, поэтому отвечайте быстро.
conversation.createdmessage.createdconversation.closedconversation.ratedconst crypto = require("crypto");
const expected = crypto
.createHmac("sha256", process.env.WEBHOOK_SECRET)
.update(rawBody) // исходное тело — ДО JSON.parse
.digest("hex");
if (expected !== req.headers["x-revochat-signature"]) return res.status(401).end();Полный контроль над пузырьком чата
После загрузки скрипта установки объект window.RevoChat готов к работе:
RevoChat.open(); // открыть панель
RevoChat.close(); // закрыть панель
RevoChat.toggle(); // открыть/закрыть
RevoChat.isOpen(); // открыта ли? (boolean)
RevoChat.identify({ // идентифицировать посетителя
name: "Jane Doe",
email: "[email protected]",
});
RevoChat.on("ready", () => {}); // виджет загружен
RevoChat.on("open", () => {}); // панель открыта
RevoChat.on("close", () => {}); // панель закрыта
RevoChat.on("message", (m) => {}); // новое сообщение ({ sender, content, type })Добавьте data-lang="en" в тег script, чтобы задать язык виджета для отдельной страницы (tr / en / de / es). Атрибут data-canli-destek из старых кодов встраивания по-прежнему поддерживается.
Свяжите чаты с выручкой
Добавьте одну строку на страницу подтверждения заказа — продажа привяжется к последнему диалогу посетителя и попадёт в аналитику как «выручка после чата».
RevoChat.track("purchase", {
orderId: "ORD-1042", // необязательно
amount: 1299.9, // обязательно (число)
currency: "USD", // по умолчанию: TRY
});Пока поддерживается только событие purchase; продажа засчитывается последнему диалогу посетителя.
API-ключи и секреты вебхуков управляются на странице «Разработчикам» в вашей панели.
Перейти в «Разработчикам» →