Описание xml-сервиса заказов.
Сервис расположен по адресу https://next-auto.pro/xmlorders.php. Для получения результата сервис необходимо запускать с параметрами.
Перечень параметров:
- login
- Логин пользователя
- password
- Пароль пользователя
- orders
- Режим просмотра заказов клиентов
- datefrom=2012.01.01
- дата с которой начинается выборка datefrom=2012.01.01
- dateto
- дата по которую идет выборка dateещ=2013.11.11
- notime
- выборка без времени
- mark_order
- Режим отметки заказа как просмотренного
- documents
- Просмотр Code(этикеток), которые попали к дилеру в баланс, либи по которым поменялись цены в накладной
- mark_document
- Режим отметки этикетки как просмотренной.
- json
- Данные выдаются в формате JSON
- ser
- Выдаётся результат, обработанный функцией php serialize()
- page
- mode
- 1 - все заказы
- 2 - в работе
- 3 - отказы
- 4 - пришло на склад
- 5 - сдали для отправки
- userlist
- Выдается список клиентов дилера с идентификационными номерами
Пример:
https://next-auto.pro/xmlorders.php?login=mylogin&password=mypassword&orders=1&ser
или
https://next-auto.pro/xmlorders.php?login=mylogin&password=mypassword&mark_order=123456789
или
https://next-auto.pro/xmlorders.php?login=mylogin&password=mypassword&datefrom=2011.02.07&dateto=2014.02.12&page=3
- Данные выдаются в кодировке utf-8
- Протокол работы с сервисом: https
- Метод передачи параметров: GET или POST
- Без параметров ser или json данные выдаются в XML
- Режимом работы сервиса по умолчанию является режим orders=0
Коды ошибок:
- 1
- ошибка подключения к БД
- 2
- отсутвтуют логин и(или) пароль
- 3
- неверные логин и(или) пароль
- 4
- ошибка в указании параметров поиска
- 5
- ошибка выдачи запрошенной информации
- 6
- ошибка внесения изменений (пометки)
- 7
- у данного пользователя нет прав для работы с сервисом
- 8
- неверные значения у параметров поиска
Сервис предоставляет следующие услуги:
- Получение списка заказов или этикеток той или иной категории
- Отметка какого-либо заказа или этикетки как просмотренной
- Получение списка пользователей
Порядок работы.
В параметрах логин и пароль указываем всегда.
1. Получаем список заказов или этикеток
1.1. Режим работы ORDERS.
https://next-auto.pro/xmlinfo.php?login=mylogin&password=mypassword&orders=2
Здесь orders - это режим работы, 2 - это модификатор.
Значения модификаторов режима orders:
- 0 - отображать непросмотренные
- 1 - отображать просмотренные
- 2 - отображать все
В случае успеха для XML получаем документ (список заказов) вида:
<orders>
<detail>
<log_id>111</log_id>
<cart_id>123456</cart_id>
<username>stas</username>
<date>2010.08.10 11:20</date>
<producer>BOSCH</producer>
<article>0450905030</article>
<stock>STOCK23</stock>
<quantity>1</quantity>
<name_ok>0</name_ok>
<name>ТОПЛ�?ВНЫЙ Ф�?ЛЬТР BOSCH</name>
<only_this_quantity>0</only_this_quantity>
<price>100</price>
<cost>100</cost>
<comment>Комментарий</comment>
<order_num>115</order_num>
<user_id>2657</user_id>
<client_price>150</client_price>
<client_cost>150</client_cost>
<client_comment>Комментарий клиента</client_comment>
<client_order_num>668</client_order_num>
</detail>
<detail>
<log_id>112</log_id>
<cart_id>123789</cart_id>
<username>stas</username>
<date>2010.08.10 11:20</date>
<producer>KNECHT</producer>
<article>KL2</article>
<stock>STOCK1</stock>
<quantity>4</quantity>
<name_ok>1</name_ok>
<name>ТОПЛ�?ВНЫЙ Ф�?ЛЬТР</name>
<only_this_quantity>0</only_this_quantity>
<price>120</price>
<cost>480</cost>
<comment>Комментарий</comment>
<order_num>56</order_num>
<user_id>2657</user_id>
<client_price>150</client_price>
<client_cost>600</client_cost>
<client_comment>Комментарий клиента</client_comment>
<client_order_num>667</client_order_num>
<status>6</status>
<status_txt>Отгружено</status_txt>
</detail>
* * *
<detail>
<log_id>154</log_id>
<cart_id>789123</cart_id>
<username>stas</username>
<date>2010.08.10 11:20</date>
<producer>KNECHT</producer>
<article>KL2</article>
<stock>STOCK276</stock>
<quantity>2</quantity>
<name_ok>1</name_ok>
<name>Ф�?ЛЬТР</name>
<only_this_quantity>0</only_this_quantity>
<price>80</price>
<cost>160</cost>
<comment></comment>
<order_num></order_num>
<client_price>100</client_price>
<client_cost>200</client_cost>
<client_comment>Для �?вана</client_comment>
<client_order_num></client_order_num>
</detail>
</orders>
Для JSON получаем документ вида:
{
"orders":[
{
"log_id":111,
"cart_id":123456,
"username":"stas",
"date":"2010.08.10 11:20",
"producer":"BOSCH",
"article":"0450905030",
"stock":"STOCK23",
"quantity":1,
"name_ok":1,
"name":"\u0422\u041e\u041f\u041b\u0418\u0412\u041d\u042b\u0419 \u0424\u0418\u041b\u042c\u0422\u0420 BOSCH",
"only_this_quantity":"0",
"price":100,
"cost":100,
"comment":"\u0422\u041e\u041f\u041b\u0418\u0412\u041d\u042b\u0419",
"order_num":"115",
"user_id":"2657",
"client_price":150,
"client_cost":150,
"client_comment":"\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 3",
"client_order_num":"668"
},
{
"log_id":112,
"cart_id":123789,
"username":"stas",
"date":"2010.08.10 11:20",
"producer":"KNECHT",
"article":"KL2",
"stock":"STOCK1",
"quantity":4,
"name_ok":1,
"name":"\u0424\u0418\u041b\u042c\u0422\u0420 \u0422\u041e\u041f\u041b\u0418\u0412\u041d\u042b\u0419 ",
"only_this_quantity":"0",
"price":120,
"cost":480,
"comment":"\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435",
"order_num":"56",
"user_id":"2657",
"client_price":150,
"client_cost":600,
"client_comment":"\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 2",
"client_order_num":"667"
},
* * *
{
"log_id":154,
"cart_id":789123,
"username":"stas",
"date":"2010.08.10 11:20",
"producer":"KNECHT",
"article":"KL2",
"stock":"STOCK276",
"quantity":2,
"name_ok":1,
"name":"\u0424\u0438\u043b\u044c\u0442\u0440",
"only_this_quantity":"0",
"price":80,
"cost":160,
"comment":"",
"order_num":"",
"client_price":100,
"client_cost":200,
"client_comment":"\u0424\u0438\u043b\u044c\u0442\u0440",
"client_order_num":""
}
]}
Для serialize() получаем документ вида:
a:1:{
s:6:"orders";a:7:{
i:0;a:19:{
s:6:"log_id";d:111;
s:7:"cart_id";d:123456;
s:8:"username";s:4:"stas";
s:4:"date";s:17:"2010.08.10 11:20";
s:8:"producer";s:5:"BOSCH";
s:7:"article";s:10:"0450905030";
s:5:"stock";s:7:"STOCK23";
s:8:"quantity";d:1;
s:7:"name_ok";i:1;
s:4:"name";s:37:"ТОПЛ�?ВНЫЙ Ф�?ЛЬТР BOSCH";
s:18:"only_this_quantity";s:1:"0";
s:5:"price";d:100;
s:4:"cost";d:100;
s:7:"comment";s:22:"Комментарий";
s:9:"order_num";s:3:"115";
s:12:"client_price";d:150;
s:11:"client_cost";d:150;
s:14:"client_comment";s:37:"Комментарий клиента";
s:16:"client_order_num";s:3:"668";
}
i:1;a:19:{
s:6:"log_id";d:112;
s:7:"cart_id";d:123789;
s:8:"username";s:4:"stas";
s:4:"date";s:17:"2010.08.10 11:20";
s:8:"producer";s:6:"KNECHT";
s:7:"article";s:3:"KL2";
s:5:"stock";s:6:"STOCK1";
s:8:"quantity";d:4;
s:7:"name_ok";i:1;
s:4:"name";s:31:"ТОПЛ�?ВНЫЙ Ф�?ЛЬТР";
s:18:"only_this_quantity";s:1:"0";
s:5:"price";d:120;
s:4:"cost";d:480;
s:7:"comment";s:22:"Комментарий";
s:9:"order_num";s:2:"56";
s:9:"user_id";s:2:"2657";
s:12:"client_price";d:150;
s:11:"client_cost";d:600;
s:14:"client_comment";s:37:"Комментарий клиента ";
s:16:"client_order_num";s:3:"667";
}
* * *
i:2;a:19:{
s:6:"log_id";d:154;
s:7:"cart_id";d:789123;
s:8:"username";s:4:"stas";
s:4:"date";s:17:"2010.08.10 11:20";
s:8:"producer";s:6:"KNECHT";
s:7:"article";s:3:"KL2";
s:5:"stock";s:8:"STOCK276";
s:8:"quantity";d:2;
s:7:"name_ok";i:1;
s:4:"name";s:14:"Ф�?ЛЬТР";
s:18:"only_this_quantity";s:1:"0";
s:5:"price";d:80;
s:4:"cost";d:160;
s:7:"comment";s:0:"";
s:9:"order_num";s:0:"";
s:9:"user_id";s:0:"";
s:12:"client_price";d:100;
s:11:"client_cost";d:200;
s:14:"client_comment";s:17:"Для �?вана";
s:16:"client_order_num";s:0:"";
}
}
}
Расшифровка выдачи
- log_id
- �?дентификатор информационной записи.
- cart_id
- �?дентификатор соответствующей позиции в корзине
- username
- �?мя клиента, заказавшего позицию
- date
- Дата заказа
- producer
- Название производителя детали
- article
- Код детали
- stock
- Код склада
- quantity
- Количество деталей в заказе
- name_ok
- Признак корректности заполнения поля "Название детали" русскими буквами
- name
- Название детали
- only_this_quantity
- Требование "только это количество"
- price
- Стоимость одного экземпляра детали для дилера
- cost
- Стоимость всех деталей в заказе для дилера (price * quantity)
- comment
- Комменатрий дилера
- order_num
- Номер заказа дилера
- user_id
- user_id
- client_price
- Стоимость одного экземпляра детали для клиента
- client_cost
- Стоимость всех деталей в заказе для клиента (client_price * quantity)
- client_comment
- Комментарий клиента
- client_order_num
- Номер заказа клиента
- client_order_num
- Номер заказа клиента
- status
- идентификатор статуса заказа
- 4 - отказ
- 5 - на складе
- 6 - отгружено
- status_txt
- Текстовое описание статуса заказа
- Отказ
- На складе
- Отгружено
- В работе
- Неразмещенный заказ
- Запрос на снятие
1.2. Режим работы DOCUMENTS.
https://next-auto.pro/xmlorders.php?login=mylogin&password=mypassword&documents=2
Здесь documents - это режим работы, 2 - это модификатор.
Значения модификаторов режима documents:
- 0 - отображать непросмотренные
- 1 - отображать просмотренные
- 2 - отображать все
В случае успеха для XML получаем документ (список этикеток) вида:
<documents>
<document>
<id>100</id>
<code>AC1000120824</code>
<document_number>572196</document_number>
</document>
<document>
<id>101</id>
<code>AD1000047006</code>
<document_number>572196</document_number>
</document>
* * *
<document>
<id>150</id>
<code>AD1000047007</code>
<document_number>572196</document_number>
</document>
</documents>
Для JSON получаем документ вида:
{"documents":[
{
"id":100,
"code":"AC1000120824",
"document_number":"572196"
},
{
"id":101,
"code":"AD1000047006",
"document_number":"572196"
},
* * *
{
"id":150,
"code":"AD1000047007",
"document_number":"572196"
}
]}
Для serialize() получаем документ вида:
a:1:{
s:9:"documents";a:10:{
i:0;a:3:{
s:2:"id";i:100;
s:4:"code";s:12:"AC1000120824";
s:15:"document_number";s:6:"572196";
}
i:1;a:3:{
s:2:"id";i:101;
s:4:"code";s:12:"AD1000047006";
s:15:"document_number";s:6:"572196";
}
* * *
i:2;a:3:{
s:2:"id";i:150;
s:4:"code";s:12:"AD1000047007";
s:15:"document_number";s:6:"572196";
}
}
}
Расшифровка выдачи списка этикеток
- id
- �?дентификатор информационной записи.
- code
- Номер этикетки
- document_number
- Номер соответствующего документа
2. Отмечаем необходимые записи как прочитанные
2.1. Режим работы MARK_ORDER
https://next-auto.pro/xmlinfo.php?login=mylogin&password=mypassword&mark_order=100
Здесь mark_ order - это режим работы, 100 - это идентификационный номер записи.
В случае успеха для XML получаем документ вида:
<mark_order>
<marked>100</marked>
</mark_order>
Для JSON получаем документ вида:
{"mark_order":{"marked":100}}
2.2. Режим работы MARK_DOCUMENT
https://next-auto.pro/xmlinfo.php?login=mylogin&password=mypassword&mark_document=100
Здесь mark_ document - это режим работы, 100 - это идентификационный номер записи.
В случае успеха для XML получаем документ вида:
<mark_document>
<marked>100</marked>
</mark_document>
Для JSON получаем документ вида:
{"mark_document":{"marked":100}}
3. Режим работы USERLIST
https://next-auto.pro/xmlinfo.php?login=mylogin&password=mypassword&userlist
В случае успеха для XML получаем документ вида:
<userlist>
<user>
<id>1324</id>
<name><![CDATA[alexandr]]></name>
</user>
<user>
<id>1235</id>
<name><![CDATA[viktor]]></name>
</user>
<user>
<id>1236</id>
<name><![CDATA[ivan]]></name>
</user>
</userlist>
Для JSON получаем документ вида:
{"userlist":[
{
"id":"1234",
"name":"alexandr"
},
{
"id":"1235",
"name":"viktor"
},
{
"id":"1236",
"name":"ivan"
}
]}
Для serialize() получаем документ вида:
a:1:{
s:8:"userlist";a:3:{
i:0;a:2:{
s:2:"id";s:4:"1324";
s:4:"name";s:8:"alexandr";
}
i:1;a:2:{
s:2:"id";s:4:"1235";
s:4:"name";s:6:"viktor";
}
i:2;a:2:{
s:2:"id";s:4:"1236";
s:4:"name";s:4:"ivan";
}
}
}
Для всех режимов в случае ошибки получаем:
Для XML:
<error>
<code>4</code>
<descr><![CDATA[Ошибка в указании параметров поиска.]]</descr>
</error>
Для JSON:
{
"error":{
"code":4,
"descr":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430.",
}
}
Для serialize():
a:1:{
s:5:"error";a:3:{
s:4:"code";i:4;
s:5:"descr";s:67:"Ошибка в указании параметров поиска.";
}
}