Описание xml-сервиса наличия.
Сервис расположен по адресу https://next-auto.pro/xmlprice.php. Для получения результата сервис необходимо запускать с параметрами.
Перечень параметров:
- login
- Логин пользователя
- password
- Пароль пользователя
- code
- Поисковый запрос детали
- sm
- Тип поиска: 1 для точного поиска, 2 для поиска с начала номера, 3 поиск по шинам к примеру 2155516
- ident
- �?дентификационный код детали
- stock
- Название поставщика (для уточнения наличия)
- producer
- Название производителя (для уточнения наличия)
- ser
- Выдаётся результат, обработанный функцией php serialize()
- json
- Данные выдаются в формате JSON
- with_cross
- если with_cross=0, то результат выдается без аналогов
- brands_union
- brands_union=1 default Бренды отображаются по группам, brands_union=0 Бренды отображаются раздельно
Пример:
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&code=KL2&sm=1&ser
или
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&ident=123456789&with_cross=0
или
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&code=KL2&stock=STOCK66&producer=MAHLE&json
или
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&code=2155516&sm=3&ser
- Данные выдаются в кодировке utf-8
- Протокол работы с сервисом: https
- Метод передачи параметров: GET или POST
- Без параметров ser или json данные выдаются в XML
Коды ошибок:
- 1
- ошибка подключения к БД
- 2
- отсутвтуют логин и(или) пароль
- 3
- неверные логин и(или) пароль
- 4
- ошибка в указании параметров поиска
- 5
- ошибка выдачи списка производителей
- 6
- ошибка выдачи прайслиста
- 7
- у данного пользователя нет прав для работы с сервисом
- 8
- неверные значения у параметров поиска
- 9
- ошибка выдачи результата уточнения наличия
Работа с сервисом строится в три этапа:
- Получение списка производителей по номеру детали
- Получение прайслиста по идентификационному коду детали
- Уточнение наличия отдельных позиций (по желанию)
Порядок работы.
В параметрах логин и пароль указываем всегда.
1. Обращаемся к сервису с указанием параметров code и sm:
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&code=710&sm=1
В случае успеха для XML получаем документ (список производителей) вида:
<details>
<detail>
<producer><![CDATA[CHRYSLER]]></producer>
<article>00710</article>
<ident>38566709</ident>
</detail>
<detail>
<producer><![CDATA[CROSLAND]]></producer>
<article>710</article>
<ident>45162952</ident>
</detail>
<detail>
<producer><![CDATA[SUBARU]]></producer>
<article>710</article>
<ident>49256245</ident>
</detail>
<detail>
<producer><![CDATA[ZEN]]></producer>
<article>710</article>
<ident>55795457</ident>
</detail>
</details>
Для JSON получаем документ вида:
{
"details":[
{"producer":"CHRYSLER","article":"00710","ident":38566709},
{"producer":"CROSLAND","article":"710","ident":45162952},
{"producer":"SUBARU","article":"710","ident":49256245},
{"producer":"ZEN","article":"710","ident":55795457}
]
}
Для serialize() получаем документ вида:
a:1:{
s:7:"details";a:11:{
i:0;a:3:{s:8:"producer";s:8:"CHRYSLER";s:7:"article";s:5:"00710";s:5:"ident";i:38566709;}
i:1;a:3:{s:8:"producer";s:8:"CROSLAND";s:7:"article";s:3:"710";s:5:"ident";i:45162952;}
i:8;a:3:{s:8:"producer";s:6:"SUBARU";s:7:"article";s:3:"710";s:5:"ident";i:49256245;}
i:10;a:3:{s:8:"producer";s:3:"ZEN";s:7:"article";s:3:"710";s:5:"ident";i:55795457;}
}
}
В случае ошибки получаем документ для 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:"Ошибка в указании параметров поиска.";
}
}
2. Выбираем из полученного списка интересующего производителя и берём соответствующий ему ident. Обращаемся
к сервису с указанием параметра ident:
https://next-auto.pro/xmlprice.php?login=mylogin&password=mypassword&ident=38566709
В случае успеха для XML получаем документ (прайслист) вида:
<pricelist>
<detail>
<uid>123456789123456789</uid>
<id>12345671</id>
<dataprice></dataprice>
<code>00710</code>
<producer><![CDATA[CHRYSLER]]></producer>
<caption><![CDATA[]]></caption>
<price>0</price>
<rest></rest>
<deliverydays><![CDATA[]]></deliverydays>
<delivery><![CDATA[]]></delivery>
<currency>R</currency>
<analog></analog>
<stock></stock>
<amount></amount>
<stat_otkaz></stat_otkaz>
<outputorderstime></outputorderstime>
<primposkladu></primposkladu>
<vozvrat>0</vozvrat>
<reliable>0</reliable>
<delivery_type>0</delivery_type>
<distributor>0</distributor>
</detail>
<detail>
<uid>123456789123456789</uid>
<id>12345672</id>
<dataprice>2010.01.15</dataprice>
<code>52088808AB</code>
<producer><![CDATA[CHRYSLER]]></producer>
<caption><![CDATA[ШАРОВАЯ ОПОРА ЗАДНЯЯ]]></caption>
<price>1001</price>
<rest>60</rest>
<deliverydays><![CDATA[1-3 дня]]></deliverydays>
<delivery><![CDATA[ цена с дост.]]></delivery>
<currency>R</currency>
<analog>+</analog>
<stock>STOCK64</stock>
<amount>10</amount>
<stat_otkaz>13</stat_otkaz>
<outputorderstime>12:00;16:00</outputorderstime>
<primposkladu>�������� �� ��������!!!</primposkladu>
<vozvrat>1</vozvrat>
<reliable>1</reliable>
<delivery_type>1</delivery_type>
<distributor>1</distributor>
</detail>
* * *
<detail>
<uid>123456789123456789</uid>
<id>12345680</id>
<dataprice></dataprice>
<code>K7450</code>
<producer><![CDATA[MOOG]]></producer>
<caption><![CDATA[]]></caption>
<price>0</price>
<rest></rest>
<deliverydays><![CDATA[]]></deliverydays>
<delivery><![CDATA[]]></delivery>
<currency>R</currency>
<analog>+</analog>
<stock></stock>
<amount>20</amount>
<stat_otkaz>10</stat_otkaz>
<outputorderstime>12:00;16:00</outputorderstime>
<primposkladu>�������� �� ��������!!!</primposkladu>
<vozvrat>1</vozvrat>
<reliable>0</reliable>
<delivery_type>0</delivery_type>
<distributor>0</distributor>
</detail>
</pricelist>
Для serialize() получаем документ (прайслист) вида:
a:1:{
s:9:"pricelist";a:10:{
i:0;a:12:{
s:3:"uid";s:18:"123456789123456789";
s:2:"id";i:12345671;
s:9:"dataprice";N;
s:4:"code";s:5:"00710";
s:8:"producer";s:8:"CHRYSLER";
s:7:"caption";s:0:"";
s:5:"price";d:0;
s:12:"deliverydays";s:0:"";
s:8:"delivery";s:0:"";
s:8:"currency";s:1:"R";
s:6:"analog";s:0:"";
s:5:"stock";N;
}
i:1;a:13:{
s:3:"uid";s:22:"123456789123456789";
s:2:"id";i:12345672;
s:9:"dataprice";s:10:"2010.01.15";
s:4:"code";s:10:"52088808AB";
s:8:"producer";s:8:"CHRYSLER";
s:7:"caption";s:38:"ШАРОВАЯ ОПОРА ЗАДНЯЯ";
s:5:"price";d:1001;
s:4:"rest";s:2:"60";
s:12:"deliverydays";s:10:"1-3 дня";
s:8:"delivery";s:22:"цена с дост.";
s:8:"currency";s:1:"R";
s:6:"analog";s:1:"+";
s:5:"stock";s:7:"STOCK64";
}
* * *
i:9;a:12:{
s:3:"uid";s:22:"123456789123456789";
s:2:"id";i:12345680;
s:9:"dataprice";N;
s:4:"code";s:5:"K7450";
s:8:"producer";s:4:"MOOG";
s:7:"caption";s:0:"";
s:5:"price";d:0;
s:12:"deliverydays";s:0:"";
s:8:"delivery";s:0:"";
s:8:"currency";s:1:"R";
s:6:"analog";s:1:"+";
s:5:"stock";N;
}
}
}
Для JSON получаем документ вида:
{"pricelist":[
{
"uid":"123456789123456789",
"id":12345671,
"dataprice":null,
"code":"00710",
"producer":"CHRYSLER",
"caption":"",
"price":0,
"deliverydays":"",
"delivery":"",
"currency":"R",
"analog":"",
"stock":null
},
{
"uid":"123456789123456789",
"id":12345672,
"dataprice":"2010.01.15",
"code":"52088808AB",
"producer":"CHRYSLER",
"caption":"\u0428\u0410\u0420\u041e\u0412\u0410\u042f \u041e\u041f\u041e\u0420\u0410 \u0417\u0410\u0414\u041d\u042f\u042f",
"price":1001,
"rest":"60",
"deliverydays":"1-3 \u0434\u043d\u044f",
"delivery":" \u0446\u0435\u043d\u0430 \u0441 \u0434\u043e\u0441\u0442.",
"currency":"R",
"analog":"+",
"stock":"STOCK64"
},
* * *
{
"uid":"123456789123456789",
"id":12345680,
"dataprice":null,
"code":"K7450",
"producer":"MOOG",
"caption":"",
"price":0,
"deliverydays":"",
"delivery":"",
"currency":"R",
"analog":"+",
"stock":null
}
]
}
В случае ошибки для 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:"Ошибка в указании параметров поиска.";
}
}
Расшифровка выдачи прайс-листа
- uid
- уникальный идентификатор запроса, необходимый для отправки позиции в корзину
- id
- уникальный идентификатор позиции
- dataprice
- дата обновления цены вида ГГГГ.ММ.ДД или пустое значение
- code
- номер детали
- producer
- производитель детали: произвольная строка либо пустое значение
- caption
- название детали: произвольная строка либо пустое значение
- price
- цена: целое число или пустое значение
- rest
- количество на складе: либо целое число, либо "+", либо пустое значение
- deliverydays
- сроки доставки: произвольная строка. Чаще всего вида "x-y дней"
- delivery
- Описание доставки
- currency
- Валюта. R, U или E
- analog
- признак неоригинальной запчасти.
- stock
- код склада
- amount
- кратность количества для заказа (Количество единиц товара в упаковке) К примеру если стоит 50, заказать можно 50, 100, 150 и т.д.
- stat_otkaz: процент отказов по данному стоку
- outputorderstime:
- primposkladu:
- vozvrat
- 0 - возвраты принимаются с удержанием; 1 - возвраты не принимаются; 2 - возвраты принимаются без удержания
- delivery_type
- Центральный склад
- reliable
- Nadegniy
- distributor
- distributor
3. Выбираем из прайслиста интересующую позицию и берём соответствующие ей поля code, stock и producer. Обращаемся
к сервису с указанием параметров code, stock и producer:
https://
next-auto.pro
/xmlprice.php?login=mylogin&password=mypassword&code=52088808AB&stock=STOCK242&producer=CHRYSLER
В случае успеха для XML получаем документ (данные по детали) вида:
<detail>
<dataprice>2011.02.04</dataprice>
<code>52088808AB</code>
<producer><![CDATA[CHRYSLER]]></producer>
<caption><![CDATA[BALLJOINT]]></caption>
<price>100</price>
<rest>+</rest>
<deliverydays><![CDATA[1-3 дня]]></deliverydays>
<delivery><![CDATA[ цена с дост.]]></delivery>
<currency>R</currency>
<analog></analog>
<stock>STOCK242</stock>
<amount></amount>
<stat_otkaz></stat_otkaz>
<outputorderstime></outputorderstime>
<primposkladu></primposkladu>
<vozvrat>0</vozvrat>
<reliable>0</reliable>
<delivery_type>0</delivery_type>
<distributor>0</distributor>
<exists>1</exists>
</detail>
Для serialize() получаем документ (прайслист) вида:
a:1:{
s:6:"detail";a:12:{
s:9:"dataprice";s:10:"2010.01.15";
s:4:"code";s:10:"52088808AB";
s:8:"producer";s:8:"CHRYSLER";
s:7:"caption";s:9:"BALLJOINT";
s:5:"price";d:100;
s:4:"rest";s:1:"+";
s:12:"deliverydays";s:10:"1-3 дня";
s:8:"delivery";s:22:" цена с дост. ";
s:8:"currency";s:1:"R";
s:6:"analog";s:0:"";
s:5:"stock";s:8:"STOCK242";
s:6:"amount";N;
s:6:"stat_otkaz";N;
s:6:"outputorderstime";N;
s:6:"primposkladu";N;
s:6:"vozvrat";N;
s:6:"reliable";N;
s:6:"delivery_type";N;
s:6:"distributor";N;
s:6:"exists";s:1:"1";
}
}
Для JSON получаем документ вида:
{"pricelist":[
{"detail":{
"dataprice":"2011.02.04",
"code":"52088808AB",
"producer":"CHRYSLER",
"caption":"BALLJOINT",
"price":100,
"rest":"+",
"deliverydays":"1-3 \u0434\u043d\u044f",
"delivery":" \u0446\u0435\u043d\u0430 \u0441 \u0434\u043e\u0441\u0442.",
"currency":"R",
"analog":"",
"stock":"STOCK242",
"amount":null
"stat_otkaz":null
"outputorderstime":null
"primposkladu":null
"vozvrat":0
"reliable":0
"delivery_type":0
"distributor":0
"exists":"1"
}
}
В случае ошибки для XML получаем документ вида:
<error>
<code>9</code>
<descr><![CDATA[Ошибка ввыдачи наличия и цены.]]</descr>
</error>
Для JSON получаем документ вида:
{
"error":{
"code":9,
"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:9;
s:5:"descr";s:67:"Ошибка выдачи наличия и цены.";
}
}
Расшифровка выдачи наличия
- dataprice
- дата обновления цены вида ГГГГ.ММ.ДД или пустое значение
- code
- номер детали
- producer
- производитель детали: произвольная строка либо пустое значение
- caption
- название детали: произвольная строка либо пустое значение
- price
- цена: целое число или пустое значение
- rest
- количество на складе: либо целое число, либо "+", либо пустое значение
- deliverydays
- сроки доставки: произвольная строка. Чаще всего вида "x-y дней"
- delivery
- Описание доставки
- currency
- Валюта. R, U или E
- analog
- признак неоригинальной запчасти.
- stock
- код склада
- amount
- кратность количества для заказа (количество единиц товара в упаковке) К примеру если стоит 50, заказать можно 50, 100, 150 и т.д.
- stat_otkaz - процент отказов по данной поставке
- Количество единиц товара в упаковке
- outputorderstime -
- primposkladu -
- vozvrat
- 0 - возвраты принимаются с удержанием; 1 - возвраты не принимаются; 2 - возвраты принимаются без удержания
- reliable
- Nadegniy
- delivery_type
- Центральный склад
- distributor
- Официальный дистрибьютор
- exists
- Признак наличия
Примечания
В выдаче прайс-листа и наличия в тегах <caption></caption> выводится название детали, отфильтрованное по регулярному выражению /[^\w\s\dА-Яа-я]/.