Как использовать данные из таблицы при обзвонах?
При создании сценариев для обзвонов вы можете использовать данные из таблицы с телефонными номерами. Это могут быть не только сами номера, но и дополнительная информация о клиентах, например город проживания, интересы, индекс лояльности, время записи на прием к врачу, номер заказа и т. д.
Обратите внимание, что при тестировании сценария в тестовом виджете вы не будете получать данные из таблицы. Ошибка, которую вы увидите, — ожидаемое поведение, так как информацию из таблицы можно доставать только из телефонного канала.
Как получать данные из таблицы?
Чтобы выводить содержание таблицы с номерами телефонов, вам нужно оформить таблицу с телефонными номерами. Мы будем использовать названия столбцов для вывода нужной информации из таблицы. Например, создадим такую таблицу:
Например вместо
Индекс лояльности
нужно писать Индекс_лояльности
Добавьте системную переменную
Чтобы получить данные из таблицы, вам в сценарии потребуется системная переменная $rawRequest.originateData.payload.название_столбца
. Название колонки, данные из которой вы хотите использовать, нужно вписать в переменную после точки.
Например, если у вас есть столбец name
, то в блокноте у вас получится: $rawRequest.originateData.payload.name
Ниже пример таблицы и значений $rawRequest
:
$rawRequest.originateData.payload.phone
$rawRequest.originateData.payload.name
$rawRequest.originateData.payload.country
$rawRequest.originateData.payload.region
$rawRequest.originateData.payload.plan
$rawRequest.originateData.payload.возраст
$rawRequest.originateData.payload.индекс_лояльности
Системную переменную с названием нужной колонки используйте в блоке Текст:
В данном случае при звонке на номер 79105555555
бот скажет: «Здравствуйте, Саша!». А при звонке на номер 79995555555
бот скажет «Здравствуйте, Алекс!»
Почему при тестировании возникает ошибка?
После того, как вы используете перечисленные выше значения $rawRequest
в сценарии, при тестировании в тестовом виджете вы будете получать ошибку, так как информацию из таблицы можно доставать только из телефонного канала.
Поэтому мы рекомендуем добавлять значения $rawRequest
для вывода имени тогда, когда вы уже готовы запустить обзвон. Извлекать имя пользователя и другую информацию из таблицы с номерами можно только в процессе обзвона. В тестовом виджете это работать не будет.
Если вы в данный момент находитесь в процессе тестирования сценария и вам нужно тестировать стороннюю функциональность, отложите использование $rawRequest
до того этапа, когда сможете запускать обзвон и тестировать в телефонном канале.
Примеры содержания $rawRequest
В текущей таблице переменная $rawRequest
содержит следующие данные:
{
"event":"accepted",
"trunkId":0,
"accountId":247854563,
"caller":"79105555555",
"extension":"79105555555",
"channel":"SIP/0-0000001f",
"originateData":{
"callTaskId":12754,
"callId":12757,
"botToken":"TufcgsZw:d82fe12af68ff365455d1365e33fc7f3487699c1",
"payload":{
"name":"Саша",
"plan":"тариф N",
"phone":"79105555555",
"region":"Санкт-Петербург",
"country":"Россия",
"возраст":"67",
"индекс_лояльности":"7"
}
},
"headers":{
}
}
После ответа пользователя $rawRequest
будет также содержать текст сообщения пользователя:
{
"event":"asr",
"trunkId":0,
"accountId":247854563,
"caller":"79105555555",
"extension":"79105555555",
"channel":"SIP/0-00000021",
"data":{
"cause":"OK",
"text":"да",
"resourcePath":null,
"callRecordingFile":"247854563/2019-08-02/0/79105555555/14:10:17.602-Bna",
"interrupted":false
},
"originateData":{
"callTaskId":12762,
"callId":12765,
"botToken":"TufcgsZw:d82fe12af68ff365455d1365e33fc7f3487699c1",
"payload":{
"name":"Саша",
"plan":"тариф N",
"phone":"79105555555",
"region":"Санкт-Петербург",
"country":"Россия",
"возраст":"67",
"индекс_лояльности":"7"
}
},
"webhookData":{
"sessionId":"resterisk-247854563-zvonilochka-247854563-YAP-1776693371-79105555555.b4bd33d0-5343-41c1-8ae5-a189e1e5240d"
}
}