ym88659208ym87991671
API SmartProfile | Документация для разработчиков
Skip to main content

API SmartProfile

Обновлено 09 сентября 2022

Схема получения данных

Используйте API SmartProfile для:

  • получения существующих данных пользователя: ФИО, адреса, телефона, адреса электронной почты и даты рождения;
  • изменения ранее указанного адреса, телефона и адреса электронной почты;
  • уточнения адреса.

Если у вашего смартапа есть необходимые разрешения, то данные пользователя будут доступны в объекте $request.data.eventData.profile_data.:

state: Welcome
q!: оформи заказ
a: Данные для заказа {{$request.payload.profile_data}}!

Форматы запроса

Получение данных

Чтобы получить клиентские данные, после добавления товара в корзину используйте сообщение "messageName": "GET_PROFILE_DATA". Этот тип сообщения можно использовать при оформлении, составлении и подтверждении заказа.

messageId
string

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

sessionId
string

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

object
messageName
string

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

Value: "GET_PROFILE_DATA"
payload
object

Пустое тело сообщения

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

Изменение данных

Чтобы пользователь мог изменить данные из своего профиля, используйте сообщение "messageName": "CHOOSE_PROFILE_DATA". Этот тип сообщения можно использовать только после получения данных при оформлении заказа — "GET_PROFILE_DATA".

Пользователи могут изменить адрес, телефон и электронную почту:

  • для изменения адреса используйте "fields": [ "address" ];
  • для изменения телефона используйте "fields": [ "phone_number" ];
  • для изменения электронной почты используйте "fields": [ "email" ];
  • для изменения адреса, телефона и электронной почты используйте "fields": [ "address", "phone_number", "email" ].
messageId
string

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

sessionId
string

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

object
messageName
string

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

Value: "CHOOSE_PROFILE_DATA"
object

Тело сообщения

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

Уточнение данных

Если вашему сценарию не хватает данных (например, пользователь не указал в адресе код домофона), используйте сообщение "messageName": "DETAILED_PROFILE_DATA". Этот тип сообщения можно использовать только после получения данных при оформлении заказа — "GET_PROFILE_DATA".

Получить дополнительные данные можно только по адресу. Для этого используйте "fields": [ "address" ].

messageId
string

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

sessionId
string

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

object
messageName
string

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

Value: "DETAILED_PROFILE_DATA"
object

Тело сообщения

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

Формат ответа

Формат ответа на запросы GET_PROFILE_DATA, CHOOSE_PROFILE_DATA и DETAILED_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": {
    }
}
{
"messageId": "1605196199186625000",
"sessionId": "0062530b-5521-42cc-90b0-a9d65dea4e98",
"messageName": "TAKE_PROFILE_DATA",
"uuid": {
"userId": "ec8a9097-1508-4bec-8d97-67f2329c03e0",
"userChannel": "B2C"
},
"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": "Комментарий",
"address_type": "Тип адреса"
}
},
"status_code": {
"code": 1,
"description": "success"
}
}
}

Коды ошибок

КодТекст ошибкиОписание
001SUCCESSДанные существуют и получено клиентское согласие
100EMPTY DATAДанные отсутствуют в профиле
101CLIENT DENIEDКлиент отклонил автозаполнение
102FORBIDDENЗапрещенный вызов от смартапа для GET_PROFILE_DATA
103FORBIDDEN REQUESTЗапрещенный вызов от смартапа для CHOOSE_PROFILE_DATA и DETAILED_PROFILE_DATA в случае отсутствия клиентского согласия
104Access DeniedЗапрещенный вызов от смартапа для CHOOSE_PROFILE_DATA и DETAILED_PROFILE_DATA в случае отсутствия прав на изменение или уточнение данных

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

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