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
}