Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:dev:api:orders [17.10.2017 16:16]
akoptelov [Пример запроса на добавление данных]
doc:dev:api:orders [03.08.2018 17:56] (текущий)
aderyabin [Параметры запроса]
Строка 17: Строка 17:
  
   * **id** (get only) - код клиента,​ для которого требуется вернуть данные. Если не указан,​ то возвращаются данные заказов обо всех клиентах.   * **id** (get only) - код клиента,​ для которого требуется вернуть данные. Если не указан,​ то возвращаются данные заказов обо всех клиентах.
 +
 +  * **datefrom** - получение Поступлений начиная с определенной даты. Формат:​ ГГГГММДД. Необязательный параметр.
 +
 +  * **dateto** - получение Поступлений начиная до определенной даты. Формат:​ ГГГГММДД. Необязательный параметр.
 +
 +  * **days** - задает глубину поиска. Определяет,​ за какое количество дней от текущей даты надо вернуть документы Поступления. Необязательный параметр.
  
   * **external_id** (get only) - (опционально) код клиента во внешней системе,​ работает аналогично параметру **id**   * **external_id** (get only) - (опционально) код клиента во внешней системе,​ работает аналогично параметру **id**
Строка 232: Строка 238:
   * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.   * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
  
-  * **id** (get only) - код клиента, для ​которого ​требуется ​добавить ​заказ. Обязательный параметр.+  * **id** (get only) - id заказа, который требуется обновить. Обязательный параметр.
  
-  * **external_id** (get only) - (опционально) код клиента во внешней системе,​ работает аналогично параметру **id**+  * **external_id** (get only) - (опционально) код ​заказа во внешней системе,​ работает аналогично параметру **id**
  
-  * **order** - непосредственно заказ, в формате JSON.+  * **order** - непосредственно ​данные ​заказа, которые требуется обновить, в формате JSON.
  
-Пример параметра order:+Пример параметра order (можно обновить любые параметры заказа доступные через /​api/​orders/​):
  
 <file JSON> <file JSON>
 { {
-   "​shipping_address": ​"​Дом 3, корпус 5", +   "​paid": 1, 
-   "​shipping_cost":​ "​130.00",​ +   "​shipped": 1, 
-   "​comment":​ "​После шести",​ +   "​cancelled": 0,
-   "​pickup_from_warehouse_id":​ "​2",​ +
-   "​delivery_type_id":​ "1"+
-   "​payment_type_id": ​"1"+
-   "​items": ​+
-      { +
-         "​item_id":​ "​787",​ +
-         "​quantity":​ "​2.000",​ +
-         "​unit_base_price":​ "​320.72",​ +
-         "​discount":​ "0+
-      }, +
-      { +
-         "​item_id":​ "​789",​ +
-         "​quantity":​ "​3.450",​ +
-         "​unit_base_price":​ "​100.10",​ +
-         "​discount":​ "​10.2"​ +
-      } +
-   ]+
 } }
 </​file>​ </​file>​
Строка 277: Строка 266:
    <​success>​1</​success>​    <​success>​1</​success>​
    <​order>​    <​order>​
 +      <​id>​1</​id>​
 +      <​paid>​0</​paid>​
 +      <​customer_id>​1928</​customer_id>​
 +      <​shipped>​0</​shipped>​
 +      <​cancelled>​0</​cancelled>​
 +      <​shipping_address />
 +      <​shipping_cost>​0.00</​shipping_cost>​
 +      <​pickup_receipt_id />
 +      <comment />
 +      <guid />
 +      <​created_date>​2017-08-24 14:​07:​06</​created_date>​
 +      <​amount>​512.00</​amount>​
 +      <​discount>​0.00</​discount>​
 +      <​pickup_from_warehouse_id>​2</​pickup_from_warehouse_id>​
 +      <​pickup_from_warehouse_name>​Просвещения проспект</​pickup_from_warehouse_name>​
       <​delivery_type_id>​1</​delivery_type_id>​       <​delivery_type_id>​1</​delivery_type_id>​
 +      <​delivery_type_name>​Самовывоз</​delivery_type_name>​
       <​payment_type_id>​1</​payment_type_id>​       <​payment_type_id>​1</​payment_type_id>​
