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

smartProfile в Code

Обновлено 27 мая 2024

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

Перед использованием сервиса, ознакомьтесь с условиями подключения сервиса 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
string

Идентификатор сообщения

sessionId
string

Идентификатор сессии

object
messageName
string

Название сообщения

Value: "TAKE_PROFILE_DATA"
object
{
  • "messageId": 1605196199186625000,
  • "sessionId": "0062530b-5521-42cc-90b0-a9d65dea4e98",
  • "uuid": {
    },
  • "messageName": "TAKE_PROFILE_DATA",
  • "payload": {
    }
}

После получения сообщения 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 в настройках своего браузера.