Резервы

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 успешно отменен",
	}
]