Заказы в интернет-магазине

Заказы

Вы можете использовать API для получения заказов в вашу учетную систему. Вы можете хранить номера заказов из своей учетной системе в поле code и потом использовать его в своих запросах к сайту. Чтобы не получать дважды загруженные заказы используйте параметр exchange в запросах получения заказов. После получения заказ, присвойте заказу exchange равный 1.

Список заказов

Список можно фильтровать и производить поиск.

Путь: /wp-json/usam/v1/orders

Метод запроса: GET

  • fields (массив) (не обязательно) — дополнительные поля. products — товары, shipping — документы отгрузки, payments — документы оплаты, taxes — налоги заказа, properties — свойства заказа;
  • search (строка) (не обязательно) — поиск по номеру заказа, по артикулу товара, по названию товара, по телефону, электронной почте или адресу покупателя;
  • status (строка, массив) (не обязательно) — коды статусов;
  • exchange (число) (не обязательно) — заказы для выгрузки если 1, если 0 или параметр отсутствует все заказы;
  • bank_account_id (число) (не обязательно) — банковский счет продавца;
  • paid (число) (не обязательно) — статус оплаты, где 0 не оплаченные, 1 частично оплаченные, 2 оплаченные полностью;
  • count (число) (не обязательно) — количество заказов, по умолчанию 10 заказов (не обязательный);
  • paged (число) (не обязательно) — страница списка (не обязательный);
  • orderby (строка) (не обязательно) — сортировать по полю;
  • order (строка) (не обязательно) — направление сортировки ASC или DESC;

properties содержит данные покупателя.

Пример запроса

Запрос для получения всех заказов, не выгруженных в стороннюю учетную систему:

{
   "fields": ["products","shipping","payments","properties"],
   "exchange": 1 
}

Заказ

Получает данные указанного заказа

Путь: /wp-json/usam/v1/order/(номер заказа)

Метод запроса: GET

Возвращает

