API — Документация (Покупатель, лимиты и заказы)

Краткая справка: название метода, описание, роут, запрос/ответ и пояснение полей

Содержание

1. Отправка данных покупателя 2. Подтверждение карты (OTP) 3. Получение лимита и условий 4. Создание заказа 5. Подтверждение заказа (OTP) 6. Статус заказа 7. Отмена заказа 8. Подтверждение отмены заказа (OTP)

1. Отправка данных покупателя POST /submit-buyer-data

Старт анкеты покупателя и карты; может потребоваться подтверждение по SMS (OTP).

Пример запроса

{
  "able_id_data": {},
  "photo": "https://url-photo-buyer.png",
  "phone": "+998903467899",
  "card": {
    "number": "1234 5678 9012 3456",
    "exp_date": "1225",
    "phone": "998903467899"
  },
  "guarantors": [
    { "name": "Иванов Иван Иванович", "phone": "+998902222222", "type": "father" },
    { "name": "Иванова Мария Ивановна", "phone": "+998901111111", "type": "mother" }
  ]
}

Поля запроса

  • able_id_data (object) — данные KYC/идентификации (произвольная структура).
  • photo (string, URL) — ссылка на фото покупателя.
  • phone (string) — телефон покупателя в формате +998XXXXXXXXX.
  • card.number (string) — номер карты.
  • card.exp_date (string) — срок действия карты, формат MMYY.
  • card.phone (string) — телефон, привязанный к карте (часто без «+»).
  • guarantors[] (array) — поручители.
  • guarantors[].name (string) — ФИО поручителя.
  • guarantors[].phone (string) — телефон поручителя.
  • guarantors[].type (string) — тип/родство: father, mother и т. п.

Примеры ответов

Вариант A — требуется OTP:
{
  "message": "Данные успешно приняты. Пожалуйста, введите код из SMS",
  "status": "otp",
  "id": "123456"
}
Вариант B — подтверждение карты не требуется:
{
  "message": "Данные успешно приняты. Подтверждать карту по ОТП не требуется",
  "status": "complete",
  "id": "123456"
}

Поля ответа

  • message (string) — статусное сообщение.
  • status (string) — otp или complete.
  • id (string) — идентификатор процесса/анкеты.

2. Подтверждение карты (OTP) POST /confirm-otp-card

Подтверждение карты кодом из SMS.

Пример запроса

{
  "otp_code": "1234",
  "id": "123456",
  "accept_withdraw_funds": true
}

Поля запроса

  • otp_code (string) — код из SMS.
  • id (string) — идентификатор процесса.
  • accept_withdraw_funds (boolean) — согласие на списание средств.

Пример ответа

{
  "message": "Карта успешно подтверждена",
  "id": "123456",
  "status": "complete",
}

Поля ответа

  • message (string) — результат операции.
  • id (string) — идентификатор процесса.

3. Получение лимита и условий POST /get-limit-and-conditions

Возвращает статус скоринга и доступные условия (период/лимит/комиссия). Мы можем отправлять этот запрос повторно до тех пор, пока финансовый партнёр не вынесет окончательное решение — approved или rejected.

Пример запроса

{
  "id": "123456"
}

Поля запроса

  • id (string) — идентификатор процесса.

Пример ответа

{
  "id": "123456",
  "conditions": [
    { "id": 1, "period": 6,  "limit": 5000000,  "comission": 34 },
    { "id": 2, "period": 12, "limit": 45000000, "comission": 38 }
  ],
  "status": "approved/pending/rejected",
  "message": "Ваш лимит одобрен на сумму 5 000 000 сум на 6 месяцев"
}

Поля ответа

  • conditions[] — список условий:
    • id (int) — идентификатор условия.
    • period (int) — срок в месяцах.
    • limit (number) — максимальная сумма в сумах.
    • comission (int) — комиссия в процентах (наименование из примера).
  • status (string) — approved / pending / rejected.
  • message (string) — текстовое сообщение для пользователя.

4. Создание заказа POST /store-order

Фиксация корзины по выбранному условию; может потребоваться подтверждение по SMS (OTP).

Пример запроса

{
  "id": "123456",
  "condition_id": 1,
  "location_info": "id/name",
  "products": [
    {
      "barcode": "1234567890",
      "price": 1500000,
      "quantity": 1,
      "name": "Product 1",
      "code": "09312313131313",
      "code_metric": "123467"
    }
  ]
}

