- Сервис онлайн-консультирования Webim
- -
- База знаний
- -
- Для разработчиков
- -
- Webim API
- -
- Webim Stored Data API
- -
- Webim Stored Data API 2.0
-
-
-
- API сервиса Webim
- Webim Mobile SDK и мобильное приложение Webim для посетителя
- Встраивание чата Webim на сайт
- Идентификаторы посетителя
- Интеграция со сторонними сервисами
- Интерфейс виджета чата
- Логика обработки чатов
- Настройка сервиса Webim
- Операторы и РМО
- Отделы в сервисе Webim
- Панель приборов: ответы на вопросы
- Эксплуатация сервиса Webim
- Основные понятия и термины
- Сброс пароля
- Система управления ролями и правами доступа
- Шаг 1. Установка виджета Webim на сайт
- Шаг 2. Начальная настройка сервиса
- Шаг 3. Регистрация оператора
- Шаг 4. Подключение каналов общения
-
-
-
- 01. Обнаружение нового посетителя, ожидающего ответа
- 02. Выбор посетителя сайта из списка и начало диалога
- 03. Набор ответа посетителю, выбор шаблона
- 04. Запрос контактной информации у посетителя
- 05. Отправка файла посетителю
- 06. «Телепортация» пользователей
- 07. Переадресация диалога другому оператору
- 08. Отправка переписки на адрес электронной почты оператора
- 09. Назначение категории посетителю
- 10. Блокировка посетителя
- 11. Вставка гиперссылки в сообщение
- 12. Добавление cкрытых сообщений
- 13. Проверка орфографии
- Agent`s Handbook
- Горячие клавиши в РМО
- Загрузка файлов в диалог
- Исходящие диалоги
- Как включить оповещения в Google Chrome
- Очереди в РМО
- Работа с офлайн-обращениями в РМО
-
- Автоприглашения
- Активность сотрудников
- Алгоритмы назначения чатов
- Видимость диалогов
- Возможности и ограничения Webim в каналах общения
- Вход в систему
- Геолокация посетителей
- График работы
- Добавление кнопки Webim в E-mail
- Закрытие диалогов
- Логотип компании в заголовке чата
- Маршрутизация чатов между операторами и ботами
- Маска телефонного номера
- Настройка языков
- Общие настройки организации
- Ограничения по длине сообщений и полей
- Особенности функционала «Начать чат» в каналах общения
- Отделы
- Оценки
- Переназначение специализированных клавиш управления в РМО
- Приоритетные страницы
- Рассылки
- Регистрация операторов и назначение супервизоров
- Системные сообщения
- Список тайм-аутов
- Финансы
- Шаблоны ответов
-
-
- Встраивание административного интерфейса через iframe
- Горизонтальное масштабирование (кластеризация)
- Интеграция с почтовыми серверами
- Обработка файлов, загружаемых в чат
- Описание сервисных периодов Webim
- Параметры настроек сервера
- Редактор настроек аккаунта (account config)
- Редактор ресурсов
- Сетевые конфигурации сервиса Webim
-
-
-
- Webim Mobile SDK 3.0 для интеграции в мобильные приложения iOS
- Информация о выпусках (Release notes) – Webim Mobile SDK 3 для Android
- Информация о выпусках (Release notes) – Webim Mobile SDK 3 для iOS
- Справочник по Webim Mobile SDK – SDK для интеграции в мобильные приложения iOS (iPhone/iPad)
- Справочник по Webim Mobile SDK для интеграции в мобильные приложения Android
- Push-уведомления
- Webim Cordova Plugin
-
- Webim CRM postMessage Interface
- Как сделать ссылку кнопкой старта чата
- Маршрутизатор чатов
- Обработчики событий чата
- Процедура установки чата Webim на сайт в iframe
-
-
-
- Настройка интеграции с Facebook* (для версий до 10.0 включительно)
- Настройка интеграции с Facebook* с помощью приложения Webim
- Настройка интеграции с Instagram* с помощью приложения Webim
- Настройка приложения для интеграции с Facebook* (для версий до 10.0 включительно)
- Создание бизнес-аккаунта в Instagram*
- Создание страницы организации в Facebook*
- Skype
- Telegram
- Viber
- ВКонтакте
- Одноклассники
-
-
Webim Stored Data API 2.0
СОДЕРЖАНИЕ
Является актуальной версией API.
Базовый URL
Базовый URL — это домен Вашего аккаунта, он зависит от Вашей сетевой конфигурации. Он имеет вид:
https://{hostname}/api/v2/{path}
Где {hostname}
— имя хоста, на котором размещается сервер Webim, вида {account}.webim.ru
для облачных клиентов и chat.mycompany.com
для hosted, {path}
— команда API.
На базовый URL отправляются запросы для доступа к Webim Stored Data API 2.0.
Пример готового запроса к Webim Stored Data API 2.0:
https://company.webim.ru/api/v2/operators
Данный запрос должен вернуть список всех операторов.
Для доступа к Webim Stored Data API необходимо пройти авторизацию.
Авторизация, доступ к API
Чтобы получить доступ к Webim Stored Data API Вам необходимо обратиться в техническую поддержку сервиса Webim - support@webim.ru. Для доступа используется email и пароль администратора (admin_password).Осуществляется basic авторизация таким образом:
curl -u adm@domain.com:password {base_url}/api/v2/{request}
Где base_url — базовый URL для вашей сетевой конфигурации, request — Ваш запрос к API.
Таким образом, после "curl -u" идёт e-mail пользователя, двоеточие, его пароль, а затем URL запроса.
- Работа API осуществляется только по протоколу HTTPS.
- Все данные возвращаются в кодировке UTF-8.
- Формат времени ISO 8601 и UTC в качестве часового пояса (временной зоны).
- Формат временных интервалов: секунды.
При работе через https убедитесь, что ваша библиотека поддерживает SNI.
Обработка ошибок
Если введён неверный пароль или пользователя не существует, возвращается HTTP-код 401.
Если оператор не является администратором или сделано слишком много попыток авторизации, возвращается HTTP-код 403. Прочие ошибки приходят в формате JSON следующего содержания (с HTTP-кодом 200, если не указано иное):
{"error":"код-ошибки"}
Возможные типы ошибок:
Код ошибки | Описание |
---|---|
no-tariff-option | Аккаунт не имеет доступа к API |
unknown-method | Задан неверный тип запроса |
unknown-mode | Выбран неверный режим запроса (mode) |
argument-missing | Не хватает аргументов для запроса |
unknown | Неизвестная ошибка |
Выдача списка операторов
Path: /operators
Тип запроса: GET
Query-string параметры: не нужны. Запрос возвращает массив всех операторов, привязанных к данному аккаунту Webim. Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
status | String | "invisible" | Статус оператора. Все возможные значения можно посмотреть в этой статье. |
roles | Array of strings | "admin" | Список ролей оператора. Может принимать значения "operator" , "admin" и "supervisor" . |
created_at | String | "2019-04-20T15:05:42Z" | Дата регистрации оператора в формате ISO 8601. |
String | "vkovalev@webim.ru" | Email-адрес оператора. | |
full_name | String | "Владимир К." | Полное имя оператора. |
id | Integer | 196458 | Уникальный идентификатор оператора. |
Пример ответа (NB: тело ответа имеет стандартный вид вне зависимости от статуса сотрудника):
[ { "status": "online", "roles": [ "admin" ], "created_at": "2019-04-08T14:10:32Z", "email": "mariakolesnikova@webim.ru", "full_name": "Мария", "id": 192162 }, { "status": "offline", "roles": [ "operator" ], "created_at": "2019-07-10T13:17:49Z", "email": "ivan_kuznecov@webim.ru", "full_name": "Иван К.", "id": 193903 }, { "status": "invisible", "roles": [ "operator" ], "created_at": "2019-06-16T18:56:32Z", "email": "petr_smirnov@webim.ru", "full_name": "Пётр", "id": 196158 }, { "status": "pre-dinner", "roles": [ "admin" ], "created_at": "2019-02-28T12:25:45Z", "email": "anastasiagolubeva@webim.ru", "full_name": "Анастасия", "id": 194435 }, ]
Выдача списка отделов
Path: /departments
Тип запроса: GET
Query-string параметры: не нужны. Запрос возвращает массив отделов, привязанных к данному аккаунту Webim. Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | Integer | 12 | Уникальный идентификатор отдела. |
name | String | "Отдел продаж" | Название отдела. |
order | Integer | 800 | Порядок сортировки отдела. |
Пример ответа:
[ { "id": 1, "name": "Первый отдел", "order": 100 }, { "id": 2, "name": "Второй отдел", "order": 200 } ]
Выдача диалогов за период
Path: /chats
Тип запроса: GET
Query-string параметры: since — см. ниже (под примером). Возвращает массив диалогов за определённый период времени. Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | Integer или String | 2036 | Уникальный идентификатор чата. Назначается чату при записи в БД. Это тот номер (или GUID_, который отображается в РМО и в истории диалога. |
created_at | String | "2019-11-18T09:29:09Z" | Дата создания чата в формате ISO 8601. |
category | String | Создаются сотрудниками в статусе администратора. Например, могут быть категории "Техническая поддержка", "Вопросы по кредитам", "Вопросы по вкладам" и т.п. | Категория чата, см. пункт Классификация чатов. Может принимать значение NULL. |
subcategory | String | Создаются сотрудниками в статусе администратора. Например, для категории "Вклады" могут быть подкатегории "Для физических лиц", "Для юридических лиц". | Подкатегория чата, см. пункт Классификация чатов. Может принимать значение NULL. |
operator_id | Integer | 181250 | Уникальный идентификатор оператора. |
operator_comment | String | "Оператор Виктор П. добавил комментарий: {текст комментария}" | Сообщение о добавлении оператором комментария к чату. Может принимать значение NULL. (Присутствует, если включена соответствующая функция) |
rates | Array | "rate": 3, "operator_id": 209920, "created_at": "2020-05-13T23:57:01Z" |
Массив данных о выставленных оператору оценках. |
messages | Array | Описание и примеры значений полей здесь. | Массив из сообщений пользователя, которые были отправлены в чат до его появления в РМО (например, с каналов общения). |
state_history | Array | Описание и примеры значений полей можно посмотреть здесь. | Массив данных, описывающий историю состояний чата. Может принимать значение NULL. |
visitor | String | id: "d6123d01de9d4e61b1a5a4a82e451839" | Данные посетителя. Не может быть пустым. Обязательно должно присутствовать поле id. Объект fields внутри visitor может быть и пустым, однако в этом случае посетитель будет неавторизованным. Если идентифицирующие посетителя данные предоставляются, то передавать их следует точно в соответствии со статьёй об идентификации. Если пользователь неавторизован, то и visitor-fields-id не нужен. |
visit_session | String | Описание и примеры значений полей здесь. | Данные о сессии посетителя. |
start_page.url | String | "https://webim.ru" | URL-адрес страницы, с которой пришёл посетитель. |
more_chats_available | Boolean | "true" | Показывает, остались ли ещё незагруженные чаты, так как в ответ на запрос не может быть возвращено более 100 диалогов. |
last_ts | String | "1551278071115810" | Параметр, принимаемый в качестве since при дальнейших вызовах запросов выгрузки чатов. |
Описание полей объекта messages
* в ответе за запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | String | "0052a4489cc742c7b4b867a3ed87991e" | Уникальный идентификатор сообщения. |
created_at | String | "2019-11-18T09:29:09Z" | Дата отправки сообщения. |
kind | String | "visitor" | Тип сообщения. Это могут разные виды системных сообщений, сообщения оператора или посетителя, отправленные файлы и т. д. Полное описание типов сообщений можно посмотреть в статье. |
message | String | "Здравствуйте! Мне нужна консультация по вашим тарифам." | Текст сообщения. |
operator_id | Integer | 245875 | Идентификатор оператора, отправившего сообщение. |
*Если тип сообщения keyboard
или keyboard_response
, то актуально следующее описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | String | "0052a4489cc742c7b4b867a3ed87991e" | Уникальный идентификатор сообщения. |
created_at | String | "2019-11-18T09:29:09Z" | Дата отправки сообщения. |
kind | String | "keyboard" | Тип сообщения. Полное описание типов сообщений можно посмотреть в статье. |
data | String | id: "2" buttonId: "3" messageId: "ee310f4073834962867d77bc84bbe9e7" |
Поля для типа сообщений keyboard :
Поля для типа сообщений
|
Описание полей объекта state_history
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
state | String | "chatting" | Наименование состояния чата. Все состояния отображены на Схеме жизненного цикла чата. |
operator_id | Integer | 181509 | Уникальный идентификатор оператора. Может принимать значение NULL. |
at | String | "2019-11-18T09:31:09Z" | Дата смены состояния чата. |
department_id | Integer | 6 | Уникальный идентификатор отдела. Может принимать значение NULL. |
Описание полей объекта visit_session
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
ip | String | "31.193.122.170" | IP-адрес устройства посетителя. Может принимать значение NULL. |
landing_page.url | String | "https://telegram.org/" | Страница, с которой посетитель начал чат. Может принимать значение NULL. |
Описание полей объекта rates
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
rate | Integer | 5 | Выставленная оператору оценка (от 1 до 5). |
operator_id | Integer | 245896 | Идентификатор оператора, которому поставлена оценка. |
created_at | String | "2020-05-13T23:57:01Z" | Дата выставления оценки в формате ISO 8601. |
Пример ответа:
{ "chats": [ { "id": 453, "created_at": "2012-04-04T09:14:57Z", "category": "Категория", "subcategory": "Подкатегория", "operator_id": 123, "operator_comment": null, "rates": [ { "rate": 3, "operator_id": 209920, "created_at": "2020-05-13T23:57:01Z" } ], "messages": [ { "created_at": "2012-04-04T09:14:57Z", "kind": "for_operator", "message": "Посетитель открыл окно диалога со страницы" "id": "24113c657f254698a3e660c64c4ed6b5" }, { "created_at": "2012-04-04T09:14:57Z", "kind": "info", "message": "Пожалуйста, подождите немного." "id": "f5eee59b508e47f999d8a373d0362c95" }, { "created_at": "2012-04-04T09:14:57Z", "kind": "events", "message": "Оператор Администратор включился в разговор" "id": "324090d75f904a3eb04e54b2fc44094b" }, { "created_at": "2012-04-04T09:14:57Z", "kind": "operator_busy", "message": "Приносим извинения, оператор отлучился" "id": "b1f9c575fc4d4b45b2480a490443a802" }, { "created_at": "2012-04-04T09:14:57Z", "kind": "file_operator", "data": { "guid": "8cdb288", "content_type": "text", "filename": "v.txt" }, "operator_id": 123 }, { "created_at": "2012-04-04T09:14:57Z", "kind": "file_visitor", "data": { "guid": "81f0488", "content_type": "text", "filename": "v.txt" }, "operator_id": 123 }, { "created_at": "2012-04-04T09:14:57Z", "kind": "operator", "message": "Здравствуйте! Чем я могу Вам помочь?", "operator_id": 123 }, { "created_at": "2012-04-04T09:14:57Z", "kind": "contacts_request", "message": "Введите, пожалуйста, информацию.", "operator_id": 123 }, { "created_at": "2012-04-04T09:14:57Z", "kind": "contacts", "message": { "name": "Вася", "phone": "1", "email": "v@webim.ru" } }, { "created_at": "2012-04-04T09:14:57Z", "kind": "visitor", "message": "Пока нет, спасибо" } ], "state_history": [ { "state": "queue", "operator_id": null, "at": "2014-06-10T17:06:22Z", "department_id": null }, { "state": "queue", "operator_id": 3, "at": "2014-06-10T17:06:22Z", "department_id": null }, { "state": "chatting", "operator_id": 3, "at": "2014-06-10T17:06:28Z", "department_id": null }, { "state": "queue", "operator_id": null, "at": "2014-06-10T20:07:04Z", "department_id": 2 } ], "visitor": { "fields": { "email": "support@webim.ru", "id": "asdf123", "icq": "123123123", "login": "somelogin", "name": "asdf123", "phone": "+7 (812) 385-53-37", "profile_url": "https://vk.com/id000", "site": "https://webim.ru" }, "id": "4d123f6d7143490d966432ccb24403a4" }, "visit_session": { "ip": "192.168.1.123", "landing_page": { "url": "https://webim.ru" } }, "start_page": { "url": "https://webim.ru/help/api" } }, { "id": 454, "created_at": "2018-04-04T09:15:57Z" }, { "id": 455, "created_at": "2012-04-04T09:16:57Z" } ... ], "more_chats_available": false, "last_ts": 1429054006896762 }
В запросе должен быть указан параметр since. В первом запросе передается since=0, в ответе на каждый запрос есть поле last_ts, и в каждом следующем запросе в качестве since должно передаваться значение last_ts из предыдущего. NB: в параметрах since и last_ts значение указывается в микросекундах!
Таким образом каждый следующий запрос получает в ответ только обновления по отношению к тому, что было получено на все предыдущие запросы.
Один и тот же диалог может быть получен несколько раз, если с момента, когда он был получен первый раз, в нем происходили какие-либо изменения.
В ответ на запрос истории возвращается за раз не более 100 диалогов. Если поле more_chats_available в ответе имеет значение true, это означает, что на сервере остались новые или изменившиеся диалоги, "не поместившиеся" в это ограничение, и следует сделать еще один запрос с новым значением since для их получения (и повторять это до тех пор, пока more_chats_available не примет значение false).
Выдача диалогов по ID
Path: /chat
Тип запроса: GET
Query-string параметры: id — id диалога. Возвращает объект chat
по его уникальному идентификатору. Пример запроса:
https://company.webim.ru/api/v2/chat?id=1465
где chat?id={chat_id}
вид команды API, а {chat_id}
(в примере 1465
) — уникальный идентификатор чата, информацию о котором необходимо получить.
Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
operator_id | Integer | 181250 | Уникальный идентификатор оператора. |
start_page.url | String | "https://webim.ru" | URL-адрес страницы, с которой пришёл посетитель. |
rates | Array | "rate": 3, "operator_id": 209920, "created_at": "2020-05-13T23:57:01Z" |
Массив данных о выставленных оператору оценках. |
subcategory | String | Создаются сотрудниками в статусе администратора. Например, для категории "Вклады" могут быть подкатегории "Для физических лиц", "Для юридических лиц". | Подкатегория чата, см. пункт Классификация чатов. Может принимать значение NULL. |
visitor | String | id: "d6123d01de9d4e61b1a5a4a82e451839" | Данные посетителя. Не может быть пустым. Обязательное поле id. Объект fields внутри visitor может быть и пустым, однако в этом случае посетитель будет неавторизованным. Если идентифицирующие посетителя данные предоставляются, то передавать их следует точно в соответствии со статьёй об идентификации. Если пользователь не авторизован, то и visitor-fields-id не нужен. |
id | Integer или String | 2036 | Уникальный идентификатор чата. Назначается чату при записи в БД. Это тот номер (или GUID), который отображается в РМО и в истории диалога. |
category | String | Создаются сотрудниками в статусе администратора. Например, могут быть категории "Техническая поддержка", "Вопросы по кредитам", "Вопросы по вкладам" и т.п. | Категория чата, см. пункт Классификация чатов. Может принимать значение NULL. |
operator_comment | String | "Оператор Виктор П. добавил комментарий: {текст комментария}" | Сообщение о добавлении оператором комментария к чату. Может принимать значение NULL. (Присутствует, если включена соответствующая функция) |
visit_session | String | Описание и примеры значений полей здесь. | Данные о сессии посетителя. |
created_at | String | "2019-11-18T09:29:09Z" | Дата создания чата в формате ISO 8601. |
messages | Array | Описание и примеры значений полей здесь. | Массив из сообщений пользователя, которые были отправлены в чат до его появления в РМО (например, с каналов общения). |
state_history | Array | Описание и примеры значений полей можно посмотреть здесь. | Массив данных, описывающий историю состояний чата. Может принимать значение NULL. |
Описание полей объекта messages*
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | String | "0052a4489cc742c7b4b867a3ed87991e" | Уникальный идентификатор сообщения. |
created_at | String | "2019-11-18T09:29:09Z" | Дата отправки сообщения. |
kind | String | "visitor" | Тип сообщения. Это могут разные виды системных сообщений, сообщения оператора или посетителя, отправленные файлы и т. д. Полное описание типов сообщений можно посмотреть в статье. |
message | String | "Здравствуйте! Мне нужна консультация по вашим тарифам." | Текст сообщения. |
*Если тип сообщения keyboard
или keyboard_responce
, то используется следующее описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
id | String | "0052a4489cc742c7b4b867a3ed87991e" | Уникальный идентификатор сообщения. |
created_at | String | "2019-11-18T09:29:09Z" | Дата отправки сообщения. |
kind | String | "keyboard" | Тип сообщения. Полное описание типов сообщений можно посмотреть в статье. |
data | String | id: "2" buttonId: "3" messageId: "ee310f4073834962867d77bc84bbe9e7" |
Поля для типа сообщений keyboard :
Поля для типа сообщений
|
Описание полей объекта state_history
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
state | String | "chatting" | Наименование состояния чата. Все состояния отображены на Схеме жизненного цикла чата. |
operator_id | Integer | 181509 | Уникальный идентификатор оператора. Может принимать значение NULL. |
at | String | "2019-11-18T09:31:09Z" | Дата смены состояния чата. |
department_id | Integer | "6" | Уникальный идентификатор отдела. Может принимать значение NULL. |
Описание полей объекта visit_session
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
ip | String | "31.193.122.170" | IP-адрес устройства посетителя. Может принимать значение NULL. |
landing_page.url | String | "https://telegram.org/" | Страница, с которой посетитель начал чат. Может принимать значение NULL. |
Описание полей объекта rates
в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
rate | Integer | 5 | Выставленная оператору оценка (от 1 до 5). |
operator_id | Integer | 245896 | Идентификатор оператора, которому поставлена оценка. |
created_at | String | "2020-05-13T23:57:01Z" | Дата выставления оценки в формате ISO 8601. |
Пример ответа:
{ "chat":{ "operator_id":181502, "start_page":{ "url":"https://webim.ru" }, "subcategory":null, "visitor":{ "fields":{ }, "id":"2c4a44b8948e4985951cb6df99279cdc" }, "id":1465, "category":null, "operator_comment": null, "rates": [ { "rate": 3, "operator_id": 209920, "created_at": "2020-05-13T23:57:01Z" } ], "visit_session":{ "ip":"31.193.122.170", "landing_page":{ "url":"https://company.webim.ru/sample-page.php?redirected=1" } }, "created_at":"2019-07-19T14:39:08Z", "messages":[ { "created_at":"2019-07-19T14:39:08Z", "message":"Пожалуйста, подождите немного, к Вам присоединится оператор...", "kind":"info", "id":"24113c657f254698a3e660c64c4ed6b5" }, { "created_at":"2019-07-19T14:39:11Z", "message":"Привет!", "kind":"visitor", "id":"f5eee59b508e47f999d8a373d0362c95" }, { "created_at":"2019-07-19T14:39:13Z", "message":"Оператор Георгий Б включился в разговор", "kind":"info", "id":"324090d75f904a3eb04e54b2fc44094b" }, { "created_at":"2019-07-19T14:39:15Z", "operator_id":181502, "message":"Привет и пока!", "kind":"operator", "id":"b1f9c575fc4d4b45b2480a490443a802" }, { "created_at":"2019-07-19T14:39:20Z", "message":"Оператор закрыл диалог", "kind":"info", "id":"2970ed561d6a40c1b788001289096acb" } ], "state_history":[ { "state":"queue", "operator_id":null, "at":"2019-07-19T14:39:08Z", "department_id":5 }, { "state":"queue", "operator_id":181502, "at":"2019-07-19T14:39:08Z", "department_id":5 }, { "state":"chatting", "operator_id":181502, "at":"2019-07-19T14:39:13Z", "department_id":5 }, { "state":"closed", "operator_id":181502, "at":"2019-07-19T14:39:20Z", "department_id":5 } ] } }
Выдача тарифов
Path: /partner/tariffs
Тип запроса: GET
Query-string параметры: не нужны. Запрос возвращает массив тарифов сервиса Webim. Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
partner_prices.per_operator_price | Float | 232.0 | Цена за одного оператора для партнёров. |
partner_prices.base_price | Float | 365.0 | Базовая цена тарифа для партнёров. |
name | String | "Корпоративный" | Название тарифа. |
discounts | Object | {"1": 0, "2": 0, "3": 10,} |
Размер скидки в процентах по заказанному периоду в месяцах. Может быть NULL. |
public_prices.per_operator_price | Float | 290 | Цена за одного оператора для обычных пользователей. |
public_prices.base_price | Float | 360 | Базовая цена тарифа для обычных пользователей. |
key | String | "corp" | Уникальный ключ тарифа. |
description | String | "Что Вы получаете: базовый функционал обслуживания посетителей +..." | Описание тарифа. |
Пример ответа:
{ "tariffs": [ { "partner_prices": { "per_operator_price": 232.0, "base_price": 392.0 }, "name": "Начальный", "discounts": {}, "public_prices": { "per_operator_price": 290, "base_price": 490 }, "key": "start", "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ хранение истории в течение одного месяца;n+ показ до 20 посетителей сайта.nnЧего Вы не получаете:n- работа с отделами;n- показ до 50 посетителей сайта;n- настройка цветов диалога;n- статистика работы операторов;n- хранение истории сообщений без ограничений по времени." }, { "partner_prices": { "per_operator_price": 632.0, "base_price": 1112.0 }, "name": "Бизнес", "discounts": {}, "public_prices": { "per_operator_price": 790, "base_price": 1390 }, "key": "bus", "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ показ до 50 посетителей сайта;n+ работа с отделами;n+ настройка цветов диалога;n+ статистика работы операторов;n+ хранение истории сообщений без ограничений по времени." }, { "partner_prices": { "per_operator_price": 1992.0, "base_price": 1992.0 }, "name": "Корпоративный", "discounts": {}, "public_prices": { "per_operator_price": 2490, "base_price": 2490 }, "key": "corp", "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ показ до 50 посетителей сайта;n+ работа с отделами;n+ настройка цветов диалога;n+ расширенная статистика работы операторов;n+ хранение истории сообщений без ограничений по времени.n+ расширенная информация о посетителе." } ] }
Выдача статистики
Path: /stats
Тип запроса: GET
Query-string параметры: date — дата, за которую запрашивается статистика; mode — usage (обращения различных типов) или operators (отчёт по операторам). Пример запроса:
https://company.webim.ru/api/v2/stats?date=2012-04-20&mode=usage
Где stats?date={date}&mode={mode}
— вид команды API, в котором {date}
— дата, статистику за которую необходимо вывести, указанная в формате yyyy-mm-dd
, {mode}
— режим запроса (usage
или operators
).
Запрос возвращает статистику обращений различных типов.
Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
contacts | Integer | 6 | Общее число обращений за определённую дату. |
missed | Integer | 2 | Количество обращений, ожидающих ответа. |
chats | Integer | 2 | Количество чатов в статусе «В диалоге». |
offlines | Integer | 0 | Количество офлайн-обращений. |
avg_waiting_time | Integer | 24650 | Среднее время ожидания. |
Пример ответа:
{ "contacts": 10, "missed": 1, "chats": 7, "offlines": 2, "avg_waiting_time": 100 }
Адрес запроса:
{base_url}/api/v2/stats?date=2012-04-20&mode=operators
Где base_url — базовый URL для вашей сетевой конфигурации.
Запрос возвращает отчёт по всем операторам за определённую дату.
Описание полей объекта в ответе на запрос:
Название параметра | Тип | Пример | Описание |
---|---|---|---|
operator_id | Integer | 189650 | Уникальный идентификатор оператора. |
online_time | Integer | 961 | Время оператора в статусе «Онлайн». |
chating_time | Integer | 562 | Время оператора в статусе «В диалоге». |
avg_chating_time | Integer | 236 | Среднее время оператора в диалоге. |
busy_messages | Integer | 0 | Количество сообщений о занятости оператора, которые отображались пользователям во время обращения к этому оператору. |
chats | Integer | 5 | Количество обработанных обращений. |
Пример ответа:
[ { "operator_id": 123, "online_time": 28800, "chating_time": 18000, "avg_chating_time": 150, "busy_messages": 5, "chats": 3 }, { "operator_id": 124, "online_time": 23800, "chating_time": 1000, "avg_chating_time": 150, "busy_messages": 1, "chats": 2 } ]