• API. Создать покупателей & загрузить реестр событий loadCustomerEventsExt
    Команда позволяет:
    • создать покупателя с определенными характеристиками
    • передать список событий с определенными характеристиками, включая название торгово-сервисного предприятия, в котором была создано событие типа "operation"
    • передать описание типа события

    Запрос

{
    "events":[
        {
            "customerId":"5C5720C6-3BF9-49E1-927C-1E85EFF4D870",
            "customerEvent":"birhdate",
            "bankEvent":"registration",
            "customerType1":"debitCardHolder",
            "customerType2":"depositHolder",
            "customerType3":"creditHolder",
            "customerType4":"male",
            "customerType5":"goldSupport",
            "eventId":"123456",
            "eventDate":"2015-01-01T00:00:00+03",
            "eventType":"operation",
            "operationType":"purchase",
            "operationAmount":100.0000,
            "operationCurrencyRate": 1,
            "merchantId":123456,
            "terminalId":123456,
            "merchantName":"ЦУМ",
        },
        ......
   ],
   "typeOfCommand":"loadCustomerEventsExt"
 }

Параметры запроса:
Ответ:

Успех:
  
{
   "errors":[ ],
   "status":"Success",
   "error":null
}
  
Неуспех выполнения команды в целом:
{
   "status":"Failure",
   "error":{
      "typeOfError":"notAllowed",
      "description":"Вы не можете отправлять новую команду до завершения обработки предыдущей команды"
   }
}
 
Неуспех при ошибке в переданных командах:
{
   "errors":[
      {
         "eventId":"636554297092801053",
         "typeOfError":"wrongParam",
         "description":"Неизвестный тип покупателя"
      }
   ],
   "status":"Failure",
   "error":{
      "typeOfError":"wrongData",
      "description":"Количество ошибок - 1"
   }
}
Параметры ответа:
Объект Error:
Особенности работы и использования

1.Процедура обработки запроса и порядок формирования ответов

Команда работает в асинхронном режиме. На первом этапе, в момент вызова команды, производится первичная валидация данных, гарантирующая корректный формат передаваемой информации. Реальное зачисление и контроль соответствия команды бизнес-логике приложения (например, отсутствие дублирующих идентификаторов) проводится фоновым процессом.
1.1. Этап №1
1.1.1. Проверка корректности формата передаваемой команды.
1.1.2. Наличие необходимых передаваемых значений - events, customerId, eventId, eventDate, eventType, operationType, operationAmount, operationCurrencyRate, merchantId, terminalId.
1.1.3. Инициализация справочников, связанных с правилами - terminalId, merchantId, customerEvent, bankEvent, customerType1, customerType2, customerType3, customerType4, customerType5.
1.1.4. Проверка окончания обработки предыдущей команды этого типа
1.1.5. Ответ о результатах этапа №1 возвращается немедленно
1.2. Этап №2
1.2.1. Проверка уникальности параметра eventId.
1.2.2. Формирование бонусных начислений для событий, на которые распространяются имеющиеся правила.
1.2.3. Бонусные начисления на события, не соответствующие п.2.1-2.2, не производятся.
1.2.4. Ответ о результатах этапа №2 не возвращается, так как процедура может занимать длительное время. Получить информацию о результатах обработки событий можно с помощью команды getEventOperation

2.Алгоритм обработки ответов
2.2. Новую команду loadCustomerEvents необходимо отправлять через 1 секунду после получения положительного ответа на выполнение предыдущей команды этого типа и не отправлять в случае получения отрицательного ответа.