{"id":"11615", "bank_account_id":"4", "number":"ИН0000011248", "totalprice":"933.00", "cost_price":"0.00", "type_price":"tp_1", "paid":"0", "date_paid":null,"code":"", "status":"waiting_payment", "type_payer":"1", "user_ID":"1", "contact_id":"12567", "company_id":"0", "manager_id":"0", "date_insert":"2021-10-28 12:13:27", "date_status_update":"2021-10-28 12:13:27", "shipping":[{"id":"10631", "order_id":"11615", "courier":"0", "name":"Курьером", "customer_id":"0", "customer_type":"company", "status":"pending", "track_id":"","doc_number":"","doc_data":null,"method":"2", "storage_pickup":"0", "storage":"1", "notes":"","totalprice":"933.00", "price":"200.00", "include_in_cost":"0", "date_insert":"2021-10-28 12:13:27", "date_delivery":null,"readiness_date":null,"readiness":"0", "export":"0", "tax_id":"0", "tax_name":"","tax_value":"0.00000", "tax_is_in_price":"1", "tax_rate":"0"}],"coupon_name":"","notes":null,"source":"order", "number_products":"2", "order_type":"order", "customer":{"billingfirstname":{"value":"тест", "name":"Имя"},"billinglastname":{"value":"Матейкин", "name":"Фамилия"},"company":{"value":false,"name":"Название компании"},"inn":{"value":false,"name":"ИНН"},"ppc":{"value":false,"name":"КПП"},"contact_person":{"value":false,"name":"Контактное лицо"},"company_email":{"value":false,"name":"Email"},"company_phone":{"value":false,"name":"Телефон"},"company_shippinglocation":{"value":false,"name":"Местоположение"},"billingmobilephone":{"value":"99999999999", "name":"Мобильный Телефон"},"company_shippingaddress":{"value":false,"name":"Адрес"},"billingphone":{"value":false,"name":"Телефон"},"billingemail":{"value":"it@radov39.ru", "name":"Email"},"shippinglocation":{"value":"981", "name":"Местоположение"},"shippingaddress":{"value":"yhtr", "name":"Адрес"},"shippingnotesclient":{"value":"","name":"Заметки к заказу"},"company_adr":{"value":false,"name":"Юридический адрес"}},"products":[{"id":"40485", "product_id":"32536", "name":"Миска Ретро-Спешл 2,4 л пластиковая крышка", "order_id":"11615", "old_price":"930.00", "product_day":"0", "price":"744.00", "purchase_price":"0.00", "quantity":"1.000", "unit_measure":"thing", "bonus":"37", "subscribed":"0", "date_insert":"2021-10-28 12:13:27"},{"id":"40486", "product_id":"47165", "name":"Тарелка Океан Эклипс 20 см", "order_id":"11615", "old_price":"66.00", "product_day":"0", "price":"63.00", "purchase_price":"0.00", "quantity":"3.000", "unit_measure":"thing", "bonus":"3", "subscribed":"0", "date_insert":"2021-10-28 12:13:27"}],"payment":[{"id":"10992", "document_type":"","document_id":"11615", "bank_account_id":"4", "document_number":"PH0000000010564", "external_document":"","date_payed":null,"date_insert":"2021-11-05 13:06:53", "note":"","sum":"933.00", "order_id":"0", "name":"Оплата картой через Сбербанк", "status":"1", "payment_type":"card", "gateway_id":"13", "gateway":"","transactid":""},{"id":"10991", "document_type":"","document_id":"11615", "bank_account_id":"4", "document_number":"PH0000000010563", "external_document":"","date_payed":null,"date_insert":"2021-11-05 13:06:48", "note":"","sum":"933.00", "order_id":"0", "name":"Оплата картой через Сбербанк", "status":"1", "payment_type":"card", "gateway_id":"13", "gateway":"","transactid":""},{"id":"10990", "document_type":"","document_id":"11615", "bank_account_id":"4", "document_number":"PH0000000010562", "external_document":"","date_payed":null,"date_insert":"2021-11-05 11:59:08", "note":"","sum":"933.00", "order_id":"0", "name":"Оплата картой через Сбербанк", "status":"1", "payment_type":"card", "gateway_id":"13", "gateway":"","transactid":""},{"id":"10989", "document_type":"","document_id":"11615", "bank_account_id":"4", "document_number":"PH0000000010561", "external_document":"","date_payed":null,"date_insert":"2021-11-05 11:57:01", "note":"","sum":"933.00", "order_id":"0", "name":"Оплата картой через Сбербанк", "status":"1", "payment_type":"card", "gateway_id":"13", "gateway":"","transactid":""},{"id":"10983", "document_type":"order", "document_id":"11615", "bank_account_id":"4", "document_number":"PH0000000010555", "external_document":"","date_payed":null,"date_insert":"2021-10-28 12:13:27", "note":"","sum":"933.00", "order_id":"0", "name":"Оплата картой через Сбербанк", "status":"1", "payment_type":"card", "gateway_id":"13", "gateway":"","transactid":""}],"taxes":[]}
  • id — номер заказа
  • code — внешний номер заказа
  • number — номер заказа, назначаемый по выбору менеджера сайта
  • bank_account_id — номер компании продавца
  • totalprice — полная сумма заказа
  • cost_price — себестоимость
  • type_price — тип цены
  • paid — статус оплаты
  • date_paid — дата оплаты
  • status — код статуса заказа
  • type_payer — тип плательщика
  • user_ID — номер покупателя, если он зарегистрирован
  • contact_id — номер покупателя в базе CRM
  • company_id — номер компании в базе CRM
  • manager_id — номер менеджера
  • date_insert — дата заказа
  • date_status_update — дата обновления статуса
  • shipping — массив документов отгрузок
  • products — массив товаров заказа
  • payments — массив документов оплаты
  • properties — данные покупателя и другие свойства заказа
  • taxes — массив налогов на товары

Пример запроса

Получить данные 10 заказа

 /wp-json/usam/v1/order/10

Обновить заказ

Обновить данные указанного заказа, например, обновит данные 10 заказа /wp-json/usam/v1/order/10

Путь: /wp-json/usam/v1/order/(номер заказа)

Метод запроса: POST

  • status (строка) (не обязательно) — код статуcа заказа;
  • bank_account_id (число) (не обязательно) — банковский счет продавца;
  • source (строка) (не обязательно) — источник заказа;
  • type_price (строка) (не обязательно) — тип цены;
  • price_external_code (строка) (не обязательно) — внешний код цены;
  • manager_id (число) (не обязательно) — номер менеджера;
  • user_ID (число) (не обязательно) — номер пользователя;
  • code (строка) (не обязательно) — внешний номер заказа;
  • type_payer (число) (не обязательно) — тип плательщика;
  • exchange (число) (не обязательно) — обмен произведен, число 1 или 0;
  • coupon_name (строка) (не обязательно) — код купона;
  • cancellation_reason (строка) (не обязательно) — причина отказа от заказа;
  • bonuses (строка) (не обязательно) — количество бонусов, для создании транзакции по списанию, на сумму заказа никак не влияют. Если указать, то спишут указанное количество с карты покупателя и прикрепят этот заказ. user_ID должно быть указанно.
  • products (массив) (обязательно) — товары;
  • properties (массив) (не обязательно) — свойства заказа;

