Обработка переменной

Данный блок позволяет выделить из значения указанной переменной различные типы данных. Механизм выделения аналогичен механизму «Выделить из сказанного» в блоке «Распознавание».

На выходе из блока «Обработка переменной» при этом появятся два якоря:

  1. «Обработано». Для продолжения сценария, когда результат обработки успешен, система возвращает код проверки qc=0 или 1, которые используются только при обработке Адреса и Телефона (что означает: «обработан уверенно»);
  2. «Не обработано». Для продолжения сценария, когда по каким-то причинам обработка и запись в переменную не произошли.

Число

Извлекает как целые, так и вещественные числа из переменной и сохраняет их в виде числа.

Например, если абонент говорит: “Я думаю, что это один, сейчас сейчас, два, три, четыре”.

Извлеченные цифры будут сохранены в переменной как: “1234”.

Также можно воспользоваться дополнительными операциями:

  1. Рандомизация — создание случайных значений;
  2. Инкрементация — увеличивает значение переменной на единицу;
  3. Декрементация — уменьшает значение переменной на единицу;
  4. Увеличить на — увеличивает значение переменной на число, которое будет введено при выборе этой операции;
  5. Уменьшить на — уменьшает значение переменной.

Последовательность цифр

Выделяет числа из переменной и сохраняет их в виде последовательности, которые разделены пробелами.

Например, если абонент говорит: “Думаю один, или лучше два, а может три”,

Результат будет записан в переменную как: “1 2 3”.

Дата

Для записи даты в нужном формате необходимо заполнить шаблон, в каком представление необходимо ее записывать.

В шаблоне указывается дата и/или время в формате:

  • dd — день;
  • MM — месяц;
  • yyyy — год;
  • HH — часы;
  • ss — секунды;
  • mm — минуты.

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

Задали шаблон dd.MM.yyyy

Абонент говорит: «Сегодня 30 мая 2024 года»

После обработки результат будет сохранен как: «30.05.2024»

I. Пример, через ‘количество’ дней/месяцев/лет:

Абонент произносит: Хотелось бы прийти, но буду свободен только через пять дней (к примеру, абонент сказал это 10.07.2024)

Результат распознавания будет: 15.07.2024

Адрес

Однако, в случае с блоком «Обработка переменной» функция возвращает не только сам адрес в правильном формате КЛАДР, но и дополнительную информацию об адресе. Эти данные можно сохранять в переменной сценария или передавать клиенту для последующего парсинга, в зависимости от необходимой обработки.

В некоторых случаях абонент может начать диктовать адрес сразу с улицы, без упоминания города или региона, из-за чего такой адрес не будет правильно обработан и сохранен в переменную.

Чтобы избежать этого, используйте поле «Уточняющая информация», указав в нем название города или регион.

Например, если все абоненты из одного города или региона, можно заранее прописать «г Москва/Московская область» в поле уточняющей информации. В этом случае к результату распознавания будет автоматически добавляться «г Москва/Московская область», и система корректно обработает такой запрос.

Если абоненты могут быть из разных городов и регионов, нужно заранее спросить у клиента, о каком городе и регионе идет речь, и сохранить его ответ в отдельную переменную. Затем эту переменную использовать в поле «Уточняющая информация» при настройке блока обработки адреса.

Массив, возвращаемый при выделении адреса:

