• API. Создать покупателей & начислить бонусные баллы addCustomerPointMessage
    Команда предназначена для добавления покупателей и начисления им бонусных баллов, но, в отличие от команды addBonusExtQuick, позволяет создать изначально неактивную учетную запись и передавать информационные экранные сообщения покупателю. Активация происходит при совершении любого последующего действия как покупателя, так и организатора бонусной программы (первая авторизация, первое начисление баллов и т.д.).

    Запрос

{
    "add":[
        {
            "amount":200.00,
            "guid":"9803d32e-8fcd-4984-a736-9f02f726b3c0",
            "email":null,
            "phone":null,
            "uniqId":"12345678",
            "info":null,
            "message":"Сообщение для покупателя",
            "showCount":3,
            "showTill":"2019-10-23T18:25:43.511Z",
            "eventId":"123456",
            "eventDate":"2015-01-01T00:00:00+03",
            "eventType":"operation",
            "operationType":"purchase",
            "operationAmount":100.0000,
            "merchantName":"ЦУМ",
            "bankProduct":"Золотая карта",
            "mcc":"АЗС"        
        }      
    ],
    "typeOfCommand":"addCustomerPointMessage"
}
Параметры запроса:
Объект AddBonus:
Ответ:

{
    "results":[
         {
            "login":"12345678",
            "guid":"9803d32e-8fcd-4984-a736-9f02f726b3c0",
            "status":"Success",
            "error":null
         }
            ] 
}
Параметры ответа:
Объект AddStatus:
Объект Error:
Особенности работы и использования

1. Команда работает в асинхронном режиме
1.1. На первом этапе, в момент вызова команды, производится первичная валидация данных, гарантирующая корректный формат передаваемой информации:
1.1.1. Формат переданной команды должен является корректным JSON форматом
1.1.2. Должны быть переданы все необходимые для работы команды свойства (обозначенные как обязательные в таблице 'Объект AddBonus')
Реальное зачисление и контроль соответствия команды бизнес-логике приложения (например, отсутствие дублирующих идентификаторов) проводится фоновым процессом; описание выполняемых проверок ниже в п. 1.2
1.1.3. Выполняется проверка корректного формата свойств:
  • Соответствие поля 'e-mail' стандартному формату электронного адреса
  • Соответствие формата переданного телефонного номера описанным требованиям к параметру 'phone' в таблице 'AddBonus'
  • В случае указания в строковых параметрах перечислимых типов выполняется проверка на корректность переданного значения
  • Пустые значение десятичных параметров должны передаваться как 0
В случае нарушения условий корректного форматирования свойств возвращается ошибка.
2. На втором этапе выполяются начисления.
3. Как эффективно использовать команду описано здесь: Скорость обработки данных.
3.1. В случае передачи в составе команды addCustomerPointMessage только параметров uniqId, phone и email - создается учетная запись, имеющая статус 'новый'.
3.2. Покупатели могут иметь статусы
  • Новый
  • Активный
  • Заблокированный
3.3. Учетные записи 'новых' покупателей приобретают статус 'активный' в следующих случаях
  • передачи начислений любыми командами
  • создания начислений в результате обработки событий, переданных любыми командами
  • авторизации покупателя по уникальной ссылке
  • самостоятельной авторизации покупателя
3.4. Ранее заблокированные покупатели с помощью команды blockCustomers разблокируются только командой activateCustomers.
3.5. Если не передан amount, то переданные значения необязательных или параметров "да, если передаеся amount" не принимаются.
4. Переданные данной командой информационные сообщения (параметр 'message') будут отображаться заданное количество раз при каждой авторизации покупателя в виде стандартного информационного сообщения на бонусной витрине.
Часто задаваемые вопросы

1. Вопрос: Можно ли передать сообщение без выполнения начисления?
Ответ: Да, можно.
2. Вопрос: Как будет отображаться сообщение?
Ответ: Сообщение отображается для авторизованного пользователя в виде стандартного информацонного сообщения на бонусной витрине.
3. Вопрос: Если передать новый номер телефона для ранее созданного покупателя, то будет ли заменен номер телефона и выполнится ли начисление?
Ответ: Да, телефон покупателя будет заменен на новый, если новый номер не принадлежит другому покупателю и будет выполнено начисление баллов. В противном случае телефон не будет заменен, начисление не будет выполнено.
4. Вопрос: Будет ли создан новый покупатель, если передан новый уникальный ID, при этом передан номер телефона принадлежит уже созданному ранее покупателю?
Ответ: Нет, создан не будет. Начисление выполнено не будет никому из покупателей.
5. Вопрос: Если передать новый адрес эл. почты для ранее созданного покупателя, то будет ли обновлен адрес эл. почты?
Ответ: Да, будет (даже, если адрес эл. почты совпал с адресом эл. почты другого покупателя). Если передано значение параметра 'email', которое не соответствует требованиям, описанным в таблице 'Объект AddBonus' для этого параметра, то начисления выполнены не будут, ящик электронной почты обновлен для покупателя не будет (если создается новый покупатель и воспроизводится описанная ошибка, то он создан не будет).
6. Вопрос: Как проверить результат начисления?
Ответ: 1) Зафиксировать сумму начислений, которую планируется выполнить и прогнозное время выполнения операции.
2) Выполнить набор команд, которые соответствуют требованиям статьи Скорость обработки данных.
3) По прошествии времени п.1 выполнить набор команд getBonusOperationExt, которые соответствуют требованиям статьи Скорость обработки данных и ограничены типом операции "Начисление бонусов".
4) Полученный результат сравнить с суммой п.1 программным методом.
Возможные причины расхождения полученного результата и суммы п.1
а) Обработка команд addCustomerPointMessage еще не завершена.
б) Преданы номера телефонов, которые принадлежат ранее зарегистрированным другим пользователям.
7. Вопрос: Если при создании нового покупателя передать адрес эл. почты, который принадлежит ранее созданному покупателю, то будет ли создан новый покупатель и какой адрес эл. почты у него будет?
Ответ: Нет, новый покупатель создан не будет. Если были переданы баллы для начисления новому покупателю, то они будут начислены тому покупателю, чей адрес эл. почты был найден в системе.

Вернуться назад