Тестовая страница для работы с веб-службами.
|
Пример кода на PHP:
/*******************************************************************************
* Тестовый пример файла для работы с API корпоративного портала
* язык запроса XML
* распространяется свободно, по принципу - "AS IS"
**/
$xml = '
<?xml version="1.0" encoding="utf-8"?'.'>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<SetOrderQty>
<RowId>1</RowId>
<Company>ШИЛЮР</Company>
<PayType>Нал</PayType>
<Item>IP-BAR-FA-ZA225-A01</Item> // ИД
<OrderQty>8</OrderQty>
<Order></Order>
</SetOrderQty>
<SetOrderQty>
<RowId>2</RowId>
<Company>ШИЛЮР</Company>
<PayType>Нал</PayType>
<Item>IP-BAR-T210-082</Item> // ИД
<OrderQty>11</OrderQty>
<Order></Order>
</SetOrderQty>
<OrderStatus>
<Company>ШИЛЮР</Company>
<Order>ЗК00195084</Order>
</OrderStatus>
</request>
';
$xml2 = '
<?xml version="1.0" encoding="utf-8"?'.'>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<OrderDetail>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
</OrderDetail>
</request>
';
$rez = post::transfer($xml);
echo '<pre>'; print_r($rez);
/*******************************************************************************
*
*
*
**/
class post {
private static $host = 'api.partner.vm.ua';
private static $port = '80';
private static $url = '/xml.php';
private static function createRequest($str) {
$str = urlencode( trim($str) );
$data = "xmlRequest={$str}";
$out = "POST ". self::$url ." HTTP/1.1\r\n";
$out .= "Host: ". self::$host .":". self::$port ."\r\n";
$out .= "Connection: close\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".(strlen($data))."\r\n\r\n".$data;
return $out;
}
public static function transfer($xml) {
$req = self::createRequest($xml);
$fp = fsockopen(self::$host,self::$port);
if (!$fp) return false;
fwrite($fp, $req);
$resp = '';
while (!feof($fp)) {
$resp .= fread($fp, 128); }
fclose($fp);
$out = false;
//echo '<pre>'. htmlspecialchars($resp); die();
$resp = explode("\r\n\r\n", $resp, 2);
if (count($resp) > 1) {
try {
$out = simplexml_load_string($resp[1]);
} catch (Exception $e) {
echo $e->getMessage(); }
}
return $out;
}
}
Пример кода на 1C 8.X:
Процедура Тест()
ТекстЗапроса = "<?xml version='1.0' encoding='utf-8'?>
|<request>
| <token>xxxxxxxxxxxxxxxxxxxxxxxxx</token>
| <SetOrderTable>
| <Company>ШИЛЮР</Company>
| <PayType>Нал</PayType>
| </SetOrderTable>
|</request>";
ТекстЗапроса = "xmlRequest=" + ТекстЗапроса;
Соединение = Новый HTTPСоединение("api.partner.vm.ua");
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
Запрос = Новый HTTPЗапрос("/xml.php", ЗаголовокHTTP);
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ОтветВВидеСтроки = Ответ.ПолучитьТелоКакСтроку("UTF-8");
Сообщить(ОтветВВидеСтроки);
КонецПроцедуры
|
Методы:SetOrderTable - Создание пустого заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<SetOrderTable>
<Company>ШИЛЮР</Company>
<PayType>Нал</PayType>
<WarehouseID>0</WarehouseID>
</SetOrderTable>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<SetOrderTable>
<Company>ШИЛЮР</Company>
<PayType>Нал</PayType>
<WarehouseID>0</WarehouseID>
<DeliveryDate>22.04.2015</DeliveryDate>
<Order>ЗК00195084</Order>
<error></error>
</SetOrderTable>
</response>
Параметры запроса:
Company - код клиентаPayType - способ оплаты [Нал/Б.Нал] DeliveryDate - дата доставки (необязательный) WarehouseID - склад отгузки (необязательный) SetOrderQty - Создание/редактирование строк заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<SetOrderQty>
<RowId>любая_строка_1</RowId>
<Company>ШИЛЮР</Company>
<PayType>Нал</PayType>
<Item>IP-BAR-FA-ZA225-A01</Item> // ИД
<OrderQty>4</OrderQty>
<Order></Order>
</SetOrderQty>
<SetOrderQty>
...
</SetOrderQty>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<SetOrderQty>
<RowId>любая_строка_1</RowId>
<Order>ЗК00195084</Order>
<Item>Номенклатура</Item>
<OrderQty>4</OrderQty>
<ReservationQty>4</ReservationQty>
<error></error>
</SetOrderQty>
<SetOrderQty>
...
</SetOrderQty>
<error></error>
</response>
Параметры запроса:
RowId - идентификатор строки | необязательныйCompany - код клиента Item - код номенклатуры OrderQty - количество ReservationQty - - зарезервированное количество Order - номер заказа | необязательный PayType - способ оплаты [Нал/Б.Нал] OrderStatus - Статус заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<OrderStatus>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
</OrderStatus>
<OrderStatus>
...
</OrderStatus>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<OrderStatus>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
<Status>Статус</Status>
<error></error>
</OrderStatus>
<OrderStatus>
...
</OrderStatus>
<error></error>
</response>
Параметры запроса:
Company - код клиентаOrder - номер заказа OrderConfirm - Подверждение заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<OrderConfirm>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
<Comment>Комментарий</Comment>
</OrderConfirm>
<OrderConfirm>
...
</OrderConfirm>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<OrderConfirm>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
<Status>Статус</Status>
<Comment>Комментарий</Comment>
<error></error>
</OrderConfirm>
<OrderConfirm>
...
</OrderConfirm>
<error></error>
</response>
Параметры запроса:
Company - код клиентаOrder - номер заказа Comment - коментрий OrderDetail - Строки заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<OrderDetail>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
</OrderDetail>
<OrderDetail>
...
</OrderDetail>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<OrderDetail>
<Order>ЗК00195084</Order>
<Company>ШИЛЮР</Company>
<record>
<ExtID></ExtID>
<ID>IP-BAR-FA-ZA225-A01</ID>
<ParentID></ParentID>
<Name>АЛЬБОМ BARVA FINE ART Яскраво-білий Гладенький ПАПІР (IP-ZA225-A01) А4 20 арк</Name>
<OrderQty>8.00</OrderQty>
<Unit>шт</Unit>
<Price>23.13</Price>
<Amount>185.04</Amount>
</record>
<record>
...
</record>
<error></error>
</OrderDetail>
<OrderDetail>
...
</OrderDetail>
</response>
Параметры запроса:
Company - код клиентаOrder - номер заказа Categories - Список категорий
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?> <request> <token>a40403cd7b62a116b0cbf632b7320760</token> <Categories></Categories> </request> Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<Categories>
<ID>ТонКАОр</ID>
<Name>001. Тонер оригинальный для копировальных аппаратов</Name>
</Categories>
<Categories>
<ID>ТонКАСо</ID>
<Name>002. Тонер совместимый для копировальных аппаратов</Name>
</Categories>
<Categories>
...
</Categories>
<error></error>
</response>
Параметры запроса:
Products - Список товаров
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<Products>
<Company>ШИЛЮР</Company>
<CategoryID>ТонКАОр</CategoryID>
</Products>
<Products>
...
</Products>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<Products>
<Company>ТонКАОр</Company>
<CategoryID>ТонКАОр</CategoryID>
<PayType>Нал</PayType>
<record>
<ExtID></ExtID> - внешний код номенклатуры
<ID>T-PN-CCEXV18-465</ID> - код номенклатуры
<Name>ТОНЕР CANON C-EXV18 (iR1018) (PN-CEXV18) ТУБА 465 г PATRON</Name>
<Brand>CANON</Brand>
<ProducerItemId>PC-230R</ProducerItemId> - код производителя
<Producer>CANON</Producer>
<KodTNVED></KodTNVED> - код ТНВЭД
<ItemOrigin>1</ItemOrigin> - 0-неизветное / 1-зарубежное / 2-отечественное
<Price1usd>31.08</Price1usd> - цена у.е.
<Price1uah>279.72</Price1uah> - цена грн.
<Price2usd>32.04</Price1usd> - опт. рекомендованная цена, у.е.
<Price2uah>281.72</Price1uah> - опт. рекомендованная цена, грн.
<Price3usd>33.08</Price1usd> - розн. рекомендованная цена, у.е.
<Price3uah>294.42</Price1uah> - розн. рекомендованная цена, грн.
<Price3ua>289.12</Price1uah> - мин. рекомендованная цена, грн
<ItemDescription>Pantum PC-230R M6500, P2200/ 2207/ 2500/ 2507</ItemDescription> - описание
<PackQty>10</PackQty> - кол-во в упаковке
<Availability></Availability> - наличие, если пусто тогда в наличии
<urlPage>http://patronservice.ua/vmshop/kartridji-i-lenty-3279/kartridji-i-toner-kartridji-3280/toner-canon-c-exv11-50083-50083.html</urlPage>
<urlThumbnail>http://patronservice.ua/img/article/500/83_main.jpg</urlThumbnail>
<urlPicture>http://patronservice.ua/img/gallery/500/83/3944038_main.jpg</urlPicture>
</record>
<record>
...
</record>
</Products>
<Products>
...
</Products>
<error></error>
</response>
Параметры запроса:
CategoryID - код категорииID - код номенклатуры PayType - способ оплаты [Нал/Б.Нал] ProducerItemId - код производителя TransferOrders - Список документов перемещения
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<TransferOrders>
<FromDate>02.06.2015</FromDate>
<ToDate>02.06.2015</ToDate>
<Company>ШИЛЮР</Company>
</TransferOrders>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<TransferOrders>
<FromDate>02.06.2015</FromDate>
<ToDate>08.06.2015</ToDate>
<Company>ШИЛЮР</Company>
<Status>Доставлено</Status>
<error></error>
<record>
<Transfer>ЗЖ00603939</Transfer>
<Type>на склад</Type>
<TransDate>02.06.2015</TransDate>
<Status>Доставлено</Status>
</record>
<record>
<Transfer>ЗЖ00604311</Transfer>
<Type>на склад</Type>
<TransDate>03.06.2015</TransDate>
<Status>Доставлено</Status>
</record>
....
</TransferOrders>
</response>
Параметры запроса:
FromDate - дата начала периодаToDate - дата окончания периода Company - код клиента TransferOrderDetail - Детальное описание документа перемещения
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<TransferOrderDetail>
<JournalId>ЗЖ00603939</JournalId>
<Company>ЩИЛЮР</Company>
</TransferOrderDetail>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<TransferOrderDetail>
<JournalId>ЗЖ00603939</JournalId>
<Company>ШИЛЮР</Company>
<Status></Status>
<error></error>
<record>
<Item>CAB-PN-HDMI-1.3-18</Item>
<Qty>4.00</Qty>
<Unit>шт</Unit>
</record>
<record>
<Item>CD-R-PN-700x52x25</Item>
<Qty>4.00</Qty>
<Unit>шт</Unit>
</record>
<record>
<Item>CI-HP-51645A-B-PN</Item>
<Qty>7.00</Qty>
<Unit>шт</Unit>
</record>
...
</TransferOrderDetail>
</response>
Параметры запроса:
JournalId - код журналаCompany - код клиента consQty - Остатки на консигнационном складе клиента
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<consQty>
<Company>ШИЛЮР</Company>
</consQty>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<consQty>
<Item>CD-R-PN-700x52PBULK</Item>
<PhysicalInvent>7.00</PhysicalInvent>
<Price>427.04</Price>
</consQty>
......
</response>
Параметры запроса:
Company - код клиентаInvoiceByOrder - Получение списка накладных по номеру заказа
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<InvoiceByOrder>
<Company>ШИЛЮР</Company>
<SalesOrder>ЗК0000000000</SalesOrder>
</InvoiceByOrder>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<InvoiceByOrder>
<Company>Компания</Company>
<SalesOrder>ЗК0000000000</SalesOrder>
<Status></Status>
<error></error>
<record>
<Invoice>НЗК00000000</Invoice>
<DocDate>30.05.2012</DocDate>
<SalesOrder>ЗК0000000</SalesOrder>
<Currency>UAH</Currency>
<Amount>4123.44</Amount>
</record>
<record>
<Invoice>НЗК00000000</Invoice>
<DocDate>30.05.2012</DocDate>
<SalesOrder>ЗК00000000</SalesOrder>
<Currency>UAH</Currency>
<Amount>4123.44</Amount>
</record>
....
</InvoiceByOrder>
......
</response>
Параметры запроса:
Company - код клиентаSalesOrder - номер заказа InvoiceByOrderExt - Получение накладных по номеру заказа с их строками
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<InvoiceByOrderExt>
<Company>ШИЛЮР</Company>
<SalesOrder>ЗК0000000000</SalesOrder>
</InvoiceByOrder>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?><response>
<InvoiceByOrderExt>
<Company></Company>
<SalesOrder>ЗК00138742</SalesOrder>
<Status></Status>
<error></error>
<header>
<Invoice>НЗК00278162</Invoice>
<DocDate>30.05.2012</DocDate>
<SalesOrder>ЗК00138742</SalesOrder>
<Currency>UAH</Currency>
<Amount>4123.44</Amount>
<record>
<ExtID></ExtID>
<ID>CT-SAM-CLT-407-B</ID>
<Name>ТОНЕР-КАРТРИДЖ SAMSUNG CLT-K407S (CLP-320) BLACK</Name>
<Qty>12.00</Qty>
<Unit>шт</Unit>
<Price>343.62</Price>
<AmountWithTax>4123.44</AmountWithTax>
<AmountTax>687.24</AmountTax>
</record>
</header>
......
</response>
Параметры запроса:
Company - код клиентаSalesOrder - номер заказа InvoiceDetail - Получение строк накладной по её номеру
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<InvoiceDetail>
<Company>ШИЛЮР</Company>
<Invoice>НК0000000000</Invoice>
</InvoiceDetail>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<InvoiceByOrder>
<Company></Company>
<SalesOrder>ЗК00138742</SalesOrder>
<Status></Status>
<error></error>
<record>
<Invoice>НЗК00278162</Invoice>
<DocDate>30.05.2012</DocDate>
<SalesOrder>ЗК00138742</SalesOrder>
<Currency>UAH</Currency>
<Amount>4123.44</Amount>
</record>
......
</response>
Параметры запроса:
Company - код клиентаInvoice - номер накладной ExchRates - Получение курсов валют
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<ExchRates>
<FromDate>03.10.2019</FromDate>
<ToDate>04.10.2019</ToDate>
</ExchRates>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<ExchRates>
<FromDate>04.10.2019</FromDate>
<ExchRate>24.95</ExchRate>
<ExchRateOffset>0</ExchRateOffset>
<ExchRateCash>24.80</ExchRateCash>
</ExchRates>
<ExchRates>
<FromDate>03.10.2019</FromDate>
<ExchRate>25.20</ExchRate>
<ExchRateOffset>0</ExchRateOffset>
<ExchRateCash>25.00</ExchRateCash>
</ExchRates>
...........
</response>
Параметры запроса:
FromDate - дата начала периода (необязательный, по умолчанию первое число предыдущего месяца)ToDate - дата окончания периода (необязательный, по умолчанию текущая дата) createSalesOrder - Создание заказа со строками
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?>
<request>
<token>a40403cd7b62a116b0cbf632b7320760</token>
<createSalesOrder>
<Company>ШИЛЮР</Company>
<Currency>USD</Currency>
<InvoiceAccount>СТАРУ</InvoiceAccount>
<dsEnabled>1</dsEnabled>
<dsContactPersonName>Дмитро Олександрович</dsContactPersonName>
<dsContactPersonPhone>0505556585</dsContactPersonPhone>
<DeliveryDate>07.11.2019</DeliveryDate>
<DeliveryMethod>4</DeliveryMethod>
<DeliveryRegion>Рівненська</DeliveryRegion>
<DeliveryState>Володимирецький</DeliveryState>
<DeliveryCity>с.Бабка</DeliveryCity>
<DeliveryStreet>вул.Ст.Бандери</DeliveryStreet>
<DeliveryHouse>1</DeliveryHouse>
<DeliveryFlat>5</DeliveryFlat>
<DeliveryNumber></DeliveryNumber>
<OrderLines>
<OrderLine>
<ID>IP-BAR-A090-004</ID>
<OrderQty>1</OrderQty>
</OrderLine>
<OrderLine>
<ID>IP-BAR-A120-005</ID>
<OrderQty>1</OrderQty>
</OrderLine>
</OrderLines>
<Comment>Комментарий</Comment>
</createSalesOrder>
</request>
Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<createSalesOrder>
<SalesOrder>ЗК00497364</SalesOrder>
<Currency>USD</Currency>
</createSalesOrder>
</response>
Параметры запроса:
Company - Код клиентаCurrency - Код Валюты (USD/UAH) InvoiceAccount - Предприятие-плательщик dsEnabled - Дропшиппинг 1/0 (Да/Нет) dsContactPersonName - Дропшиппинг - контактное лицо dsContactPersonPhone - Дропшиппинг - телефон контактного лица DeliveryDate - Дата отправки DeliveryMethod - Метод доставки - возможные варианты:
DeliveryRegion - Область DeliveryState - Район DeliveryCity - Город DeliveryStreet - Улица DeliveryHouse - Дом DeliveryFlat - Квартира DeliveryNumber - Номер отделения (если указана доставка На склад «Нової пошти») OrderLines - Список позиций в заказе OrderLine - Строка заказа ID - Код номенклатуры OrderQty - Количество Comment - Комментарий BarCodes - Список штрих кодов товаров
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?> <request> <token>a40403cd7b62a116b0cbf632b7320760</token> <BarCodes /> </request> Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<BarCodes>
<record>
<ID>T-PN-CCEXV18-465</ID>
<BarCode>4823068107674</BarCode>
</record>
<record>
...
</record>
</BarCodes>
</response>
Параметры запроса:
Отсутствуют
ProductsWaD - Массогабаритные параметры товаров
Запрос: [««]
<?xml version="1.0" encoding="utf-8"?> <request> <token>a40403cd7b62a116b0cbf632b7320760</token> <ProductsWaD /> </request> Ответ:
<?xml version="1.0" encoding="utf-8"?>
<response>
<ProductsWaD>
<record>
<Id>ACCU-CSB-HR1221W</Id>
<NetWeight>1440.00</NetWeight> <!-- гр -->
<TareWeight>0.00</TareWeight> <!-- гр -->
<Depth>7.00</Depth> <!-- см -->
<Width>9.00</Width> <!-- см -->
<Height>10.00</Height> <!-- см -->
</record>
<record>
...
</record>
</ProductsWaD>
</response>
Параметры запроса:
Отсутствуют
|