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

Робота з API

Pricer24 надає REST API для прямої взаємодії з вашими обліковими системами, BI-платформами чи інтернет-магазинами.


Зверніть увагу: доступ до API залежить від вашого тарифного плану.


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


  • Базовий URL: https://api.pricer24.com/v1/
  • Архітектура: REST
  • Формат даних: JSON (у запитах і відповідях)
  • Інтерактивна документація: актуальний опис усіх ендпоінтів та можливість відправити тестовий запит доступні у Swagger UI.


Ліміти та обмеження

  • Частота запитів: до 10 запитів на секунду (при перевищенні сервер повертає статус 429 Too Many Requests).
  • Тайм-аут запиту: 60 секунд.
  • Тимчасове блокування: при отриманні 3 помилок клієнта (коди 4xx) протягом 60 секунд API-ключ автоматично блокується на 30 секунд.


Авторизація


Для виконання запитів потрібен персональний API-ключ.


Передавати ключ можна двома способами:

  1. У заголовку HTTP (рекомендовано):

X-ApiKey: YOUR_API_KEY або Authorization: Bearer YOUR_API_KEY

  1. У параметрах URL (Query-параметр):

https://api.pricer24.com/v1/{назва_ресурсу}?ApiKey=YOUR_API_KEY


Як отримати API-ключ


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


  1. У кабінеті Pricer24 відкрийте: Налаштування → Компанія → Користувачі
  2. Натисніть «Створити» та вкажіть ім'я (наприклад, «API Integration»)
  3. Відкрийте створеного користувача, у вкладці «Ролі» призначте необхідні права доступу
  4. Перейдіть у вкладку «API-ключі» та натисніть «Створити»
  5. Ключ буде згенеровано і скопійовано в буфер обміну. Збережіть його у безпечному місці


Пагінація (посторінкова видача)


Більшість спискових методів підтримують посторінкове завантаження за допомогою параметрів:

  • MaxResultCount — кількість записів на одній сторінці (за замовчуванням 10, максимум 1000)
  • SkipCount — кількість записів, яку слід пропустити від початку


Загальна кількість доступних записів повертається у полі result.totalCount.


{
  "success": true,
  "result": {
    "totalCount": 2700,
    "items": [ ... ]
  },
  "error": null
}


Формула обчислення сторінок

Для запиту конкретної сторінки використовуйте формулу:
SkipCount = PageSize * (PageNumber - 1)


Кількість усіх сторінок: Ceil(totalCount / PageSize)


Приклад вивантаження 2700 записів порціями по 1000:

  1. GET /v1/{ресурс}?SkipCount=0&MaxResultCount=1000&ApiKey={key} — записи 1–1000
  2. GET /v1/{ресурс}?SkipCount=1000&MaxResultCount=1000&ApiKey={key} — записи 1001–2000
  3. GET /v1/{ресурс}?SkipCount=2000&MaxResultCount=1000&ApiKey={key} — залишок 2001–2700


Параметр Include (оптимізація трафіку)


За замовчуванням методи API повертають базові властивості об'єктів без важких зв'язаних даних.


Щоб отримати розширену інформацію, передавайте параметр Include, перелічуючи потрібні вузли через кому:


  • Базовий запит без Include:

GET `https://api.pricer24.com/v1/contractors?ApiKey={key}`

{
  "id": "c100",
  "name": "Rozetka",
  "contractorPriceTypes": null,
  "contractorWarehouses": null
}


  • Запит із розширенням даних:

GET `https://api.pricer24.com/v1/contractors?Include=PriceTypes,Warehouses&ApiKey={key}`

{
  "id": "c100",
  "name": "Rozetka",
  "contractorPriceTypes": [
    { "id": "p1", "name": "Роздрібна ціна" }
  ],
  "contractorWarehouses": [
    { "id": "w1", "name": "Основний склад (Київ)" }
  ]
}


Коди відповідей та помилки


Сервер повертає стандартні HTTP-статуси:

  • 200 OK — запит успішно оброблено
  • 400 Bad Request — помилка у синтаксисі або параметрах запиту (наприклад, MaxResultCount > 1000)
  • 401 Unauthorized — відсутній або недійсний API-ключ
  • 403 Forbidden — у користувача недостатньо прав або метод недоступний у вашому тарифі
  • 404 Not Found — запитуваний ресурс або сутність не знайдена
  • 429 Too Many Requests — перевищено ліміт запитів (10 req/s) або ключ тимчасово заблоковано через часті помилки
  • 500 Internal Server Error — внутрішня помилка на боці сервера


Формат об'єкта відповіді

Усі відповіді API огортаються в стандартну структуру:


Успішна відповідь:

{
  "success": true,
  "result": { ... },
  "error": null
}


Відповідь з помилкою:

{
  "success": false,
  "result": null,
  "error": {
    "code": 400,
    "message": "Параметр MaxResultCount не може перевищувати 1000",
    "details": "Значення перевищує допустимий максимум"
  }
}


Що далі


  • Якщо вам потрібне миттєве сповіщення про зміну цін замість опитування сервера, використовуйте Вебхук: передача цін

Оновлено: 04/11/2026

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

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

Скасувати

Дякуємо!