Описание 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

Коды ошибок:

1
ошибка подключения к БД
2
отсутвтуют логин и(или) пароль
3
неверные логин и(или) пароль
4
ошибка в указании параметров поиска
5
ошибка выдачи запрошенной информации
6
ошибка внесения изменений (пометки)
7
у данного пользователя нет прав для работы с сервисом
8
неверные значения у параметров поиска

Сервис предоставляет следующие услуги:

  1. Получение списка заказов или этикеток той или иной категории
  2. Отметка какого-либо заказа или этикетки как просмотренной
  3. Получение списка пользователей

Порядок работы.

В параметрах логин и пароль указываем всегда.

1. Получаем список заказов или этикеток

1.1. Режим работы ORDERS.

https://next-auto.pro/xmlinfo.php?login=mylogin&password=mypassword&orders=2

Здесь orders - это режим работы, 2 - это модификатор.

Значения модификаторов режима orders:

В случае успеха для 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:

    В случае успеха для 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:"Ошибка в указании параметров поиска.";
    }
    }