Интеграция

Атрибуты клиентов

Регистрация атрибутов клиентов

В Sailplay API существует возможность создавать и присваивать клиентам дополнительные характеристики и свойства в виде атрибутов. Основное отличие атрибутов, это возможность однозначного или многозначного присвоения. Например, такая характеристика как "Место рождения" должна иметь только одно значение, без возможности добавления второго города. А вот характеристика "Имена детей" может иметь как одно, так и несколько значений. По этой причине, перед добавлением атрибутов в Sailplay, важно классифицировать все характеристики, которые планируете присвоить клиентам.

Атрибут клиента может иметь один из 4 типов:

  • string (default type)
  • date
  • integer
  • reference

📘

Как добавить новый атрибут?

Для того чтобы создать дополнительный атрибут в виде клиентской характеристики, отправьте запрос в техническую поддержку по адресу [email protected]

  1. В обращении укажите техническое название атрибута на латинице.

  2. Укажите название, которое будет отображаться в личном кабинете.

  3. Если предполагается что клиенту может быть присвоено несколько значений одного атрибута, укажите в обращении, что атрибут должен являться массивом (array). В противном случае атрибут будет хранить только одно значение.

  4. Укажите один из 4 типов, с которым предполагается использование атрибута. В случае отсутствия указания, атрибут будет заведен с дефолтным типом string.

Передача значений атрибутов клиентов

Метод предназначен для присвоения новых значений (value) атрибутов и перезаписи уже имеющихся. Параметр attributes заключается в квадратные скобки, по причине того, что данный метод может принимать как один, так и несколько атрибутов сразу:

[
  {
    "name": "country",
    "value": "Россия"
  },
  {
    "name": "region",
    "value": "Москва"
  }
]

В случае если атрибут имеет тип array, то value обязательно нужно заключать в квадратные скобки:

[
  {
    "name": "child_name",
    "value": [
      "Вера"
    ]
  }
]

Если атрибуту с типом array нужно присвоить несколько value, то в квадратных скобках можно указать их перечисление:

[
  {
    "name": "child_name",
    "value": [
      "Женя",
      "Кирилл"
    ]
  }
]

Метод предназначен для того, чтобы присваивать дополнительные value, если ранее клиенту уже был присвоено value атрибута с типом array. Если передаваемый атрибут еще не имеет value, в ответ от API вернется ошибка. Метод принимает за одно обращение только один атрибут, по этой причине, весь параметр attributes не заключается в квадратные скобки, в отличии от метода присвоения новых значений. Но метод так же позволяет дополнительно присвоить сразу несколько value для одного атрибута.

{
  "name": "child_name",
  "value": [
    "Катя",
    "Ваня"
  ]
}

В случае если нужно удалить одно value из атрибута с типом array, вы можете воспользоваться данным методом. В методе требуется указать само value, которое должно быть убрано из массива значений по клиенту:

{
  "name": "child_name",
  "value": [
    "Кирилл"
  ]
}

Получение информации об атрибутах

Для получения данных по атрибутам в API существуют 3 метода:

Идентифиĸация ĸлиента по новым атрибутам в API

Все существующие методы Sailplay API, ĸоторые принимают user_phone, email или origin_user_id, сейчас могут принимать атрибуты для идентификации клиентов. Для этого вместо user_phone, email или origin_user_id нужно передать два параметра:

  • identification – наименование идентифиĸатора
  • lookup – значение идентифиĸатора

Используйте метод api/v2/attributes/set-values-for-user/ для каждого пользователя в отдельности сразу после его создании методом api/v2/users/add/

Примеры использования:

api/v2/users/info/?store_department_id=SID&token=TOKEN&identification=secondaryphone&lookup=79001234567 

api/v2/marketing-actions/calc/? token=TOKEN&store_department_id=SID&cart={"1":{"sku":"test","price":6390,"quantity":1,"discount_points":0,"min_price":31 95}}&identification=secondary-phone&lookup=79001234567

Предоставление скидки на выбранный клиентом товар

Процессинговый функционал Sailplay позволяет дать персональную скидку на конкретный товар, который выбрал клиент на вашем сайте или в мобильном приложении. Для того чтобы предоставить такую скидку, предварительно, направьте обращение на создание атрибута, по шаблону, описанному в начале раздела. Дополнительно укажите, что атрибут должен иметь тип reference. После того как специалист технической поддержки сообщит об успешном заведении нового атрибута, воспользуйтесь методом добавления значений атрибута, для того чтобы присвоить товар клиенту. Ниже отображен пример передачи sku товара в параметр attributes:

[
  {
    "name": "favorite_product",
    "value": {
      "ref_type": "sku",
      "ref_id": "171850"
    }
  }
]