Структура конструктора запроса Android SDK
Для создания тела запроса нужно создать объект с данными на основе классов, предоставляемых SDK:
OperationBodyRequestBase- пустой абстрактный базовый класс, от которого необходимо наследоваться при создании кастомного тела запроса. Можно использовать, если по какой-то причине у вас не получается создать запрос на основе подготовленных классовOperationBodyRequest- наследникOperationBodyRequestBase, содержит в себе основные поля, которые могут быть необходимы для формирования тела операции. Для создания нужного тела для операции необходимо передать значение в нужное поле, например, для создания кастомера
Структура конструтора тела запросов
-
CustomerRequest- класс, использующийся для создания или обновления информации о клиенте.Имеет 2 конструктора, выбор из которых зависит от того, задаем ли мы fullName или используем firstName, middleName и lastName
-
Ids- класс, использующийся для передачи различных идентификатор в видеMap<String, String>.Если вам надо передать
mindboxId, нужно использовать дополнительный конструктор, который на вход принимает Int вместе сMap<String, String>остальных значений. -
CustomFields- класс, использующийся для передачи различных кастомных параметров в видеMap<String, Any>. -
DateOnly- класс, наследник отDate, используется для передачи на сервер даты в формате "yyyy-mm-dd".Если вы реализуете свои классы и хотите в них передать использовать этот класс в качестве типа нового поля, то при переопределении классов необходимо к полю добавить
@JsonAdapter(DateOnlyAdapter::class) -
DateTime- класс, наследник от Date, используется для передачи на сервер даты и времени.Если вы реализуете свои классы и хотите в них передать использовать этот класс в качестве типа нового поля, то при переопределении классов необходимо к полю добавить
@JsonAdapter(DateTimeAdapter::class) -
DiscountRequest- класс, использующийся для скидок.Имеет 2 конструктора, выбор из которых зависит от того, задаем ли мы
PromoCodeRequestилиExternalPromoActionRequest -
LineRequest- класс имеет 2 конструктора, выбор из которых зависит от того, какого типа данных должен быть параметр quantity. QuantityType определяется и подставляется автоматически в тело в зависимости от типа quantity. -
ProductListItemRequest- класс имеет несколько конструкторов, выбор конкретного из которых строится на нужных полях. Например, если необходимо задать pricePerItem и задатьProductRequest, то
Code
ViewProductRequest- класс с 2-мя конструкторами, выбор из которых строится на необходимости использованияProductRequestилиProductGroupRequest