Перейти к основному содержимому

Как использовать данные из таблицы при обзвонах?

При создании сценариев для обзвонов вы можете использовать данные из таблицы с телефонными номерами. Это могут быть не только сами номера, но и дополнительная информация о клиентах, например город проживания, интересы, индекс лояльности, время записи на прием к врачу, номер заказа и т. д.

предупреждение
Данные из таблицы можно получать только в процессе обзвона.

Обратите внимание, что при тестировании сценария в тестовом виджете вы не будете получать данные из таблицы. Ошибка, которую вы увидите, — ожидаемое поведение, так как информацию из таблицы можно доставать только из телефонного канала.

Как получать данные из таблицы?

Чтобы выводить содержание таблицы с номерами телефонов, вам нужно оформить таблицу с телефонными номерами. Мы будем использовать названия столбцов для вывода нужной информации из таблицы. Например, создадим такую таблицу:

предупреждение
Названия столбцов не должны содержать пробелы
Например вместо Индекс лояльности нужно писать Индекс_лояльности

Добавьте системную переменную

Чтобы получить данные из таблицы, вам в сценарии потребуется системная переменная $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"
}
}