Пример запроса

Указать, что 10 заказ выгружен во внешнюю учетную систему:

 /wp-json/usam/v1/order/10

{
   "exchange": 1 
}

Возвращает

true если заказ обновлен или false если заказ не обновлен

Создать заказ

Создать новый заказ.

Путь: /wp-json/usam/v1/order

Метод запроса: POST

  • status (строка) (не обязательно) — код статуcа заказа;
  • bank_account_id (число) (не обязательно) — банковский счет продавца;
  • source (строка) (не обязательно) — источник заказа;
  • type_price (строка) (не обязательно) — тип цены;
  • price_external_code (строка) (не обязательно) — внешний код цены;
  • manager_id (число) (не обязательно) — номер менеджера;
  • user_ID (число) (не обязательно) — номер пользователя;
  • code (строка) (не обязательно) — внешний номер заказа;
  • type_payer (число) (не обязательно) — тип плательщика;
  • exchange (число) (не обязательно) — обмен произведен, число 1 или 0;
  • coupon_name (строка) (не обязательно) — код купона;
  • cancellation_reason (строка) (не обязательно) — причина отказа от заказа;
  • bonuses (строка) (не обязательно) — количество бонусов, для создании транзакции по списанию, на сумму заказа никак не влияют. Если указать, то спишут указанное количество с карты покупателя и прикрепят этот заказ. user_ID должно быть указанно.
  • products (массив) (обязательно) — товары;
  • properties (массив) (не обязательно) — свойства заказа;

properties содержит данные покупателя и содержит массив где ключ это код свойства заказа, а значение элемента массива это значение свойства. Пример:

{["billingfirstname":"Сергей", "billingphone":"89218009089"]}

products содержит данные товаров.

  • product_id (строка) (обязательно) — id товара;
  • name (строка) (не обязательно) — имя товара;
  • price (число) (обязательно) — цена товара;
  • old_price (число) (не обязательно) — старая цена товара;
  • product_day (число) (не обязательно) — метка является ли товаром дня;
  • quantity (число) (обязательно) — количество;
  • unit_measure (строка) (не обязательно) — единица измерения;
  • bonus (число) (не обязательно) — количество бонусов, которые будут зачислены покупателю при закрытии заказа;
  • used_bonuses (число) (не обязательно) — используемые бонусы;
  • date_insert (дата время) (не обязательно) — дата и время добавления товара;

Пример:

[
  {"product_id":12, "name":"Кастрюля 24 см", "price":2200, "quantity":1},  
  {"product_id":132, "name":"Крышка 24 см", "price":550, "quantity":1}
]

Пример запроса

 /wp-json/usam/v1/orders

{
  "status": "received",
  "type_price": "tp_1",
  "code": "sdefsd23435",
  "products": [{"code":"rftreg","price":345},{"code":"123hfgj","price":2145}],
  "properties": {"billingfirstname":"Алексей","billinglastname":"Кузин","billingphone":"89039009090"}
}

Массовые обновления заказов

Путь: /wp-json/usam/v1/orders

Метод запроса: PUT

  • items — массив содержащий данные для обновления заказа (обязательный)

Данные, которые содержит items те же что и при обновлении заказа

Пример запроса

Пометим, что заказы 1,2,3 выгружены и больше не нуждаются в выгрузке

 /wp-json/usam/v1/orders

{
"items": [{
       "id": 1,
       "exchange": 1
     },
    {
       "id": 2,
       "exchange": 1
    },
    {
       "id": 3,
       "exchange": 1
    }] 
}

или если использовать code вместо id заказа

 /wp-json/usam/v1/orders

{
"items": [{
       "code": "sdfkjliji",
       "exchange": 1
     },
    {
       "code": "1sddd65",
       "exchange": 1
    },
    {
       "code": "fsfdd65",
       "exchange": 1
    }] 
}

Возвращает

количество обновленных заказов

Удалить заказ по номеру

Путь: /wp-json/usam/v1/order/(номер)

Метод запроса: DELETE

Посмотри платформу для wordpress
сейчас
Посмотреть интернет-магазин
Вид интернет-магазина