Статті на: Розробникам
Ця стаття також доступна на:

Загальна інформація про роботу з API

У Pricer24 є API, який можна використовувати для інтеграції з вашими обліковими системами. Звертаємо вашу увагу на те, що API є не у всіх тарифних планах.

Загальна інформація



End-point для роботи з API – https://api.pricer24.com/
API використовує REST-архитектуру
Усі запити і відповіді API використовують формат JSON
Для роботи з API вам потрібен ключ
Опис існуючих методів та їх параметрів можна побачити у Swagger: ви можете надіслати готові запити та подивитися на відповідь сервера

Обмеження


Не більше ніж 10 запитів у секунду
Час виконання запиту – 60 секунд
При отриманні трьох помилок протягом 60 секунд ключ буде заблокований на 30 секунд

Авторизація



Для авторизації необхідно до запиту додавати query-параметр ApiKey зі значенням вашого ключа. В загальному вигляді ваш запит буде виглядати так:
https://api.pricer24.com/v1/{назва_ресурсу}?ApiKey={key}&Param1={value1}&Param2={value2}

Отримання API-ключа



Для роботи з API ми рекомендуємо створювати окремого користувача, який використовуватиметься виключно для обміну даними

У системі переходимо у Налаштування → Компанія → Користувачі
Натискаємо кнопку «Створити» на верхній панелі і створюємо нового користувача
Відкриваємо створеного користувача
У вкладці «Ролі» додаємо користувачу необхідні права
У вкладці «API-ключі» натискаємо на кнопку «Створити»

Створений ключ автоматично копіюється в буфер обміну. Тепер можна використовувати його для інтеграції.

«Пагінація»



Більшість GET-методів в API підтримують пагінацію (посторінкову видачу). Для роботи з пагінацією вам необхідно використовувати query-параметри:
MaxResultCount – скільки записів необхідно повернути
SkipCount – скільки записів необхідно пропустити

Особливості


Максимально можливе значення для MaxResultCount = 1000, якщо передати більше значення, ви отримаєте помилку
За замовчуванням MaxResultCount = 10, якщо параметр не передавати, сервер поверне лише 10 записів
За замовчуванням SkipCount = 0
Загальна кількість записів міститься у властивості totalCount об'єкта result:


У загальному вигляді ваш запит буде виглядати GET https://api.pricer24.com/v1/{method}?SkipCount={PageSize}*{PageNumber-1}&MaxResultCount={PageSize}&ApiKey={key}, де:
PageSize – розмір сторінки
PageNumber – номер сторінки

Кількість сторінок можна обчислити за простою формулою Ceil(TotalCount / PageSize), де Ceil – округлення вгору до цілого.

Приклад


Якщо загальна кількість записів = 2700, і ми будемо отримувати відповідь по 1000 записам, для отримання усіх записів необхідно буде відправити 3 запити:
https://api.pricer24.com/v1/{имя_ресурса}?SkipCount=0&MaxResultCount=1000&ApiKey={key} – отримуємо першу 1000 записів
https://api.pricer24.com/v1/{имя_ресурса}?SkipCount=1000&MaxResultCount=1000&ApiKey={key} – отримуємо наступну 1000 записів
https://api.pricer24.com/v1/{имя_ресурса}?SkipCount=2000&MaxResultCount=1000&ApiKey={key} – отримуємо останні 700 записів

Query-параметр Include



Для того, щоб відповідь була мінімальною за розміром, за замовчуванням повертається мінімальна інформація про об'єкти. Для отримання розширеної інформації необхідно передавати query-параметр Include, де через знак коми необхідно перерахувати, за якими об'єктами потрібна розширена інформація.

Приклад


При надсиланні запиту GET https://api.pricer24.com/v1/contractors?ApiKey={key} без Include сервер поверне таку відповідь:

Масиви об'єктів contractorPriceTypes та contractorWarehouses мають значення null, так як не повертаються сервером.

Однак, якщо надіслати запит GET https://api.pricer24.com/v1/contractors?ApiKey={key}&Include=PriceTypes,Warehouses, то відповідь вже буде містити ціни і склади контрагента:


Обробка помилок



Сервер повертає стандартні коди відповідей:
200 – запит успішно виконано
401 – помилка авторизації
403 – не вистачає прав
404 – метод не знайдено
501 – внутрішня помилка серверу, скоріше за все запит складено некоректно

У випадку помилки інформація про неї буде повернена в об’єкті error:

Також для визначення, чи успішний запит, чи ні, можна обробляти властивість success, де true – запит виконано успішно, false – під час виконання виникла помилка.

Оновлено: 07/06/2024

Чи була ця стаття корисною?

Поділіться своїм відгуком

Скасувати

Дякуємо!