С помощью блока вы можете узнать или уточнить местоположение, адрес и телефон пользователей, если они согласны предоставить эти данные. Например, для доставки товаров.
Перед использованием блока, ознакомьтесь с условиями подключения сервисов SmartProfile и SmartGeo. Блок недоступен в проектах SaluteBot.
Запросить данные пользователя можно на любом этапе сценария. Пример запроса данных пользователя можно посмотреть в демонстрационном приложении.
Проверить работу блока в тестовом виджете нельзя.
Блок содержит раскрывающийся список методов получения данных:
- Получение данных о пользователе, геоданные (SmartProfile, SmartGeo) — возвращает данные из профиля пользователя: ФИО, адрес, телефон, адрес электронной почты и дату рождения.
- Изменение данных о доставке — предлагает пользователю изменить адрес доставки, телефон и адрес электронной почты.
- Уточнение данных адреса — предлагает пользователю уточнить данные адреса. Например указать подъезд или этаж.
В результате работы метода возможны варианты сценария:
- Данные получены — успешное выполнение метода. После этого можно перейти к подтверждению заказа и поблагодарить пользователя.
- Не удалось получить данные — ошибка выполнения метода. Нужно сообщить пользователю об ошибке и запросить данные позднее.
- Отклонено пользователем — пользователь отказался предоставить данные.
Использование данных
Данные, полученные с помощью блока SmartProfile/SmartGeo, сохраняются в системную переменную $session.profileData
в поле profile_data
.
Примеры данных, которые сохраняются в поле profile_data
, можно посмотреть в документации сервисов SmartProfile и SmartGeo. В $session.profileData.profile_data
будут сохраняться только те данные, к которым вы получили доступ при подключении этих сервисов.
Из SmartProfile могут приходить следующие переменные с конкретными данными пользователя:
$session.profileData.profile_data.customer_name // Имя
$session.profileData.profile_data.surname // Фамилия
$session.profileData.profile_data.patronymic // Отчество
$session.profileData.profile_data.birthDate // Дата рождения
$session.profileData.profile_data.phone_number // Номер телефона
$session.profileData.profile_data.email // Электронная почта
$session.profileData.profile_data.address // Полный адрес
$session.profileData.profile_data.address.city // Название города
К переменной можно обратиться с помощью кода в блоке JS-код или использовать ее как любую другую переменную.
Из SmartGeo могут приходить следующие переменные с конкретными данными пользователя:
$session.profileData.profile_data.geo.location // Координаты устройства
$session.profileData.profile_data.geo.reverseGeocoding // Декодированные данные о положении устройства
$session.profileData.profile_data.geo.reverseGeocoding.city // Город местоположения устройства
Смартап может получить доступ к данным SmartGeo, только если пользователь дал разрешение на доступ к своим геоданным.
Вы можете самостоятельно прописать адрес переменной с нужными данными клиента, используя шаблоны ниже и информацию со страниц про API SmartProfile и API SmartGeo.
Шаблон для получения данных из SmartProfile:
$session.profileData.profile_data.{название_поля}
Если поле с необходимыми данными находится внутри другого поля, то их нужно прописывать через точку. Например, в этой переменной будут находиться все данные о текущем местоположении устройства: $session.profileData.profile_data.geo.reverseGeocoding
. А в этой переменной будет находиться конкретно название страны местоположения устройства
$session.profileData.profile_data.geo.reverseGeocoding.country
.