Mindbox
Android SDK

Структура конструктора запроса Android SDK

Для создания тела запроса нужно создать объект с данными на основе классов, предоставляемых SDK:

  1. OperationBodyRequestBase - пустой абстрактный базовый класс, от которого необходимо наследоваться при создании кастомного тела запроса. Можно использовать, если по какой-то причине у вас не получается создать запрос на основе подготовленных классов
  2. OperationBodyRequest - наследник OperationBodyRequestBase, содержит в себе основные поля, которые могут быть необходимы для формирования тела операции. Для создания нужного тела для операции необходимо передать значение в нужное поле, например, для создания кастомера

Структура конструтора тела запросов

  1. CustomerRequest - класс, использующийся для создания или обновления информации о клиенте.

    Имеет 2 конструктора, выбор из которых зависит от того, задаем ли мы fullName или используем firstName, middleName и lastName

  2. Ids - класс, использующийся для передачи различных идентификатор в виде Map<String, String>.

    Если вам надо передать mindboxId, нужно использовать дополнительный конструктор, который на вход принимает Int вместе с Map<String, String> остальных значений.

  3. CustomFields - класс, использующийся для передачи различных кастомных параметров в виде Map<String, Any>.

  4. DateOnly - класс, наследник от Date, используется для передачи на сервер даты в формате "yyyy-mm-dd".

    Если вы реализуете свои классы и хотите в них передать использовать этот класс в качестве типа нового поля, то при переопределении классов необходимо к полю добавить @JsonAdapter(DateOnlyAdapter::class)

  5. DateTime - класс, наследник от Date, используется для передачи на сервер даты и времени.

    Если вы реализуете свои классы и хотите в них передать использовать этот класс в качестве типа нового поля, то при переопределении классов необходимо к полю добавить @JsonAdapter(DateTimeAdapter::class)

  6. DiscountRequest - класс, использующийся для скидок.

    Имеет 2 конструктора, выбор из которых зависит от того, задаем ли мы PromoCodeRequest или ExternalPromoActionRequest

  7. LineRequest - класс имеет 2 конструктора, выбор из которых зависит от того, какого типа данных должен быть параметр quantity. QuantityType определяется и подставляется автоматически в тело в зависимости от типа quantity.

  8. ProductListItemRequest - класс имеет несколько конструкторов, выбор конкретного из которых строится на нужных полях. Например, если необходимо задать pricePerItem и задать ProductRequest, то

KotlinCode
ProductListItemRequest(12.0, ProductRequest(), 5.0, true)
  1. ViewProductRequest - класс с 2-мя конструкторами, выбор из которых строится на необходимости использования ProductRequest или ProductGroupRequest
Last modified on