BETA версія

Дані для авторизації

Отримання коду для авторизації

Спочатку вам необхідно отримати код для авторизації у Вашого менеджера.

Отримання токена

Дані авторизації передаються в заголовках, це необхідно для кожного запиту.

При першому запиті цей заголовок має бути таким:

Authorization: Basic код для авторизації

Після цього запиту токен буде повернуто.

У всіх наступних запитах надсилайте токен у заголовках таким чином:

Authorization: Bearer %token%

Зверніть увагу, що токен має обмеження за часом 60 хвилин, тимчасова мітка токена оновлюється після кожного нового запиту.

Запит

Запити до API виконуються методом POST за допомогою cURL або іншого аналогічного програмного забезпечення. 

Структура запиту:

$curl = curl_init('https://deps.ua/index.php?option=com_jshopping&controller=addon_api');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'%authorization_header%'
]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'%arg1_name%' => '%arg1_value%',
'%arg2_name%' => '%arg2_value%',
'%arg3_name%' => '%arg3_value%',

...
]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($curl);
curl_close($curl);
if ($res !== false) {
$res = json_decode($res, true);
}
exit(var_dump($res));

API повертає результат у форматі, зазначеному в запиті, за замовчуванням це json.

Параметри запиту

Name Type Default value Description
section string The API section
task string The action, what need to do
format string json The format of reply
args array Arguments, needed for specified action

Відключення

Завжди закривайте з'єднання після завершення роботи з API:

Task: close

Приклади

Інформація про категорії товарів

1. Отримати повний перелік id категорій товарів:

section = category task = ids
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'section' => 'category',
'task' => 'ids'
]));

Відповідь буде виглядати так:

{
"status":"ok",
"code":1,
"report":"No errors. Success",
"result":[23,24,27,32,35,36,37,38,40...

2. Отримати ієрархічне дерево id категорій товарів:

section = category task = tree
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'section' => 'category',
'task' => 'tree'
]));

Дочірні категорії знаходитимуться в полі subcategories.

Відповідь буде виглядати так:

{
"status":"ok",
"code":1,
"report":"No errors. Success",
"result":{"1513":{"id":1513,"parent_id":0,
"subcategories":{"24":{"id":24,"parent_id":1513,"subcategories":[]},"285":{"id":285,"parent_id":1513,"subcategories":[]} ...

3. Отримати детальну інформацію про окремо взяту категорію:

section = category task = item args[id] = 228
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'section' => 'category',
'task' => 'item',
'args[id]' => '228' ]));

Відповідь буде виглядати так:

{"status":"ok","code":1,"report":"No errors. Success","result":{"category":
{"typeAlias":null,
"category_id":228,
"category_image":"3.png",
"category_parent_id":23,
"category_publish":1,
"category_ordertype":1,
"category_template":"default",
"ordering":139,
"category_add_date":"0000-00-00 00:00:00",
"products_page":25,
"products_row":2,
"access":1
...

Отримання інформації про товари в категорії товарів:

Цей метод дасть змогу отримати детальну інформацію про перелік товарів окремої категорії (наприклад категорія з id=307) та лімітом 33 (не обов'язковий параметр):

section = product task = search category_id = 307 limit = 33 curl_setopt($curl, CURLOPT_POSTFIELDS,
http_build_query ([
'section' => 'product',
'task' => 'search',
'category_id' => '307',
'limit' => '33'
]));

Отримання інформації про модифікації в картці товару:

Наприклад, під час виконання запиту для отримання інформації про товар:

section = product task = item args[id] = 487 curl_setopt($curl, CURLOPT_POSTFIELDS,
http_build_query ([
'section' => 'product',
'task' => 'item',
'args[id]' => '487',
]));

Відповідь матиме такий вигляд:

"attributeValues":
{ "12": [{
"val_id": 1104,
"value_name":"FinMark FTTH002-SM-18 (1000 м = 1 бхт)",
"addprice": 0,
"price_mod": "" } ...

У даних відповіді є розділ product_attribute_datas, а в ньому поле attributeValues, де 12 - це id атрибута.

В нем вложен массив значений этого аттрибута. В примере поля значения (опции) атрибута: val_id - id опции (значения) value_name - название атрибута.

Опис деяких параметрів відповіді:

Ключ Опис
1 available наявність товару
2 product_full_image зображення товару
3 product_id id товару всередині нашої БД
4 product_ean код 1с товару
5 product_unit одиниці виміру
6 product_price дилерська ціна
7 retail_price роздрібна ціна
8 product_weight вага товару
 9  name_uk-UA назва товару українською мовою
 10 name_ru-RU назва товару російською мовою
11 description_uk-UA опис товару українською мовою
12 description_ru-UA опис товару російською мовою

Отримання інформації про підключення:

$curl = curl_init('https://deps.ua/index.php?option=com_jshopping&controller=addon_api');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'section' => 'connection',
'task' => 'info'
]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($curl);
curl_close($curl);
if ($res !== false) {
$res = json_decode($res, true);
}
$info = $res['result'];

Закриття з'єднання:

$curl = curl_init('https://deps.ua/index.php?option=com_jshopping&controller=addon_api');
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query([
'section' => 'connection',
'task' => 'close'
]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_exec($curl);
curl_close($curl);

 

Ми приєдналися до бойкоту російської та білоруської продукції. Слава Україні!

We joined the boycott of russian and belarusian products. Glory to Ukraine!!

прапор України