Резервы
GET /reserve/
Получение резервов за период
- Ресурс /reserve/
- HTTP-метод GET
- Формат ответа json
Формат дат YYYY-MM-DD (например 2021-01-01). Если даты не указаны будет выведен список резервов за последние 7 дней.
Пример 1. Получение резервов за период
GET /reserve/?start_date={$start_date}&end_date={$end_date}
Accept: application/json
Content-Type: application/json
array(
"start_date" => "2021-01-01",
"end_date" => "2021-01-10"
)
GET /reserve/document_id/
Детали резерва
- Ресурс /reserve/{document_id}/
- HTTP-метод GET
- Формат ответа json
Пример 1. Получение деталей резерва
GET /reserve/0000000001/
Accept: application/json
Content-Type: application/json
PUT /reserve/
Создание резерва
- Ресурс /reserve/
- HTTP-метод PUT
- Формат ответа json
Пример 2. Создание резерва
Резерв будет поставлен только в том случае, если все позиции есть в наличии. Если какой то позиции нет в наличии или не хватает, резерв не создается.
PUT /reserve/
Accept: application/json
Content-Type: application/json
array(
"items" => array(
array(
"product_id" => 0000208860,
"count" => 1,
),
array(
"product_id" => 0000208861,
"count" => 5,
),
),
"comment" => "Комментарий к документу", //не обязательный
"address" => "Адрес доставки, если нужен", //не обязательный
"document_id" => "0000022284",//Номер резерва при обновлении. Если создается новый резерв, то пусто.
)
Пример запроса на языке php
$data = array(
"items" => array(
array(
"product_id" => 0000208860,
"count" => 1,
),
array(
"product_id" => 0000208861,
"count" => 1,
),
),
"comment" => "Комментарий к документу",
"address" => "Адрес доставки, если нужен",
"document_id" => "",
);
$process = curl_init("https://api.tradeicsbel.by/v1/reserve/");
curl_setopt(
$process,
CURLOPT_HTTPHEADER,
array(
"Accept: application/json",
"Content-Type: application/json",
"PRIVATE-TOKEN: RECEIVED_TOKEN_STRING"
)
);
curl_setopt($process, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($process, CURLOPT_POST, true);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($process, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($process);
curl_close($process);
Ответ сервера:
[
{
"document_id":"12345678",//номер резерва
"status":"ok|error",//"ok" - резерв успешно создан, "error" - ошибка создания
"error_code":"OUT_STOCK|SERVER_IS_NOT_AVAILABLE|DOCUMENT_NOT_CREATED|DOCUMENT_NOT_FOUND|NO_CORRECT_ITEMS",
"info":["Проверьте коды товаров"]
}
]
error_code:
OUT_STOCK - Не хватает товара в наличии. Подробности в info
SERVER_IS_NOT_AVAILABLE - Документ создать не удалось. Повторите попытку позже.
DOCUMENT_NOT_CREATED - Документ создать не удалось. Подробности в info
DOCUMENT_NOT_FOUND - Документ не найден
NO_CORRECT_ITEMS - Нет корректных кодов товара. Проверьте коды товаров.
DOCUMENT_DENIED - Документ закрыт для редактирования
DELETE /reserve/{$document_id}/
Отменить резерв
- Ресурс /reserve/{$document_id}/
- HTTP-метод DELETE
- Формат ответа json
Пример 4. Отменить резерв
DELETE /reserve/{$document_id}/
Accept: application/json
Content-Type: application/json
Ответ сервера:
[
{
"info":"Документ 0000022284 успешно отменен",
}
]