НазваниеОписание
sourceИсходный адрес одной строкой
resultСтандартизованный адрес одной строкой
postal_codeИндекс
countryСтрана
country_iso_codeISO-код страны
federal_districtФедеральный округ
region_fias_idФИАС-код региона
region_kladr_idКЛАДР-код региона
region_iso_codeISO-код региона
region_with_typeРегион с типом
region_typeТип региона (сокращенный)
region_type_fullТип региона
regionРегион
area_fias_idФИАС-код района
area_kladr_idКЛАДР-код города
area_with_typeРайон в регионе с типом
area_typeТип района в регионе (сокращенный)
area_type_fullТип района в регионе
areaРайон в регионе
city_fias_idФИАС-код города
city_kladr_idКЛАДР-код города
city_with_typeГород с типом
city_typeТип города (сокращенный)
city_type_fullТип города
cityГород
city_areaАдминистративный округ (только для Москвы)
city_district_fias_idФИАС-код района города (заполняется, только если район есть в ФИАС)
city_district_kladr_idКЛАДР-код района города (не заполняется)
city_district_with_typeРайон города с типом
city_district_typeТип района города (сокращенный)
city_district_type_fullТип района города
city_districtРайон города
settlement_fias_idФИАС-код населенного пункта
settlement_kladr_idКЛАДР-код населенного пункта
settlement_with_typeНаселенный пункт с типом
settlement_typeТип населенного пункта (сокращенный)
settlement_type_fullТип населенного пункта
settlementНаселенный пункт
street_fias_idФИАС-код улицы
street_kladr_idКЛАДР-код улицы
street_with_typeУлица с типом
street_typeТип улицы (сокращенный)
street_type_fullТип улицы
streetУлица
stead_fias_idФИАС-код земельного участка
stead_kladr_idКЛАДР-код земельного участка
stead_cadnumКадастровый номер земельного участка
stead_type«уч»
stead_type_full«участок»
steadНомер земельного участка
house_fias_idФИАС-код дома
house_kladr_idКЛАДР-код дома
house_cadnumКадастровый номер дома
house_typeТип дома (сокращенный)
house_type_fullТип дома
houseДом
block_typeТип корпуса/строения (сокращенный)
block_type_fullТип корпуса/строения
blockКорпус/строение
entranceПодъезд
floorЭтаж
flat_fias_idФИАС-код квартиры
flat_cadnumКадастровый номер квартиры
flat_typeТип квартиры (сокращенный)
flat_type_fullТип квартиры
flatКвартира
flat_areaПлощадь квартиры
square_meter_priceРыночная стоимость м²
flat_priceРыночная стоимость квартиры
postal_boxАбонентский ящик
fias_idФИАС-код адреса (идентификатор ФИАС)
ROOM.ROOMGUID — если квартира найдена в ФИАС
HOUSE.HOUSEGUID — если дом найден в ФИАС
ADDROBJ.AOGUID — в противном случае
fias_codeНе заполняется, используйте fias_id
fias_levelУровень детализации, до которого адрес найден в ФИАС
0 — страна
1 — регион
3 — район
4 — город
5 — район города
6 — населенный пункт
7 — улица
8 — дом
9 — квартира
65 — планировочная структура
90 — доп. территория
91 — улица в доп. территории
-1 — иностранный или пустой
fias_actuality_stateПризнак актуальности адреса в ФИАС
0 — актуальный
1-50 — переименован
51 — переподчинен
99 — удален
kladr_idКЛАДР-код адреса
capital_markerПризнак центра района или региона
1 — центр района (Московская обл, Одинцовский р-н, г Одинцово)
2 — центр региона (Новосибирская обл, г Новосибирск)
3 — центр района и региона (Томская обл, г Томск)
4 — центральный район региона (Тюменская обл, Тюменский р-н)
0 — ничего из перечисленного (Московская обл, г Балашиха)
okatoКод ОКАТО
oktmoКод ОКТМО
tax_officeКод ИФНС для физических лиц
tax_office_legalКод ИФНС для организаций
timezoneЧасовой пояс города для России, часовой пояс страны — для иностранных адресов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6
geo_latКоординаты: широта
geo_lonКоординаты: долгота
beltway_hitВнутри кольцевой?
IN_MKAD — внутри МКАД (Москва)
OUT_MKAD — за МКАД (Москва и область)
IN_KAD — внутри КАД (Санкт-Петербург)
OUT_KAD — за КАД (Санкт-Петербург и область)
пусто — в остальных случаях
beltway_distanceРасстояние от кольцевой в км. Заполнено, только если beltway_hit : OUT_MKAD или OUT_KAD, иначе пустое
qc_geoКод точности координат
0 — Точные координаты
1 — Ближайший дом
2 — Улица
3 — Населенный пункт
4 — Город
5 — Координаты не определены
qc_completeКод пригодности к рассылке
0 — Пригоден для почтовой рассылки
10 — Дома нет в ФИАС
5 — Нет квартиры. Подходит для юридических лиц или частных владений
8 — До почтового отделения — абонентский ящик или адрес до востребования. Подходит для писем, но не для курьерской доставки.
9 — Сначала проверьте, правильно ли Дадата разобрала исходный адрес
1 — Нет региона
2 — Нет города
3 — Нет улицы
4 — Нет дома
6 — Адрес неполный
7 — Иностранный адрес
qc_houseПризнак наличия дома в ФИАС
2 — Дом найден в ФИАС
10 — Дом не найден в ФИАС, но есть на картах
10 — Дом не найден в ФИАС, но есть похожий на картах
10 — Дом не найден в ФИАС и на картах
qcКод проверки адреса
0 — Адрес распознан уверенно
2 — Адрес пустой или заведомо «мусорный»
1- Остались «лишние» части. Пример: «109341 Тверская область Москва Верхние Поля» — здесь лишняя «Тверская область».
Либо в исходном адресе недостаточно данных для уверенного разбора. Пример: «Сходня Красная 12» — здесь нет региона и города.
3 — Есть альтернативные варианты. Пример: «Москва Тверская-Ямская» — в Москве четыре Тверских-Ямских улицы.
unparsed_partsНераспознанная часть адреса.
Для адреса «Москва, Митинская улица, 40, вход с торца» вернет «ВХОД, С, ТОРЦА»
metroСписок ближайших станций метро (до трёх штук)

