Универсальный вебхук
Текущая страница находится в разработке. Материал дополняется...
Last updated
Was this helpful?
Текущая страница находится в разработке. Материал дополняется...
Last updated
Was this helpful?
Если вашей системы нет в списке поддерживаемых источников данных, но у вас есть техническая возможность отправлять POST-запросы из своей системы, то вы можете использовать наш универсальный вебхук в качестве "моста" для связи вашего источника данных с нашей системой.
Вебхук – это способ автоматического обмена информацией между системами. Он позволяет одной системе (например, вашей базе данных / телефонии / ERP- или CRM-системе) отправлять данные в другую систему (например, в aiokk) сразу же, как только происходит какое-то событие. В нашем случае таким событием должно быть завершение телефонного звонка.
Настройте свою систему так, чтобы мы получали через вебхук информацию о новом звонке каждый раз, когда заканчивается телефонный звонок. Вы можете встроить в своей системе отправку данных на наш вебхук только в тех местах, где вам это предусмотрено вашими бизнес-процессами.
Для подключения сторонней системы через вебхук необходимо произвести несколько предварительных действий на стороне личного кабинета.
В разделе Настройки → Источник данных выберите в качестве источника Универсальный вебхук.
Активируйте вебхук
Убедитесь, что вебхук был активирован. Соответствующее состояние будет отображено рядом с заголовком страницы.
Скопируйте токен, который далее будете использовать для формирования ссылки для POST-запросов.
Внимание!
Доступ к данным внутри вашего кабинета обеспечивается посредством верификации через уникальный токен, видимы только в вашем личном кабинете. Никогда не передавайте токен третьим лицам!
Техническая поддержка никогда не будет запрашивать токен вашей учетной записи!
Если по каким-либо причинам вам понадобилось изменить токен, то воспользуйтесь специальной кнопкой, чтобы сгенерировать новый токен.
Во всплывающем уведомлении подтвердите перегенерацию токена доступа и дождитесь, когда в поле "Токен доступа" появится новый токен.
Если в дальнейшем вы снова активируете вебхук, то прежний токен доступа будет по-прежнему работать, и вам ничего не придется перенастраивать.
POST
https://my.aiokk.{domain_zone}/api/v1/{token}/call/new
Метод предназначен для создания нового звонка с подробной информацией о звонке, сотруднике, заданиях аналитики и связанных данных.
Для подготовки корректной ссылки эндпоинта вам необходимо подставить в приведенный выше URL https://my.aiokk.{domain_zone}/api/v1/{token}/call/new
две переменные:
https://my.aiokk.{domain_zone} - соответствует доменной зоне, на которой зарегистрирован ваш кабинет aiokk. Чтобы уточнить вашу доменную зону, авторизуйтесь в своём личном кабинете aiokk и проверьте домен в адресной строке вашего браузера.
В данном конкретном примере, доменная зона - kz
{token} - уникальный токен доступа, видимый только в вашем личном кабинете на странице "Настройки → Источник данных" при выборе вебхука в качестве источника.
Content-Type
application/json
Тело запроса представляет собой JSON-объект с тремя основными блоками: call, employee и analytics.
Блок "call"
uid
string
❌ Нет
Уникальный идентификатор вызова
phone
string
✅ Да
Номер телефона абонента в международном формате (например, +77771112233)
duration
int
✅ Да
Длительность звонка в секундах (поддерживается перевод string в integer)
date
datetime with timezone
✅ Да
Дата и время звонка в формате ISO 8601 (например, 2024-12-15T12:25:41+03:00)
type
int
✅ Да
Тип звонка: 1 - Исходящий, 2 - Входящий, 3 - Входящий с переадресацией 4 - Обратный вызов (поддерживается перевод string в integer)
url
string
✅ Да
Ссылка на запись звонка
extNumber
string
❌ Нет
Внешний номер, на который поступил звонок
ownerBacklink
string
❌ Нет
Ссылка на сущность в вашей системе, к которой подвязан звонок (используется для быстрого перехода из карточки звонка)
Блок "employee"
id
string
❌ Нет
Идентификатор сотрудника
fullName
string
✅ Да
Полное имя сотрудника
intNum
int
❌ Нет
Внутренний номер сотрудника
departmentId
string
❌ Нет
Идентификатор отдела, в котором работает сотрудник
departmentName
string
✅ Да
Название отдела, в котором работает сотрудник
Блок "analytics"
summary
boolean
❌ Нет
Пересказ текста (по умолчанию true). Используйте этот параметр только самостоятельно без других заданий на аналитику, если вам требуется исключительно пересказ звонка. Во всех остальных случаях значение параметра будет проигнорировано и по умолчанию будет принято значение true.
language
boolean
❌ Нет
Определять применяемые языки (по умолчанию false)
customerSatisfaction
object
❌ Нет
Блок задач на определение удовлетворенности клиента (по умолчанию не задействован)
→ assessment
boolean
☝️Условно необязательное
Оценка удовлетворенности клиента (если false, то motivation и recommendation не могут быть true)
→ motivation
boolean
☝️Условно необязательное
Развернутое обоснование оценки удовлетворенности клиента (может быть true, только если assessment - true)
→ recommendation
boolean
☝️Условно необязательное
Рекомендации по повышению оценки удовлетворенности клиента (может быть true, только если assessment - true)
evaluationCriteria
object
❌ Нет
Блок задач на оценку сотрудника по своим критериям (по умолчанию не задействован)
→ questionPack
int
☝️Условно необязательное
Идентификатор набора вопросов для оценки сотрудника (если false, то motivation и recommendation не могут быть true)
→ motivation
boolean
☝️Условно необязательное
Развернутое обоснование оценки по каждому критерию оценки (может быть true, только если assessment - true)
→ recommendation
boolean
☝️Условно необязательное
Рекомендации по повышению оценки удовлетворенности клиента (может быть true, только если assessment - true)
signals
int
❌ Нет
Идентификатор набора маяков для проверки на наличие в разговоре
scripts
int
❌ Нет
Идентификатор скрипта, на соответствие которому необходимо оценить разговор (скоро)
markers
boolean
❌ Нет
Маркировка звонка тегами из заданного списка на основе содержания разговора
Обратите внимание! В блоке "analytics" не упоминается параметр, отвечающий за пересказ содержимого звонка, т.к. задание пересказа добавляется к любому составу аналитики по умолчанию. То есть, даже если в составе аналитики не будет указано ни одно задание, пересказ будет произведен в любом случае.
Оставьте массив analytics{} полностью пустым, если хотите запросить аналитику по стандартному составу аналитики, настроенному на стороне личного кабинета aiokk.
Если ваш запрос получил в ответ статус 200 (в том числе если наряду с ним были получены различного рода предупреждения), значит по отправленному разговору будет произведена аналитика.
Внимание! Учитывая разнообразие настроек в составе аналитики, а также возможные ошибки, которые могут возникнуть из-за некорректного заполнения полей или нарушения логических взаимосвязей между полями, итоговый набор аналитики может отличаться от первичного состава, указываемого в теле запроса.
Возможны следующие варианты в зависимости от корректности заполнения данных в массиве analytics{}.
Указан только параметр "summary":"true". Мы понимаем, что вам нужен только пересказ звонка, и на полученном звонке будет произведен только пересказ.
Указано несколько параметров, все прошли проверку на валидацию. Конечный состав аналитики будет соответствовать запрошенному составу в вебхуке. При этом тег "summary" может отсутствовать или быть некорректно заполнен, но пересказ разговора в любом случае будет автоматически добавлен к запрошенному составу аналитики.
Указано несколько параметров, но не все параметры прошли проверку на валидацию. Конечный состав аналитики будет состоять только из корректно заполненных параметров, успешно прошедших все проверки на валидацию. При этом тег "summary" может отсутствовать или быть некорректно заполнен, но пересказ разговора в любом случае будет автоматически добавлен к запрошенному составу аналитики.
Указано несколько параметров, но ни один параметр не прошел проверку на валидацию. Логика схожа с предыдущим случаем. Если ни один параметр не прошел успешную валидацию, то будет применено задание на пересказ, по умолчанию присутствующее во всех составах аналитики.
Для того, чтобы произвести аналитику звонка по стандартному набору действий, отправьте в вебхуке пустой параметр "analytics": {}
Это послужит для нас сигналом, что вам требуется именно стандартный сценарий аналитики, согласно настройкам в личном кабинете (состав аналитики по умолчанию).
Для выбора элемента по умолчанию, применяемого в стандартном наборе аналитики, после активации вебхука необходимо перейти в соответствующий раздел и выбрать элемент по умолчанию.
Критерии оценки
Маяки
Аналогичным образом на соответствующих страницах настроек необходимо указать элемент по умолчанию для остальных заданий, где это предусмотрено.
Очень важно! Если вы ранее задействовали старый токен в своих запросах, то после перегенерации токена вебхуки со старым токеном перестанут работать, и для восстановления работоспособности вебхука вам нужно будет самостоятельно заменить старый токен на новый во всех сценариях, где был задействован старый вебхук, т.к. вебхуки с недействительным токеном перестанут работать, получая в ответе статус 401 (см. подробнее ).
В разделе Настройки → Источник данных нажмите на кнопку "Отключить вебхук", если хотите разорвать соединение aiokk c вашим источником данных. Запросы, отправляемые после отключения вебхука, будут завершаться со статусом 403 (подробности см.), новые данные не будут попадать в личный кабинет, аналитика новых звонков производиться не будет.
В результате выполнения запроса, вы получите ответ от нашей системы. Содержимое ответа может быть разным, в зависимости от статуса и результата проверки тела запроса. Ниже приведены варианты статусов, с которыми может завершиться запрос. Помимо общего статуса, в параметре "message" может прийти дополнительная полезная информация с кодами. Расшифровку кодов и пути решения ошибок вы можете получить ниже в .
Пустой массив analytics{}. Именно пустой, а не отсутствующий. Массив обязательно должен быть в теле запроса, так мы поймем, что вы не забыли его прописать, а целенаправленно оставили пустым. Будет применен состав аналитики по умолчанию, настроенный в личном кабинете aiokk в разделе . Он также включает в себя пересказ звонка.
При работе с вебхуками возможно использование набора аналитики по умолчанию, настраиваемого в разделе .
Описание: Единый код ошибки без привязки к конкретному полю. В запросе отсутствуют обязательные поля. См. раздел "".