ym88659208ym87991671
smartProfile в Code | Документация для разработчиков

smartProfile в Code

Обновлено 19 февраля 2025

Сервис для получения данных пользователей с их согласия.

Перед использованием сервиса, ознакомьтесь с условиями подключения сервиса SmartProfile. С принципом работы, типами сообщений и кодами ошибок можно ознакомиться в разделе API SmartProfile.

Сервис недоступен в проектах SaluteBot. Проверить работу сервиса в тестовом виджете нельзя.

Методы

getProfileData

Возвращает данные из профиля пользователя.

Пример вызова:

script: $smartProfile.getProfileData();

chooseProfileData

Позволяет изменить адрес доставки, телефонный номер и адрес электронной почты пользователя.

Пример вызова:

script:
var payload = {
"changeAddress": true,
"changePhone": true,
"changeEmail": true,
}

$smartProfile.chooseProfileData(payload)

Параметры метода:

  • changeAddress — обязательное поле. Логический тип. Может принимать значения true или false. Указывает на необходимость изменения адреса доставки.
  • changePhone — обязательное поле. Логический тип. Может принимать значения true или false. Указывает на необходимость изменения телефонного номера заказчика.
  • changeEmail — обязательное поле. Логический тип. Может принимать значения true или false. Указывает на необходимость изменения адреса электронной почты заказчика.

detailedProfileData

Предлагает пользователю уточнить данные адреса. Например, указать подъезд или этаж.

Пример вызова:

script: $smartProfile.detailedProfileData();

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

Пример запроса данных пользователя можно посмотреть в демонстрационном приложении.

При успешном выполнении методов возвращается сообщение TAKE_PROFILE_DATA.

{
"messageId": 1605196199186625000,
"sessionId": "0062530b-5521-42cc-90b0-a9d65dea4e98",
"uuid": {
"userId": "ec8a9097-1508-4bec-8d97-67f2329c03e0",
"userChannel": "B2C"
},
"messageName": "TAKE_PROFILE_DATA",
"payload": {
"device": {},
"profile_data": {
"customer_name": "Иван",
"surname": "Иванов",
"patronymic": "Иванович",
"birthDate": "01.01.2000",
"phone_number": 79161234567,
"email": "ivanov@site.ru",
"address": {
"location": {
"latitude": 56.77,
"longitude": 23.88
},
"address_string": "Кутузовский пр-т 32",
"country": "Россия",
"region": "Москва",
"city": "Москва",
"settlement": "Поселок",
"district": "Ленинский",
"street": "Кутузовский проспект",
"house": 32,
"building": 1,
"floor": 12,
"entrance": 3,
"apartment": 134,
"door_code": 134,
"alias": "Офис в Москве",
"comment": "Дома после 18 часов",
"address_type": "Рабочий"
}
},
"status_code": {
"code": 1,
"description": "SUCCESS"
}
}
}

После получения сообщения TAKE_PROFILE_DATA необходимо его обработать с помощью тега event:. Затем данные профиля сохранятся в поле {{data.eventData.profile_data }} системной переменной {{$request }}.

Теперь можно вывести, например, номер телефона:

state:

event!: TAKE_PROFILE_DATA

a: Номер телефона: {{$request.data.eventData.profile_data.phone_number}}

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

$request.rawRequest.payload.profile_data.phone_number

Это выражение выведет данные напрямую из поля rawRequset.payload.profile_data системной переменной $request.

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

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.