smartProfile

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

Перед использованием блока, ознакомьтесь с условиями подключения сервиса SmartProfile.

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

Методы

getProfileData

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

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

script:
   $smartProfile.getProfileData();

chooseProfileData

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

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

script:
   var payload = {
               "changeAddress": true,
               "changePhone": true
               }
 
   $smartProfile.chooseProfileData(payload)

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

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

detailedProfileData

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

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

script:
   $smartProfile.detailedProfileData();

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

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

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

{
  "messageId": "1605196199186625000",
  "sessionId": "0062530b-5521-42cc-90b0-a9d65dea4e98",
  "messageName": "TAKE_PROFILE_DATA",
  "payload": {
    "device": {},
    "profile_data": {
      "customer_name": "Иван",
      "phone_number": "+79161234567",
      "address": {
        "location": {
          "latitude": "56.77",
          "longitude": "23.88"
        },
        "address_string": "Кутузовский пр-т 32",
        "city": "Москва",
        "street": "Кутузовский проспект",
        "house": "32",
        "building": "1",
        "floor": "12",
        "entrance": "3",
        "apartment": "134",
        "door_code": "134"
      },
      "status_code": {
        "code": 1,
        "description": "success"
      }
    },
    "uuid": {
      "userId": "ec8a9097-1508-4bec-8d97-67f2329c03e0",
      "userChannel": "B2C"
    }
  }
}

Данные сохраняются в поле eventData системной переменной $request. Например, номер телефона сохранится в поле phone_number:

$request.data.eventData.phone_number

Поле code может содержать значения:

Код Описание
1 Данные существуют и получено согласие пользователя
100 Данные отсутствуют в профиле
101 Пользователь отклонил автозаполнение данных из профиля
102 У смартапа нет прав на получение данных пользователя
103 Пользователь отказался изменять или уточнять данные
104 У смартапа недостаточно прав на изменение или уточнение данных

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней