Техническая информация

Seller API v1

Общая информация
Заказы
Получения списка заказов
Получения содержания заказа по номеру заказа
Изменения статуса заказа
Вызов страницы оформления заказа

Общая информация

API для продавцов – программный интерфейс, который предназначен для получения информации о заказах и сопутствующих данных, поступивших через платформу. Данный программный интерфейс соответствует спецификации JSON API. Спецификация описывает процесс взаимодействия клиент-серверных систем, построенных на базе формата сообщений JSON и протокола передачи гипертекста (HTTP).

Каждый запрос в систему сопровождается заголовками и набором параметров.

Каждый запрос обязательно должен содержать следующие:

  • API-KEY — ключ, сгенерированный в управлении API-ключами
Все даты указываются в часовом поясе Алматы.

Заказы

Получение списка заказов


POST https://marketapi.forte.kz​/v1​/shopping-cart​/orders​/filter​/ — Получение списка заказов

Запрос

Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/filter/
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245

{
"from":0,
"size":15,
"scope":"fortemarket",
"order_status":["pending_approve","filled_not_approved"],
"city_id":"",
"sort":"updated_on_DESC",
}

Ответ

{
"total_hits":1,
"orders":[
{
"uid":"3160627797379-00889",
"invoice_ref":"1535274783225417929",
"scope":"fortemarket",
"fio":" Иван",
"mobile":"701*******",
"order_status":"filled_not_approved",
"order_status_title":"Анкета заполнена. Ожидание подтверждения продавцом",
"created_on":"2020-08-20T10:01:37.131549873Z",
"paid":false,
"updated_on":"2020-08-20T13:15:10.031476711Z",
"common_price":73900,
"delivery_types":"delivery",
"pay_title":"Рассрочка на 24 месяца",
"pay_types":"FORTE_EXPRESS",
"merchant_ids":[
"9bbsKSj51UMsZGVLMm
"
],
"own_type":"dar_profile_id",
"owner":"b4f2fcd4-3bf1-3f43-ac01-6f3c9cd5b7b2",
"address":"Алматы, Шевченко, 22",
"city_id":"KZ-ALA"
}
]
}

Данный запрос возвращает список заказов, оставленных покупателями. Содержит общую цену заказа, способ доставки и оплаты, статус заказа и оплаты, даты создания и одобрения банком, требуется ли подписание.

Ответ содержит следующие поля:

Информация о заказе:

  • Номер заказа
  • Статус заказа
  • Название витрины
  • Дата и время поступления заказа
  • Сумма


Информация об оплате

  • Статус оплаты/займа
  • Способ оплаты
Информация о доставке/самовывозе
  • Способ
  • Планируемая дата
  • Город
ID
Наименование
  • Стоимость доставки
Покупатель
  • Имя
  • Фамилия
  • Телефон
Связи
  • URL запроса “Получения содержания заказа по номеру заказа”
В список попадают только те заказы, которые соответствуют следующим условиям:
  • Клиент оформил заказ
  • Клиент завершил оплату или по нему одобрен займ или не совершал оплату онлайн, так как выбрал способ оплаты “Наличными”
Запрос может принимать следующие параметры:

Статусы заказа — «order_status»
Перечисляемый тип, может принимать следующие значения:

  • new – новый заказ
  • pending_approve — Ожидает подтверждения мерчантом
  • filled_not_approved — Анкета заполнена. Ожидание подтверждения продавцом
  • approved_not_filled — Подтвержден продавцом. Ожидание анкеты
  • awaiting_loan_approve — Ожидает подтверждения банком
  • pending_pickup — Ожидает выдачи
  • on_delivery — На доставке
  • cancelled — Отменён продавцом
  • taken — Выдан
  • delivered — Доставлен
  • returned — Возвращен
  • cancelledbybank — Отменён банком
  • cancelledbyclient — Отменён покупателем

Способ доставки — «delivery_types»

Перечисляемый тип, может принимать одно из следующих значений:

  • PICKUP — самовывоз
  • DELIVERY — доставка

Требуется подписание — «paid»

Требуется ли подписания документов, булевое значение:

  • TRUE – подписания требуется
  • FALSE – подписания не требуется
Дата создание заказа — «created_on»

Диапазон начальной и конечной даты поиска заказа. Поиск осуществляется по дате создания заказа. Указывается как unix timestamp. Обязательный параметр.

Получения содержания заказа по номеру заказа

POST https://marketapi.forte.kz​/shopping-cart​/orders​/{id} — Получение деталей заказа по ID

Запрос

Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/{{order_id}}
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245

{}

Ответ

{
"basket_id": "0eca3cf9-e2cc-11ea-b349-0a580a020759"
"calculate_by_delivery": true
"city_id": "KZ-ALA"
"common_price": 73900
"common_quantity": 1
"created_on": "2020-08-20T10:01:37.131549873Z"
"delivery_types": "delivery"
"estimated_delivery_date": "2020-08-27T10:01:36.477251642Z"
"invoice_is_created": true
"invoice_ref": "1535274783225417929"
"own_type": "dar_profile_id"
"owner": "b4f2fcd4-3bf1-3f43-ac01-6f3c9cd5b7b2"
"paid": false
"paidDate": "0001-01-01T00:00:00Z"
"pay_title": "Рассрочка на 24 месяца"
"pay_types": "FORTE_EXPRESS"
"pickup_date": "2020-08-27T10:01:36.477251642Z"
"scope": "fortemarket"
"status": "filled_not_approved"

"status_title": "Анкета заполнена. Ожидание подтверждения продавцом"
"uid": "3160627797379-00889"
"updated_on": "2020-08-20T13:15:10.031476711Z"
}

Изменения статуса заказа

POST https://marketapi.forte.kz/v1​/shopping-cart​/orders​/{id}​/set-status — Обновление статуса заказа

Данный запрос изменяет статус заказа.

Запрос может принимать следующие параметры:

Номер заказа
Новый статус заказа. Принимает одно из следующих значений:

  • accepted — Товар принят продавцом;
  • giveAway – Товар выдан покупателю. Может быть использован, только если текущий статус accepted;
  • cancelled — Отмена заказа.

Данный запрос возвращает состав заказа, оставленных покупателями. Содержит общую цену заказа, способ доставки и оплаты, статус заказа и оплаты, даты создания и одобрения банком, требуется ли подписание.

Запрос может принимать следующие параметры:

Номер заказа
Ответ содержит следующие поля:

Информация о заказе

  • Номер заказа
  • Статус заказа
  • Название витрины
  • Дата и время поступления заказа
  • Сумма
Информация об оплате
  • Статус оплаты/займа
  • Способ оплаты
  • Период займа (Если заказ оформлен в кредит/рассрочку)
Информация о доставке/самовывозе
- Способ
- Планируемая дата
- Город:

   - ID

   - Наименование

- Адрес:

  •    ID точки продаж продавца. Если способ оплаты самовывоз, то в данном поле должно быть значение ID точки продаж продавца
  •    Улица
  •    Дом
  •    Квартира/офис

- Стоимость доставки
- Покупатель
- Содержание заказа

  • Название на ForteMarket
  • Название у продавца
  • Код товара продавца
  • Стоимость
  • Количество
- История изменений
  • Дата и время
  • Действие
- Отзыв (если есть)
  • Дата и время
  • Текст отзыва
  • Оценка покупателя
  • Статус решения проблемы

Подтверждение наличия


Все заказы со статусами pending_approve и filled_not_approved ожидают подтверждения наличия, в течении 3-х рабочих часов продавца.


Обязательные поля:

  • status — для подтверждения наличия используйте accepted
  • scope — для проекта ForteMarket указывается значение fortemarket

Запрос

Подтверждение наличия
Все заказы со статусами pending_approve и filled_not_approved ожидают подтверждения наличия, в течении 3-х рабочих часов продавца.


Обязательные поля:

status — для подтверждения наличия используйте accepted
scope — для проекта ForteMarket указывается значение fortemarket
Запрос

Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/{{order_id}}
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245

{}

Ответ

{
"set_state_ord":"Success"
}

Выдача заказа — отправка SMS
Для выдачи заказа выполняются 2 действия

  • Первым запросом отправляете sms c ИИН клиента,
  • На номер покупателя будет отправлен секретный СМС код
  • После того, как покупатель сообщит СМС код, отправляете запрос set-status с указанием кода из СМС.
  • Если код верный то статус заказа меняется на taken — при самовывозе, delivered — доставке силами продавца.
Шаг 1. — Отправка OTP

Обязательные поля:

order_id — номер заказа
iin — ИИН покупателя
POST https://marketapi.forte.kz/shopping-cart​/orders​/sms​/ — Отправка СМС-сообщения

Запрос

Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/sms/
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245


{
order_id: "3160627797379-00889",
iin: "760724300757"
}

Ответ

{
"message":"SMS send"
}

Шаг 2. Смена статуса с проверкой OTP

Обязательные поля:

set_status
— для выдачи товара используется значение giveAway
scope — для проекта ForteMarket указывается значение fortemarket
otp — полученый от покупателя секретный SMS код


Запрос

Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/{{order_id}}/set-status
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245

{
"set_status":"giveAway",
"scope":"fortemarket",
"otp":3468,
}

Ответ

{
"set_state_ord":"Success"
}

Отмена заказа


Отмену заказа можно запустить на любой стадии заказа, отправив смену статуса на cancelled, система сама проверит и при необходимости вернёт средства покупателю, аннулирует кредитный договор и пр.

Обязательные поля:


status — значение для запуска прцедуры возврата используйте cancelled
scope — для проекта ForteMarket указывается значение fortemarket
comment — при отмене заказа продавцом, используется значение merchant


Запрос

Привет



Request URL: https://marketapi.forte.kz/v1/shopping-cart/orders/{{order_id}}/set-status
Request Method: POST
API-KEY: 00fc80b1-6a6a-4724-833f-09c0c9bfc245

{
"set_status":"cancelled",
"scope":"fortemarket",
"comment":"merchant"
}

Ответ

{
"set_state_ord":"Success"
}

POST

https://marketapi.forte.kz​/shopping-cart​/orders​/byinvoice

Получение деталей заказа по invoice


POST https://marketapi.forte.kz/shopping-cart​/orders​/{id}​/pickup-points

Обновление точки выдачи

Обращения к сервису доставки

Подверждение наличия
POST https://marketapi.forte.kz/v3/shopping-cart/order/{{order_id}}/set-status

{
"set_status": "shipment",

}

Готов к выдаче - самовывоз
POST https://marketapi.forte.kz/v2/delivery/parcel/{{order_id}}/set-status
{

"status": "pending_pickup"

}

Готов к выдаче - доставка продавца
POST https://marketapi.forte.kz/v2/delivery/parcel/{{order_id}}/set-status
{

"status": "on_delivery"
}

Готов к выдаче - региональная доставка
POST https://marketapi.forte.kz/v2/delivery/parcel/{{order_id}}/set-status

{
"status": "courier_delivery"
}