Пример ответа:

 [
  {
    "source": "мск сухонска 11/-89",
    "result": "г Москва, ул Сухонская, д 11, кв 89",
    "postal_code": "127642",
    "country": "Россия",
    "country_iso_code": "RU",
    "federal_district": "Центральный",
    "region_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
    "region_kladr_id": "7700000000000",
    "region_iso_code": "RU-MOW",
    "region_with_type": "г Москва",
    "region_type": "г",
    "region_type_full": "город",
    "region": "Москва",
    "area_fias_id": null,
    "area_kladr_id": null,
    "area_with_type": null,
    "area_type": null,
    "area_type_full": null,
    "area": null,
    "city_fias_id": null,
    "city_kladr_id": null,
    "city_with_type": null,
    "city_type": null,
    "city_type_full": null,
    "city": null,
    "city_area": "Северо-восточный",
    "city_district_fias_id": null,
    "city_district_kladr_id": null,
    "city_district_with_type": "р-н Северное Медведково",
    "city_district_type": "р-н",
    "city_district_type_full": "район",
    "city_district": "Северное Медведково",
    "settlement_fias_id": null,
    "settlement_kladr_id": null,
    "settlement_with_type": null,
    "settlement_type": null,
    "settlement_type_full": null,
    "settlement": null,
    "street_fias_id": "95dbf7fb-0dd4-4a04-8100-4f6c847564b5",
    "street_kladr_id": "77000000000283600",
    "street_with_type": "ул Сухонская",
    "street_type": "ул",
    "street_type_full": "улица",
    "street": "Сухонская",
    "stead_fias_id": null,
    "stead_kladr_id": null,
    "stead_cadnum": null,
    "stead_type": null,
    "stead_type_full": null,
    "stead": null,
    "house_fias_id": "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255",
    "house_kladr_id": "7700000000028360004",
    "house_cadnum": "77:02:0004008:1017",
    "house_type": "д",
    "house_type_full": "дом",
    "house": "11",
    "block_type": null,
    "block_type_full": null,
    "block": null,
    "entrance": null,
    "floor": null,
    "flat_fias_id": "f26b876b-6857-4951-b060-ec6559f04a9a",
    "flat_cadnum": "77:02:0004008:4143",
    "flat_type": "кв",
    "flat_type_full": "квартира",
    "flat": "89",
    "flat_area": "34.6",
    "square_meter_price": "244503",
    "flat_price": "8459804",
    "postal_box": null,
    "fias_id": "f26b876b-6857-4951-b060-ec6559f04a9a",
    "fias_code": "77000000000000028360004",
    "fias_level": "9",
    "fias_actuality_state": "0",
    "kladr_id": "7700000000028360004",
    "capital_marker": "0",
    "okato": "45280583000",
    "oktmo": "45362000",
    "tax_office": "7715",
    "tax_office_legal": "7715",
    "timezone": "UTC+3",
    "geo_lat": "55.8783089",
    "geo_lon": "37.6537862",
    "beltway_hit": "IN_MKAD",
    "beltway_distance": null,
    "qc_geo": 0,
    "qc_complete": 0,
    "qc_house": 2,
    "qc": 0,
    "unparsed_parts": null,
    "metro": [
      {
        "distance": 1.1,
        "line": "Калужско-Рижская",
        "name": "Бабушкинская"
      },
      {
        "distance": 1.2,
        "line": "Калужско-Рижская",
        "name": "Медведково"
      },
      {
        "distance": 2.5,
        "line": "Калужско-Рижская",
        "name": "Свиблово"
      }
    ]
  }
]

