Orders - даний метод дозволяє керувати замовленнями.
Для створення замовлення по API існує 2 варіанти ідентифікації:
1) По глобальному ключу організації
2) По ключу контрагента організації
При використанні "Ключа контрагента організації" усі замовлення будуть створюватися зі складу та у валюті, що були вказані при генеруванні ключа у налаштуваннях контрагента.
id (number) - Ідентифікатор замовлення SaleApp
number (number) - Номер замовлення SaleApp
external_id (string) - Зовнішній ідентифікатор замовлення що був переданий при створенні запису по API
status_id (number) - Ідентифікатор статусу замовлення SaleApp
status_name (string) - Найменування статусу замовлення SaleApp
delivery_type_name (string) - Назва типу доставки зі словника deliveryType
delivery_types (number) - Ідентифікатор типу доставки зі словника deliveryType:
receiver_name (string) - ПІБ отримувача
receiver_phone (string) - Телефон отримувача
city (string) - Назва міста доставки
city_ref (string) - Ідентифікатор міста доставки у системі перевізника (наприклад REF - Нова Пошта). Поле обов'язкове якщо delivery_types не дорівнює 1 або 2
addres (string) - Адреса доставки або найменування відділення перевізника
branch_ref (string) - Ідентифікатор відділення доставки у системі перевізника (наприклад REF відділення - Нова Пошта). Поле обов'язкове якщо delivery_types дорівнює 3
insurance_amount (number) - Сума страхування посилки у компанії перевізника (ціле число)
delivery_amount (number) - Сума післяплати (оплата при отриманні посилки у перевізника - ціле число)
type (array) - Масив id та найменування тегів замовлень
ttn (string) - Номер документу перевізника
ttn_ref (string) - Ідентифікатор документу перевізника
seats_number (number) - Кількість упакованих місць по замовленню
products (array) - Масив номенклатури товарів у замовленні (структуру масиву описано нижче)
custom_fields (array) - Масив кастомних полів замовлення. Ключем масиву являється "Назва API" кастомного поля у налаштуваннях
funnel (number) - Айді воронки до якої повинно потрапити замовлення для подальшої обробки в системі. Не оброблюється при виконання PUT запиту
funnel_name (string) - Назва воронки
date_entered (datetime) - Дата та час створення
date_update (datetime) - Дата та час останнього редагування
id (number) - Ідентифікатор номенклатури SaleApp
external_id (string) - Зовнішній ідентифікатор номенклатури (Завантажується до SaleApp при створенні надходження поле "Зовнішній іден-р")
supplier_ids (string) - Масив зовнішніх ідентифікаторів номенклатури (Код постачальника у номенклатурі SaleApp)
name (string) - Найменування товару
sku (string) - Артикул товару
qty (number) - Кількість товару у замовленні
allocated_qty (number) - Кількість товару зарезервовано у замовленні
cost (number) - Ціна за одну шт. товару
discount_percent (number) - Відсоток знижки на дану позицію у замовленні
client_id (string) - Айді контрагента SaleApp (Не заповнюється при використанні "Ключа контрагента організації")
id (number) - Внутрішній ідентифікатор SaleApp
number (number) - Внутрішній номер документу SaleApp
external_id (string) - Зовнішній ідентифікатор замовлення що був переданий при створенні запису по API
Пошук проводиться по параметрам id, number та external_id замовлення у вказаному пріоритеті. Якщо вказані всі параметри, то приорітет пошуку буде надано id. Результатом обробки буде масив даних моделі з даними про знайдені замовлення.
error - Наявність помилок при обробці запиту. true - наявні помилки, false - успішно оброблено
error_description - Опис наявних помилок в обробці запиту
response - Масив даних моделі при успішному виконанні запиту
client_id (string) - Айді контрагента SaleApp (Не заповнюється при використанні "Ключа контрагента організації")
curency_id (string) - Айді валюти SaleApp (Не заповнюється при використанні "Ключа контрагента організації")
warehouse_id (string) - Айді складу SaleApp (Не заповнюється при використанні "Ключа контрагента організації")
external_id (string) - Зовнішній ідентифікатор замовлення
delivery_types (number) - Ідентифікатор типу доставки зі словника deliveryType:
receiver_name (string) - ПІБ отримувача
receiver_phone (string) - Телефон отримувача (всі символи окрім цифр будуть видалені при збереженні)
city (string) - Назва міста доставки
city_ref (string) - Ідентифікатор міста доставки у системі перевізника (наприклад REF - Нова Пошта). Поле обов'язкове якщо delivery_types не дорівнює 1 або 2
addres (string) - Адреса доставки або найменування відділення перевізника
branch_ref (string) - Ідентифікатор відділення доставки у системі перевізника (наприклад REF відділення - Нова Пошта). Поле обов'язкове якщо delivery_types дорівнює 3
insurance_amount (number) - Сума страхування посилки у компанії перевізника (ціле число)
delivery_amount (number) - Сума післяплати (оплата при отриманні посилки у перевізника - ціле число)
type (string) - id тегів замовлень (модель OrdersTags) вказані через кому (приклад 1,3,5)
custom_fields (array) - Масив кастомних полів замовлення у json_encode. Ключем масиву являється "Назва API" кастомного поля у налаштуваннях
funnel (string) - Айді воронки до якої повинно потрапити замовлення для подальшої обробки в системі. Не оброблюється при виконання PUT запиту
products (array) - json_encode Масив найменувань товарів у замовленні (структуру масиву описано у Поля json_encode(products))
Поля json_encode(products)
id (number) - Ідентифікатор номенклатури SaleApp
external_id (string) - Зовнішній ідентифікатор номенклатури (Завантажується до SaleApp при створенні надходження поле "Зовнішній іден-р") Проводиться пошук по полю лише при використанні "Глобального ключа організації"
supplier_id (string) - Зовнішній ідентифікатор номенклатури (Код постачальника у номенклатурі SaleApp). Проводиться пошук по полю лише при використанні "Ключа контрагента організації"
sku (string) - Артикул товару
qty (number) - Кількість товару у замовленні
cos (tnumber) - Ціна за одну шт. товару
discount_percent (number) - Відсоток знижки на дану позицію у замовленні
При створенні замовлення, пошук товарів проводится по полям моделі products, а саме id, external_id, supplier_id та sku, з пріорітетністю у вказаній послідовності (в межах дозволених ключем апі що використовується). Спершу система проводить пошук по id, якщо товар не буде знайдено то пошук буде проведно по external_id або supplier_id (в залежності від типу ключа апі) і після цього по sku.
За результатами успішності виконання запиту, буде створено нове замовлення та повернуто у відповіді ідентифікатор створеного запису create_id.
id (number) - Внутрішній ідентифікатор SaleApp (Використовується лише для пошуку замовлення)
external_id (number) - Зовнішній ідентифікатор що був переданий при створенні запису по API (Використовується лише для пошуку замовлення)
client_id (string) - Айді контрагента SaleApp (Не оброблюється при використанні "Ключа контрагента організації"). Заповнення даного поля буде корисним у випадку пошуку замовлення по external_id та наявності однакового значення external_id у замовленнях різних клієнтів
curency_id (string) - Айді валюти SaleApp (Не оброблюється при використанні "Ключа контрагента організації")
warehouse_id (string) - Айді складу SaleApp (Не оброблюється при використанні "Ключа контрагента організації")
delivery_types (number) - Ідентифікатор типу доставки зі словника deliveryType. Обовязкове для заповнення при зміні міста, відділення та адреси доставки замовлення
receiver_name (string) - ПІБ отримувача
receiver_phone (string) - Телефон отримувача (всі символи окрім цифр будуть видалені при збереженні)
city (string) - Назва міста доставки
city_ref (string) - Ідентифікатор міста доставки у системі перевізника (наприклад REF - Нова Пошта). Поле обов'язкове якщо delivery_types не дорівнює 1 або 2
addres (string) - Адреса доставки або найменування відділення перевізника
branch_ref (string) - Ідентифікатор відділення доставки у системі перевізника (наприклад REF відділення - Нова Пошта). Поле обов'язкове якщо delivery_types дорівнює 3
insurance_amount (number) - Сума страхування посилки у компанії перевізника (ціле число)
delivery_amount (number) - Сума післяплати (оплата при отриманні посилки у перевізника - ціле число)
type (string) - id тегів замовлень (модель OrdersTags) вказані через кому (приклад 1,3,5)
products (array) - json_encode Масив найменувань товарів у замовленні (структуру масиву описано нижче)
Поля json_encode(products)
id (number) - Ідентифікатор номенклатури SaleApp
external_id (string) - Зовнішній ідентифікатор номенклатури (Завантажується до SaleApp при створенні надходження поле "Зовнішній іден-р") Проводиться пошук по полю лише при використанні "Глобального ключа організації"
supplier_id (string) - Зовнішній ідентифікатор номенклатури (Код постачальника у номенклатурі SaleApp). Проводиться пошук по полю лише при використанні "Ключа контрагента організації"
sku (string) - Артикул товару
qty (number) - Кількість товару у замовленні
cos (tnumber) - Ціна за одну шт. товару
discount_percent (number) - Відсоток знижки на дану позицію у замовленні
Пошук запису для оновлення проводиться по id або external_id тому для успішності виконання, повинен обов'язково бути вказаний один з цих параметрів. Якщо вказані обидва параметри, то приорітет пошуку буде надано id.
id (number) - Внутрішній ідентифікатор SaleApp
external_id (number) - Зовнішній ідентифікатор що був переданий при створенні запису по API
Видалення замовлень по апі дозволено лише у статусах:
Пошук запису для видалення проводиться по id або external_id тому для успішності виконання, повинен обов'язково бути вказаний один з цих параметрів. Якщо вказані обидва параметри, то приорітет пошуку буде надано id.
Разом з повідомленням про успішність або не успішність виконання операції видалення, буде повернуто масив з даними deleted про ідентифікатори замовлень які було видалено.
error - Наявність помилок при обробці запиту. true - наявні помилки, false - успішно оброблено
error_description - Опис наявних помилок у обробці запиту
create_id - Ідентифікатор створеного запису (повертається лише при надсиланні POST запиту)
deleted - Масив з ідентифікаторами видалених замовлень (повертається лише при надсиланні DELETE запиту)
[ 'id' => '', 'number' => '', 'external_id' => '' ]
# Приклад php curl запиту отримання даних про замовлення $post = [ 'method_type' => 'GET', 'client_id' => 50, 'id' => 66, 'number' => 1056, 'external_id' => 100222312, ]; $ch = curl_init(".../Orders?secret_key={Ключ}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $response = curl_exec($ch); curl_close($ch); # JSON відповідь { "error":"false", "error_description":"", "response"::[ { "id":"74", "number":"1057", "external_id":"100222312", "status_id":"1", "delivery_type_name":"Нова Пошта відділення", "delivery_types":"3", "receiver_name":"Борис Вапненко", "receiver_phone":"380678976756", "city":"Київ", "city_ref":"8d5a980d-391c-11dd-90d9-001a92567626", "addres":"Відділення №2: вул. Бережанська, 9 (Оболонь Лугова)", "branch_ref":"7b422fbe-e1b8-11e3-8c4a-0050568002cf", "insurance_amount":"300", "delivery_amount":"290", "type_ids":"8", "date_entered":"2022-09-04 20:17:34", "date_update":"2022-09-04 20:17:34", "type":[ { "id":"8", "name":"Спец умови" }], "products":[ { "id":"40", "name":"Test 4", "sku":"UA23", "external_id":"0", "qty":"1", "allocated_qty":"1", "cost":"12.98", "discount_percent":"0", "supplier_ids":[ { "code":"232334", "supplier_id":"39" }] } ], "status_name":"Повністю зарезервований" } ] } # Приклад php curl запиту на створення замовлення $post = [ 'method_type' => 'POST', 'client_id' => 50, //в залешності від ключа авторизаці 'curency_id' => 6, //в залешності від ключа авторизаці 'warehouse_id' => 7, //в залешності від ключа авторизаці 'external_id' => 100222312, 'delivery_types' => 3, 'receiver_name' => 'Борис Вапненко', 'receiver_phone' => '380678976756', 'city' => 'Київ', 'city_ref' => '8d5a980d-391c-11dd-90d9-001a92567626', 'addres' => 'Відділення №2: вул. Бережанська, 9 (Оболонь Лугова)', 'branch_ref' => '7b422fbe-e1b8-11e3-8c4a-0050568002cf', 'insurance_amount' => 300, 'delivery_amount' => 290, 'type' => '8,3', 'products' => json_encode([ [ 'id' => 42, 'external_id' => 232336, //в залешності від ключа авторизаці 'supplier_id' => 234561, //в залешності від ключа авторизаці 'sku' => 'UA25', 'qty' => 1, 'cost' => 49.79, 'discount_percent' => 1, ] ]), ]; $ch = curl_init("https://apps.conwix.com/server/api/Orders?secret_key={Ключ}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $response = curl_exec($ch); curl_close($ch); # JSON відповідь { "error":"false", "error_description":"Документ успішно створено!", "create_id":134 }