Поля запроса

  • id (string) — идентификатор процесса.
  • condition_id (int) — выбранное условие из метода «Получение лимита и условий».
  • location_info (string) — идентификатор/название точки/склада.
  • products[] — массив позиций заказа:
    • barcode (string) — штрих‑код товара (орфография поля сохранена как в примере).
    • price (number) — цена за единицу (сум).
    • quantity (int) — количество (≥ 1).
    • name (string) — наименование товара.
    • code (string) — ИКПУ товара.
    • code_metric (string) — код измерения товара тасниф.

Пример ответа

{
  "message": "Заказ успешно создан, пожалуйста подтвердите кодом из SMS",
  "status": "created/accepted/cancelled",
  "id": "123456",
  "total_amount": 1500000,
  "products": [
    {
      "barcode": "1234567890",
      "price": 1500000,
      "quantity": 1,
      "name": "Product 1",
      "code": "09312313131313",
      "code_metric": "123467"
    }
  ],
  "document": "https://url-to-document-acceptance-certificate.pdf"
}

Поля ответа

  • message (string) — статусное сообщение.
  • status (string) — created / accepted / cancelled.
  • id (string) — идентификатор заказа/процесса.
  • total_amount (number) — сумма заказа.
  • products[] — подтвержденные позиции (см. структуру выше).
  • document (URL) — ссылка на акт/документ (PDF).

5. Подтверждение заказа (OTP) POST /confirm-otp-order

Подтверждение заказа кодом из SMS.

Пример запроса

{
  "otp_code": "1234",
  "id": "123456"
}

Поля запроса

  • otp_code (string) — код из SMS.
  • id (string) — идентификатор заказа/процесса.

Пример ответа

{
  "message": "Заказ успешно подтвержден",
  "status": "accepted",
  "id": "123456",
  "total_amount": 1500000,
  "products": [
    {
      "barcode": "1234567890",
      "price": 1500000,
      "quantity": 1,
      "name": "Product 1",
      "code": "09312313131313",
      "code_metric": "123467"
    }
  ],
  "document": "https://url-to-document-acceptance-certificate.pdf"
}

Поля ответа

  • message (string) — результат.
  • status (string) — accepted.
  • id (string) — идентификатор заказа/процесса.
  • total_amount (number) — итоговая сумма.
  • products[], document — как выше.

6. Статус заказа POST /get-order-status

Получение актуального статуса заказа.

Пример запроса

{
  "id": "123456"
}

Поля запроса

  • id (string) — идентификатор заказа/процесса.

Пример ответа

{
  "message": "Заказ успешно подтвержден",
  "status": "accepted",
  "id": "123456",
  "total_amount": 1500000,
  "products": [
    {
      "barcode": "1234567890",
      "price": 1500000,
      "quantity": 1,
      "name": "Product 1",
      "code": "09312313131313",
      "code_metric": "123467"
    }
  ],
  "document": "https://url-to-document-acceptance-certificate.pdf"
}

Поля ответа

  • message (string), status (string) — состояние заказа.
  • id (string) — идентификатор.
  • total_amount (number) — сумма.
  • products[], document — как выше.

7. Отмена заказа POST /cancel-order

Инициация отмены заказа; потребуется код из SMS.

Пример запроса

{
  "id": "123456"
}

Поля запроса

  • id (string) — идентификатор заказа.

Пример ответа

{
  "message": "Пожалуйста, подтвердите отмену заказа кодом из SMS",
  "id": "123456"
}

Поля ответа

  • message (string) — запрос подтверждения через OTP.
  • id (string) — идентификатор заказа.

8. Подтверждение отмены заказа (OTP) POST /confirm-cancel-order

Окончательное подтверждение отмены заказа кодом из SMS.

Пример запроса

{
  "otp_code": "1234",
  "id": "123456"
}

Поля запроса

  • otp_code (string) — код из SMS.
  • id (string) — идентификатор заказа.

Пример ответа

{
  "message": "Заказ успешно отменен",
  "status": "cancelled",
  "id": "123456",
  "total_amount": 1500000,
  "products": [
    {
      "barcode": "1234567890",
      "price": 1500000,
      "quantity": 1,
      "name": "Product 1",
      "code": "09312313131313",
      "code_metric": "123467"
    }
  ],
  "document": "https://url-to-document-acceptance-certificate.pdf"
}

Поля ответа

  • message (string) — результат.
  • status (string) — cancelled.
  • id (string) — идентификатор заказа.
  • total_amount (number) — сумма.
  • products[] — позиции (с полями, включая code — ИКПУ; code_metric — код измерения товара тасниф).
  • document (URL) — ссылка на документ.