API интернет заказа

Для упрощения интеграции вебмагазинов (вебсайтов) наших клиентов с системой mobidel.ru нами разработан программный интерфейс (API)

При формировании запроса используется кодировка UTF8

Создание Internet заказа.
Формат вызова функции:
online.mobidel.ru/makeOrder.php? user=robot&password=123456&wid=1&line=123456&articles[0]=1054&quantities[0]=1&...&
articles[n]=1067&quantities[n]=5&family=Иванов&street=Ленина&home=1&room=1&comment=&phone=223344

Пример вызова:

online.mobidel.ru/makeOrder.php?user=robot&password=123456&wid=1&line=123456&articles[0]=1054&quantities[0]=1&
articles[1]=1154&quantities[1]=8&family=Иванов&street=Ленина&home=1&room=1&comment=&phone=223344

В данном примере вызывается функция создания заказа c двумя товарами один с артикулом: 1054 (articles[0]=1054), и количеством 1 (quantities[0]=1), второй с артикулом: 1154 (articles[1]=1154), и количеством 8 (quantities[1]=8).

ВНИМАНИЕ!!! Для избежания проблем с распределением заказа просим создать дополнительно еще одного диспетчера с установленным флажком "диспетчер-Internet магазин", и производить авторизацию и создание заказов от его имени.

Параметры:

user имя диспетчера
password пароль диспетчера
wid идентификатор предприятия (id)
line телефон службы доставки, используется для привязки заказа к необходимой службе доставки, если не указан, то берется служба по умолчанию для "диспетчер internet магазин"
articles список артикулов товаров заказа
quantities список количества товаров
articles соответствует quantities, т.е. в заказ добавляется товар с артикулом articles и количеством quantities.
family фамилия клиента
street улица адреса доставки
home дом адреса доставки
room квартира адреса доставки
building корпус адреса доставки
comment комментарий к заказу
phone телефон клиента
entrance подъезд
floor этаж
code код
code2 код домофона
deliveryPrice стоимость доставки в копейках, можно задать любое цифровое значение
warehouseID точка комплектации
advanceDeliveryDate дата доставки в формате 'HH:MM DD/MM/YYYY'
paymentMethod идентификатор метода оплаты (берем из админки)
discount идентификатор скидки (берем из админки)
discountSumm сумма скидки
useDiscountSumm флаг использования суммы скидки, а не идентификатора
margin идентификатор наценки (берем из админки)
marginSumm сумма наценки
useMarginSumm флаг использования суммы наценки, а не идентификатора
staffComment комментарий для кухни
independently флаг самовывоза (1 - самовывоз, 0 - доставка)
persons количество персон в заказе
saleChannel идентификатор канала продаж (берем из админки)
webID идентификатор заказа в вашем интернет магазине (не более 50 символов)


Возвращаемое значение:

ok идентификатор_заказа в том случае если заказ добавлен
error 1 система не смогла создать заказ
error 2 не найден идентификатор предприятия

Получить описание заказа:
/getOrder.php?idOrder=....&user=...&password=....&cid=...

Возвращается JSON объект следующей структуры:
order.id идентификатор заказа
order.cid идентификатор компании
order.number номер заказа
order.ordertype тип заказа
order.status текущее состояние заказа
order.staffStatus текущее состояние заказа в производстве
order.editing флаг возможности редактирования заказа
order.warning флаг "внимания" заказа (просрочен какой-то интервал)
order.createTime время создания заказа
order.createTimestamp timestamp создания заказа
order.staffTime время взятия в комплектование заказа
order.readyTime время укомплектования заказа
order.readyTimestamp timestamp укомплектования заказа
order.orderTimer служебное
order.advanceDeliveryDate дата доставки заказа предварительного заказа
order.advanceDeliveryHour
order.advanceDeliveryMinute
order.advanceDeliveryDay
order.advanceDeliveryMonth
order.advanceDeliveryYear
order.phone телефон клиента
order.deliveryPrice стоимость доставки
order.discountSumm сумма скидки на заказ
order.useDiscountSumm флаг использования суммы скидки на заказ
order.applicableDiscount идентификатор скидки заказа
order.settlementPeriod смещение относительно начала дня по времени клиента расчетного периода
order.nonCash оплата безналом

Состояние заказа кодируется следующим образом:

order.status текущее состояние заказа
0 заказ отложен
1 заказ создан
2 заказ редактируется
3 заказ готов к исполнению
4 заказ передан водителю на ознакомление
5 заказ блокирован водителем, водитель решает брать его или нет
6 водитель взял заказ в работу
7 заказ укомплектован
8 заказ доставляется клиенту
9 заказ выполнен
10 клиент отказался от заказа

В команду makeOrder добавлены следующие параметры:

advanceDeliveryDate дата доставки в формате 'HH:MM DD/MM/YYYY'
paymentMethod идентификатор метода оплаты (берем из админки)
discount идентификатор скидки (берем из админки)
discountSumm сумма скидки
useDiscountSumm флаг использования суммы скидки, а не идентификатора
margin сумма наценки
marginSumm флаг использования суммы скидки, а не идентификатора
useMarginSumm флаг использования суммы наценки, а не идентификатора
staffComment комментарий для кухни
independently флаг самовывоза (1 - самовывоз, 0 - доставка)
persons количество персон в заказе
saleChannel идентификатор канала продаж (берем из админки)
webID идентификатор заказа в вашем интернет магазине (не более 50 символов)

Пример php:

$url="http://online.mobidel.ru/makeOrder.php?".

"user=internet_user".
"&password=internet_zakaz".
"&wid=112".
"&line=22334455".

"&family=".urlencode($myfamily).
"&street=".urlencode($mystreet).
"&building=".urlencode($mybuilding).
"&home=".urlencode($myhome).
"&room=".urlencode($myroom).
"&comment=".urlencode($mycomment).
"&phone=".urlencode($myphone).
"&entrance=".urlencode($myentrance).
"&floor=".urlencode($myfloor).
"&nonCash=".urlencode($mynonCash);

$myi=0;
reset($myitems);
while ($mym=current($myitems)) {
$url.="&articles[".$myi."]=".$mym["id"]."&quantities[".$myi."]=".$mym["quantity"];
$myi++;
next($myitems);
};

$mych = curl_init();
curl_setopt($mych, CURLOPT_URL, $url);
curl_setopt($mych, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($mych, CURLOPT_HEADER, 0);
curl_exec($mych);
curl_close($mych);