Из данного массива можно извлечь значение адреса и другие поля, если это необходимо.

Также возможно извлечь нормализованную строку с полными сущностями, которая будет содержать и выглядеть следующим образом:

"result_full": "республика Башкортостан город Бирск улица Антипина дом 10",

Телефон

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

Массив, возвращаемый при выделении телефона:

НазваниеОписание
qcКод проверки
sourceИсходный телефон одной строкой
typeТип телефона (Мобильный, Стационарный, Прямой мобильный, Колл-центр, Неизвестный)
phoneСтандартизованный телефон одной строкой
country_codeКод страны
city_codeКод города / DEF-код
numberЛокальный номер телефона
extensionДобавочный номер
providerОператор связи (только для России)
countryСтрана
regionРегион (только для России)
cityГород (только для стационарных телефонов)
timezoneЧасовой пояс города для России, часовой пояс страны — для иностранных телефонов. Если у страны несколько поясов, вернёт минимальный и максимальный через слеш: UTC+5/UTC+6

Пример ответа:

{
    "source": "раб 846)231.60.14 *139",
    "type": "Стационарный",
    "phone": "+7 846 231-60-14 доб. 139",
    "country_code": "7",
    "city_code": "846",
    "number": "2316014",
    "extension": "139",
    "provider": "ООО \"СИПАУТНЭТ\"",
    "country": "Россия",
    "region": "Самарская область",
    "city": "Самара",
    "timezone": "UTC+4",
    "qc": 0
}

Госномер авто

Извлекает из переменной государственный номер транспортного средства и сохраняет его в переменную в виде сказанной последовательности.

К примеру, в переменной содержится: «Номер авто а 456 а в 102».

Результат, выделенный в результате обработки, будет сохранен как: «а456ав102».

Денежная сумма

Выделяет денежную сумму из того, что содержится в переменной.

К примеру, в переменной было: «2658 рублей 85 копеек».

Результат обработки будет записан в переменную как: «2658.85».

Объем жидкости

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

Предположим, переменная содержит: “Десять литров семьсот пятьдесят миллилитров”.

Результат обработки переменной будет сохранен как: “10.75”.

Имя

При использовании блока ‘Обработка переменной’ можно указать конкретные параметры из предложенного списка, позволяющие выделить нужные элементы из переменной, такие как:

  • ФИО;
  • Имя отчество;
  • Фамилия имя;
  • Фамилия;
  • Имя.

Выделяет из переменной только то, что было выбрано в ‘Уточняющая информация’. Если было выбрано «Фамилия имя», то результат будет записано в переменную в виде фразы.

Например: “Слушаю вас Иванов Иван Иванович, как ваши дела?”.

Результат выделения будет записан в переменную как: “Иванов Иван”.

Вопрос

Выделить «Вопрос» из переменной работает не на 100%.

Выделяет из переменной только вопрос, результат будет записан в переменную в виде фразы.

Например, абонент произносит: “Здравствуйте. Не подскажите, как вы работаете завтра?”.

Результат выделения будет записан в переменную как: “Не подскажите, как вы работаете завтра?”.

В отличие от блока Распознавание «Обработано» для блока «Обработка переменной» будет считаться любой возвращенный статус кода проверки qc.

На этой странице