ChatOper Справка
Справка · Клиенты и отчёты

API, вебхуки и JS API виджета

Ключи API ChatOper, вебхуки о новых диалогах и сообщениях, управление виджетом из кода сайта.

Всё это — в Настройки → API и вебхуки (только для администраторов).

REST API

  1. Нажмите «Новый ключ», дайте название (например «CRM»). Ключ показывается один раз — сохраните его.
  2. Передавайте ключ в заголовке Authorization: Bearer co_….

Через API можно получить диалоги с сообщениями, карточки клиентов и отчёт, а также написать сообщение в открытый диалог от имени бота (оно уйдёт и в мессенджер, если диалог оттуда). Лимит — 120 запросов в минуту на ключ. Полное описание — документация OpenAPI.

Ненужный или скомпрометированный ключ — «Отозвать».

Вебхуки

ChatOper отправит POST с JSON на ваш адрес https://…, когда происходит событие:

  • Новый диалог;
  • Сообщение — посетителя, оператора или бота;
  • Диалог закрыт;
  • Оценка диалога.

Каждый запрос подписан: заголовок с подписью HMAC-SHA256 секретом вебхука — проверяйте его, чтобы отличить наши запросы от чужих. Если ваш сервер не ответил, ChatOper повторит отправку несколько раз с растущей паузой. История доставки и кнопка «Отправить тестовое событие» — у каждого вебхука.

JS API виджета

Управление чатом из кода сайта — открыть по своей кнопке, передать данные вошедшего покупателя, узнать о новых сообщениях:

window.chatoperReady = function (chat) {
  // Свои кнопки «Помощь»
  document.querySelector('#help').onclick = () => chat.open()
  // Покупатель вошёл в личный кабинет — операторы увидят его контакты
  chat.setContactInfo({ name: 'Анна', email: 'anna@example.ru', phone: '+7 900 000-00-00' })
  // Новое сообщение в чате
  chat.on('message', (m) => console.log(m))
}

Методы: open(), close(), toggle(), isOpen(), setContactInfo({name, email, phone}), on(событие, обработчик) и off(...). События: open, close, message, chatClosed. Когда виджет загрузился, вызывается window.chatoperReady(api) и событие chatoper:ready на window.

Статья была полезна?