API - Добавление заказов

Метод добавляет заказы переданные в параметре orders сразу на статус "В обработке", т.е. сразу передает в работу нашим менеджерам. Данный метод добавит только заказы, в которых не будет ошибок. Заказы добавленные с помощью данного метода нельзя редактировать в личном кабинете, только если заказ будет отменен.

Метод соответствует последовательному запуску методов addOrdersToNew и sendToWork, за исключением того, что заказы с ошибками не будут добавлены. Так как метод sendToWork отправляет в работу все заказы, которые не имеют ошибок и находятся на статусе "Новый заказ", то возможна ситуация, когда с помощью данного метода addOrdersToWork будет добавлено меньше заказов, чем отправлено в работу. Это возможно из-за того, что до запуска метода addOrdersToWork уже были заказы на статусе "Новый заказ" без ошибок, например, они были добавлены ранее с помощью метода addOrdersToNew.

Параметры запроса
Параметр Тип Описание
key string Ваш API-ключ
method string addOrdersToNew
orders string JSON-массив с заказами. Структура такая же, как в методе addOrdersToNew
Пример запроса


$orders[] = array(
	'number' => '11111',
	'date' => '01.09.2017',
	'timeFrom' => '10',
	'timeTo' => '15',
	'serviceType' => 'москва',
	'zipcode' => '',
	'recipientCity' => 'Москва',
	'address' => 'москва ул Чаянова 14',
	'comment' => 'тестовая заявка',
	'contactPerson' => 'Иван',
	'contactPhone' => '903-222-22-22',
	'payment' => '2000',
	'paymentType' => '',
	'costSending' => '2000',
	'items' => array(
		array(
			'barcode' => 'FR11111',
			'name' => 'Чехол',
			'article' => '',
			'weight' => '0.2',
			'quantity' => '1', // если не указать, то по-умолчанию будет 1
			'price' => '2000',
			'nds' => '0',
);

$orders = json_encode($orders);

$url = 'https://www.algocom.ru/personal/api/v1.0/json/index.php';

$data = array(
	'key' => 'ВАШ API-КЛЮЧ',
	'method' => 'addOrdersToWork',
	'orders' => $orders
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$json = curl_exec($ch);
print $json;

Порядок возвращаемых объектов с информацией о добавлении, соответствует порядоку заказов в исходном массиве.
Для каждого заказа возвращается следующая информация:
id - уникальный идентификатор заказа или 0, если заказ не добавлен.
created - 0|1 - 0 заказ не добавлен, 1 - заказ добавлен.
address - в процесее добавления получаемый адрес проверяется на корректность и может быть исправлен. В данной строке возвращается исправленый адрес.
hasError - 0|1 - 0 в заказе нет ошибок, 1 - в заказе есть ошибка.
error - строка с ошибкой.
errors - массив с ошибками в параметрах заказа.

sending - 0|1 - 0 если не отправлен ни один заказ, 1 если хотя бы один заказ был отправлен в работу.
sentOrders - массив идентификаторов заказов, которые были отправлены в работу.

Пример успешного ответа
{
	"createdOrders":[
		{
			"id":1842,
			"created":1,
			"address":"г Москва, ул Чаянова, д 14",
			"hasError":0,
			"error":"",
			"errors":[]
		}
	],
	"sending":1,
	"sentOrders":[1841,1842]
}
Пример ответа с ошибкой
{
	"createdOrders":[
		{
			"id":1842,
			"created":0,
			"address":"г Москва, ул Чаянова, д 14",
			"hasError":1,
			"error":"Не заполнен контактный телефон.",
			"errors":{
				"contactPhone":"Не заполнен контактный телефон."
			}
		}
	],
	"sending":1,
	"sentOrders":[]
}
Пример ответа с ошибкой
{
	"createdOrders":[],
	"sending":0,
	"error":"Нет заказов для импорта.",
	"sentOrders":[]
}


Вернуться назад