Для упрощения интеграции вебмагазинов (вебсайтов) наших клиентов с системой 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).
Модификаторы:
Для задания модификаторов для товара необходимо заполнить массивы модификаторов additives_a[x][y] и additives_q[x][y]. Оба массива имеют размерность 2. Первый индекс массива [x] указывает на порядковый номер товара в массиве articles , к которому добавляется модификатор, а второй индекс [y] - порядковый номер модификатора к товару (номера начинаются с 0). Массив additives_a содержит артикулы добавляемых модификаторов, массив additives_q - количество соответствующего модификатора.
Пример:
Добавим первый товар с модификаторами:
&articles[0]=1054&quantities[0]=1 (товар, артикул товара 1054, количество 1)
&additives_a[0][0]=2233&additives_q[0][0]=2 (модификатор 0 к товару 0, артикул модификатора 2233, количество 2)
&additives_a[0][1]=1122&additives_q[0][1]=7 (модификатор 1 к товару 0, артикул модификатора 1122, количество 7)
&additives_a[0][2]=0011&additives_q[0][2]=1 (модификатор 2 к товару 0, артикул модификатора 0011, количество 1)
добавим второй товар с модификаторами:
&articles[1]=155&quantities[1]=3 (товар, артикул 155, количество 3)
&additives_a[1][0]=336&additives_q[1][0]=1 (модификатор 0 к товару 1)
&additives_a[1][1]=225&additives_q[1][1]=1 (модификатор 1 к товару 1)
&additives_a[1][2]=772&additives_q[1][2]=1 (модификатор 2 к товару 1)
&additives_a[1][3]=555&additives_q[1][3]=1 (модификатор 3 к товару 1)
ВНИМАНИЕ!!! Для избежания проблем с распределением заказа просим создать дополнительно еще одного диспетчера с установленным флажком "диспетчер-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 |
точка комплектации |
---|
driverID |
курьер |
---|
advanceDeliveryDate |
дата доставки в формате 'HH:MM DD/MM/YYYY' |
paymentMethod |
идентификатор метода оплаты (берем из админки) |
discount |
идентификатор скидки (берем из админки) |
---|
discountSumm |
сумма скидки |
---|
useDiscountSumm |
флаг использования суммы скидки, а не идентификатора |
---|
margin |
идентификатор наценки (берем из админки) |
---|
marginSumm |
сумма наценки |
---|
useMarginSumm |
флаг использования суммы наценки, а не идентификатора |
---|
staffComment |
комментарий для кухни |
---|
independently |
флаг самовывоза (1 - самовывоз, 0 - доставка) |
---|
persons |
количество персон в заказе |
---|
saleChannel |
идентификатор канала продаж (берем из админки) |
---|
webID |
идентификатор заказа в вашем интернет магазине (не более 50 символов) |
---|
note |
купюра оплаты для расчета сдачи |
---|
promoCode |
сертификат |
---|
bonusPay |
количество списываемых бонусов |
Возвращаемое значение:
ok идентификатор_заказа |
в том случае если заказ добавлен |
error 1 |
система не смогла создать заказ |
error 2 |
не найден идентификатор предприятия |
error 4 |
не указан wid в запросе |
error 5 |
не указан user в запросе |
error 6 |
не указан password в запросе |
error 7 |
не указаны товары в запросе |
error 8 |
не указано количество товаров в запросе |
error 10 |
проблемы с БД, повторите запрос,обратитесь в тех поддержку |
В команду makeOrder добавлены следующие параметры:
advanceDeliveryDate |
дата доставки в формате 'HH:MM DD/MM/YYYY' |
paymentMethod |
идентификатор метода оплаты (берем из админки) |
discount |
идентификатор скидки (берем из админки) |
---|
discountSumm |
сумма скидки |
---|
useDiscountSumm |
флаг использования суммы скидки, а не идентификатора |
---|
margin |
сумма наценки |
---|
marginSumm |
флаг использования суммы скидки, а не идентификатора |
---|
useMarginSumm |
флаг использования суммы наценки, а не идентификатора |
---|
staffComment |
комментарий для кухни |
---|
independently |
флаг самовывоза (1 - самовывоз, 0 - доставка) |
---|
persons |
количество персон в заказе |
---|
saleChannel |
идентификатор канала продаж (берем из админки) |
---|
webID |
идентификатор заказа в вашем интернет магазине (не более 50 символов) |
---|
paid |
флаг оплаты (1 - оплачен, 0 - неоплачен) |
Сменить состояние оплаты заказа:
/changePaymentOrder.php?idOrder=....&user=...&password=....&cid=...
Если оплаты не было, то станет оплачен, если оплачен, то станет неоплаченный
Пример 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);
Получить описание заказа:
/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 |
клиент отказался от заказа |
order.staffStatus |
текущее состояние заказа в производстве |
0 |
заказ создан |
1 |
заказ передается в точку |
2 |
заказ не передан в точку |
3 |
заказ передан в точку |
4 |
заказ взят в работу |
5 |
заказ отложен |
6 |
заказ укомплектован и готов к доставке |
Получение списка товаров:
http://online.mobidel.ru/getMenu.php?restaurantID=1&wid=2
где restaurantID - UID службы доставки

где wid - UID предприятия