-      <customer_id>3</​customer_id>​ +      <payment_type_name>Оплата при получении</payment_type_name>
-      <​shipping_address>​Дом 3, корпус 5</​shipping_address>​ +
-      <​shipping_cost>​130.00</​shipping_cost>​ +
-      <​pickup_from_warehouse_id>​2</​pickup_from_warehouse_id>​ +
-      <​pickup_receipt_id /> +
-      <​comment>​После шести</comment>​ +
-      <​items>​ +
-         <​item>​ +
-            <​item_id>​787</​item_id>​ +
-            <​quantity>​2.000</​quantity>​ +
-            <​unit_base_price>​320.72</​unit_base_price>​ +
-            <​discount>​0</​discount>​ +
-            <​amount>​641.44</​amount>​ +
-         </​item>​ +
-         <​item>​ +
-            <​item_id>​789</​item_id>​ +
-            <​quantity>​3.450</​quantity>​ +
-            <​unit_base_price>​100.10</​unit_base_price>​ +
-            <​discount>​10.2</​discount>​ +
-            <​amount>​335.15</​amount>​ +
-         </​item>​ +
-      </items>+
    </​order>​    </​order>​
 </​root>​ </​root>​
 </​file>​ </​file>​
  
 +===== Пример запроса на добавление товаров в заказ =====
 +
 + ​http://​mycompany.virtpos.ru/​api/​orders/​add_orders_item?​apikey=MySecret&​format=xml&​id=1
 +
 +==== Параметры запроса ====
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
 +  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
 +
 +  * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
 +
 +  * **id** (get only) - id заказа,​ в котрый необходимо добавить товар. Обязательный параметр.
 +
 +  * **external_id** (get only) - (опционально) код заказа во внешней системе,​ работает аналогично параметру **id**
 +
 +  * **items** - непосредственно данные товаров,​ которые требуется добавить в заказ, в формате JSON.
 +
 +Пример параметра items:
 +
 +<file JSON>
 +[
 +   {
 +      "​item_id":​ "​787",​
 +      "​item_external_id":​ "​787634",​ //​используется для поиска order_item по external_id товара
 +      "​quantity":​ "​2.000",​
 +      "​unit_base_price":​ "​320.72",​
 +      "​discount":​ "​0"​
 +   },
 +   {
 +      "​item_id":​ "​789",​
 +      "​item_external_id":​ "​787635",​ //​используется для поиска order_item по external_id товара
 +      "​quantity":​ "​3.450",​
 +      "​unit_base_price":​ "​100.10",​
 +      "​discount":​ "​10.2"​
 +   }
 +]
 +</​file>​
 +==== Ответ сервера ====
 +
 +В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
 +
 +==== Пример ответа сервера ====
 +
 +Ниже приведен пример ответа сервера в формате XML
 +
 +<file xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​root>​
 +   <​success>​1</​success>​
 +   <​orders>​
 +      <​order>​
 +         <​id>​1</​id>​
 +         <​paid>​0</​paid>​
 +         <​customer_id>​1928</​customer_id>​
 +         <​shipped>​0</​shipped>​
 +         <​cancelled>​0</​cancelled>​
 +         <​shipping_address />
 +         <​shipping_cost>​0.00</​shipping_cost>​
 +         <​pickup_receipt_id />
 +         <​comment />
 +         <​guid />
 +         <​created_date>​2017-08-24 14:​07:​06</​created_date>​
 +         <​amount>​512.00</​amount>​
 +         <​discount>​0.00</​discount>​
 +         <​pickup_from_warehouse_id>​2</​pickup_from_warehouse_id>​
 +         <​pickup_from_warehouse_name>​Просвещения проспект</​pickup_from_warehouse_name>​
 +         <​delivery_type_id>​1</​delivery_type_id>​
 +         <​delivery_type_name>​Самовывоз</​delivery_type_name>​
 +         <​payment_type_id>​1</​payment_type_id>​
 +         <​payment_type_name>​Оплата при получении</​payment_type_name>​
 +         <​items>​
 +            <​item>​
 +               <​item_id>​787</​item_id>​
 +               <​item_name>​Коньяк "​Father'​s Old Barrel'​ 3-летний 40% 0.5 л.</​item_name>​
 +               <​image />
 +               <​quantity>​1.000</​quantity>​
 +               <​unit_base_price>​512.00</​unit_base_price>​
 +               <​discount>​0.00</​discount>​
 +               <​amount>​512.00</​amount>​
 +            </​item>​
 +            <​item>​
 +               <​item_id>​789</​item_id>​
 +               <​item_name>​Коньяк "​Father'​s Old' 5-летний 40% 0.5 л.</​item_name>​
 +               <​image />
 +               <​quantity>​1.000</​quantity>​
 +               <​unit_base_price>​862.00</​unit_base_price>​
 +               <​discount>​0.00</​discount>​
 +               <​amount>​862.00</​amount>​
 +            </​item>​
 +         </​items>​
 +      </​order>​
 +   </​orders>​
 +</​root>​
 +</​file>​
 +
 +===== Пример запроса на обновление товаров в заказе =====
 +
 + ​http://​mycompany.virtpos.ru/​api/​orders/​update_orders_item?​apikey=MySecret&​format=xml&​id=1
 +
 +==== Параметры запроса ====
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
 +  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
 +
 +  * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
 +
 +  * **id** (get only) - id заказа,​ в котором необходимо обновить товар. Обязательный параметр.
 +
 +  * **external_id** (get only) - (опционально) код заказа во внешней системе,​ работает аналогично параметру **id**
 +
 +  * **items** - непосредственно данные товаров,​ которые требуется обновить,​ в формате JSON.
 +
 +Пример параметра items:
 +
 +<file JSON>
 +[
 +   {
 +      "​item_id":​ "​787",​
 +      "​item_external_id":​ "​787634",​ //​используется для поиска order_item по external_id товара
 +      "​quantity":​ "​2.000",​
 +      "​unit_base_price":​ "​320.72",​
 +      "​discount":​ "​0"​
 +   },
 +   {
 +      "​item_id":​ "​789",​
 +      "​item_external_id":​ "​787635",​ //​используется для поиска order_item по external_id товара
 +      "​quantity":​ "​3.450",​
 +      "​unit_base_price":​ "​100.10",​
 +      "​discount":​ "​10.2"​
 +   }
 +]
 +</​file>​
 +==== Ответ сервера ====
 +
 +В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
 +
 +==== Пример ответа сервера ====
 +
 +Ниже приведен пример ответа сервера в формате XML
 +
 +<file xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​root>​
 +   <​success>​1</​success>​
 +   <​orders>​
 +      <​order>​
 +         <​id>​1</​id>​
 +         <​paid>​0</​paid>​
 +         <​customer_id>​1928</​customer_id>​
 +         <​shipped>​0</​shipped>​
 +         <​cancelled>​0</​cancelled>​
 +         <​shipping_address />
 +         <​shipping_cost>​0.00</​shipping_cost>​
 +         <​pickup_receipt_id />
 +         <​comment />
 +         <​guid />
 +         <​created_date>​2017-08-24 14:​07:​06</​created_date>​
 +         <​amount>​512.00</​amount>​
 +         <​discount>​0.00</​discount>​
 +         <​pickup_from_warehouse_id>​2</​pickup_from_warehouse_id>​
 +         <​pickup_from_warehouse_name>​Просвещения проспект</​pickup_from_warehouse_name>​
 +         <​delivery_type_id>​1</​delivery_type_id>​
 +         <​delivery_type_name>​Самовывоз</​delivery_type_name>​
 +         <​payment_type_id>​1</​payment_type_id>​
 +         <​payment_type_name>​Оплата при получении</​payment_type_name>​
 +         <​items>​
 +            <​item>​
 +               <​item_id>​787</​item_id>​
 +               <​item_name>​Коньяк "​Father'​s Old Barrel'​ 3-летний 40% 0.5 л.</​item_name>​
 +               <​image />
 +               <​quantity>​1.000</​quantity>​
 +               <​unit_base_price>​512.00</​unit_base_price>​
 +               <​discount>​0.00</​discount>​
 +               <​amount>​512.00</​amount>​
 +            </​item>​
 +         </​items>​
 +      </​order>​
 +   </​orders>​
 +</​root>​
 +</​file>​
 +
 +===== Пример запроса на удаление товаров из заказа =====
 +
 + ​http://​mycompany.virtpos.ru/​api/​orders/​delete_orders_item?​apikey=MySecret&​format=xml&​id=1
 +
 +==== Параметры запроса ====
 +Параметры,​ которые не отмечены как **get only**, могут быть переданы как get- или как post-параметры.
 +  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр.
 +
 +  * **format** (get only) - формат,​ в котором сервер отдаст данные. Может принимать значения "​xml"​ или "​json"​. Необязательный параметр.
 +
 +  * **id** (get only) - id заказа,​ из которого требуется удалить товар. Обязательный параметр.
 +
 +  * **external_id** (get only) - (опционально) код заказа во внешней системе,​ работает аналогично параметру **id**
 +
 +  * **items** - непосредственно данные товаров,​ которые требуется удалить,​ в формате JSON.
 +
 +Пример параметра items:
 +
 +<file JSON>
 +[
 +   {
 +      "​item_id":​ "​789",​
 +      "​item_external_id":​ "​787635",​ //​используется для поиска order_item по external_id товара
 +   }
 +]
 +</​file>​
 +==== Ответ сервера ====
 +
 +В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
 +
 +==== Пример ответа сервера ====
 +
 +Ниже приведен пример ответа сервера в формате XML
 +
 +<file xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​root>​
 +   <​success>​1</​success>​
 +   <​orders>​
 +      <​order>​
 +         <​id>​1</​id>​
 +         <​paid>​0</​paid>​
 +         <​customer_id>​1928</​customer_id>​
 +         <​shipped>​0</​shipped>​
 +         <​cancelled>​0</​cancelled>​
 +         <​shipping_address />
 +         <​shipping_cost>​0.00</​shipping_cost>​
 +         <​pickup_receipt_id />
 +         <​comment />
 +         <​guid />
 +         <​created_date>​2017-08-24 14:​07:​06</​created_date>​
 +         <​amount>​512.00</​amount>​
 +         <​discount>​0.00</​discount>​
 +         <​pickup_from_warehouse_id>​2</​pickup_from_warehouse_id>​
 +         <​pickup_from_warehouse_name>​Просвещения проспект</​pickup_from_warehouse_name>​
 +         <​delivery_type_id>​1</​delivery_type_id>​
 +         <​delivery_type_name>​Самовывоз</​delivery_type_name>​
 +         <​payment_type_id>​1</​payment_type_id>​
 +         <​payment_type_name>​Оплата при получении</​payment_type_name>​
 +         <​items>​
 +            <​item>​
 +               <​item_id>​787</​item_id>​
 +               <​item_name>​Коньяк "​Father'​s Old Barrel'​ 3-летний 40% 0.5 л.</​item_name>​
 +               <​image />
 +               <​quantity>​1.000</​quantity>​
 +               <​unit_base_price>​512.00</​unit_base_price>​
 +               <​discount>​0.00</​discount>​
 +               <​amount>​512.00</​amount>​
 +            </​item>​
 +         </​items>​
 +      </​order>​
 +   </​orders>​
 +</​root>​
 +</​file>​