API :: Orders. Получение/изменение данных о Заказах

В системе реализован программный интерфейс для получения и добавления данных о Заказах. Данные выгружаются по http протоколу. Формат на выбор - xml или json.

Пример запроса на получение данных

Пример запроса на получение данных о заказах:

http://mycompany.virtpos.ru/api/orders?apikey=MySecret&format=xml

Параметры запроса

параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - код клиента, для которого требуется вернуть данные. Если не указан, то возвращаются данные заказов обо всех клиентах.
  • datefrom - получение Поступлений начиная с определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • dateto - получение Поступлений начиная до определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • days - задает глубину поиска. Определяет, за какое количество дней от текущей даты надо вернуть документы Поступления. Необязательный параметр.
  • external_id (get only) - (опционально) код клиента во внешней системе, работает аналогично параметру id

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате 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>

Пример запроса на получение данных

Пример запроса на получение данных о типах оплаты:

http://mycompany.virtpos.ru/api/orders/get_payment_types?apikey=MySecret&format=xml

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <success>1</success>
   <payment_types>
      <type>
         <id>1</id>
         <name>Оплата при получении</name>
      </type>
   </payment_types>
</root>

Пример запроса на получение данных

Пример запроса на получение данных о типах доставки:

http://mycompany.virtpos.ru/api/orders/get_delivery_types?apikey=MySecret&format=xml

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <success>1</success>
   <delivery_types>
      <type>
         <id>1</id>
         <name>Самовывоз</name>
      </type>
   </delivery_types>
</root>

Пример запроса на добавление данных

Пример запроса на добавление заказа:

http://mycompany.virtpos.ru/api/orders/add_order?apikey=MySecret&format=xml&id=1

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - код клиента, для которого требуется добавить заказ. Обязательный параметр.
  • external_id (get only) - (опционально) код клиента во внешней системе, работает аналогично параметру id
  • order - непосредственно заказ, в формате JSON.

Пример параметра order:

{
   "shipping_address": "Дом 3, корпус 5",
   "shipping_cost": "130.00",
   "comment": "После шести",
   "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"
      }
   ]
}

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <success>1</success>
   <order>
      <delivery_type_id>1</delivery_type_id>
      <payment_type_id>1</payment_type_id>
      <customer_id>3</customer_id>
      <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>
</root>

Пример запроса на обновление данных

Пример запроса на добавление заказа:

http://mycompany.virtpos.ru/api/orders/update_order?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
  • order - непосредственно данные заказа, которые требуется обновить, в формате JSON.

Пример параметра order (можно обновить любые параметры заказа доступные через /api/orders/):

{
   "paid": 1,
   "shipped": 1,
   "cancelled": 0,
}

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <success>1</success>
   <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>
   </order>
</root>

Пример запроса на добавление товаров в заказ

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - id заказа, в котрый необходимо добавить товар. Обязательный параметр.
  • external_id (get only) - (опционально) код заказа во внешней системе, работает аналогично параметру id
  • items - непосредственно данные товаров, которые требуется добавить в заказ, в формате JSON.

Пример параметра items:

[
   {
      "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"
   }
]

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате 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>

Пример запроса на обновление товаров в заказе

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - id заказа, в котором необходимо обновить товар. Обязательный параметр.
  • external_id (get only) - (опционально) код заказа во внешней системе, работает аналогично параметру id
  • items - непосредственно данные товаров, которые требуется обновить, в формате JSON.

Пример параметра items:

[
   {
      "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"
   }
]

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате 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>

Пример запроса на удаление товаров из заказа

Параметры запроса

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - id заказа, из которого требуется удалить товар. Обязательный параметр.
  • external_id (get only) - (опционально) код заказа во внешней системе, работает аналогично параметру id
  • items - непосредственно данные товаров, которые требуется удалить, в формате JSON.

Пример параметра items:

[
   {
      "item_id": "789",
      "item_external_id": "787635", //используется для поиска order_item по external_id товара
   }
]

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

Пример ответа сервера

Ниже приведен пример ответа сервера в формате 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>