Документація

Що вміє API магазину

Кому потрібен API, що через нього можна отримати сьогодні і що з’явиться далі. Перший запит за п’ять хвилин.

На цій сторінці

API магазину потрібен тим, хто підключається до магазину ззовні. Дропшипер забирає через нього каталог до себе на сайт і передає замовлення своїх покупців. Партнер звіряє в себе статуси та способи доставки. Розробник створює для магазину окремий сайт чи застосунок і бере дані звідси.

Через API дані можна отримувати, а змінювати в магазині нічого не можна: ні товари, ні ціни, ні залишки, ні замовлення. Єдине, що API приймає, — нові замовлення, наприклад замовлення, яке дропшипер оформив у себе на сайті й передає магазину.

Що доступно зараз

Зараз API віддає відомості про ключ, налаштування й довідники магазину, каталог, ціни, залишки й замовлення. Нові замовлення він теж приймає:

Адреса Що віддає
GET /api/v1/me відомості про ключ, яким зроблено запит
GET /api/v1/shop назва, країна, часовий пояс, валюти з курсами, мови, одиниці продажу
GET /api/v1/storefronts вітрини магазину
GET /api/v1/order_statuses статуси замовлення та дозволені переходи між ними
GET /api/v1/payment_methods способи оплати
GET /api/v1/shipping_methods способи доставки
GET /api/v1/warehouses склади
GET /api/v1/customer_groups категорії покупців
GET /api/v1/contact_types види контактів: фізособа, компанія
GET /api/v1/tax_rates ставки податку
GET /api/v1/categories категорії каталогу деревом
GET /api/v1/brands бренди
GET /api/v1/product_types типи товарів
GET /api/v1/features характеристики зі словником значень
GET /api/v1/products товари з артикулами, фото, характеристиками, цінами й залишками
GET /api/v1/products/{id} один товар
GET /api/v1/products/ids номери всіх видимих товарів, щоб знайти зняті з продажу
GET /api/v1/skus артикули, зокрема пошук за кодом і штрихкодом
GET /api/v1/prices ціни артикулів для вашого контакту
GET /api/v1/inventory залишки артикулів
POST /api/v1/orders/check розрахунок замовлення без створення: ціни, знижки, підсумок і причини, через які замовлення не прийняти
POST /api/v1/orders створення замовлення: товари й коментар, доставку й оплату призначає менеджер
GET /api/v1/orders замовлення вашого контакту
GET /api/v1/orders/{id} одне замовлення

Довідники магазину описано в довіднику адрес. Каталогу присвячено окремі сторінки: видимість і синхронізація, довідники каталогу, товари та артикули, ціни і залишки. Як магазин приймає замовлення, описано на сторінках «Замовлення партнера» і «Замовлення: адреси й поля».

Магазин може й сам повідомляти партнера, що змінився статус його замовлення, менеджер змінив замовлення або змінилися ціни й залишки. Тоді партнерові не потрібно постійно питати про це. Вмикає такі повідомлення власник у формі ключа, а як їх приймати, описано на сторінці «Повідомлення партнерові (вебхуки)».

Ключ завжди видається конкретному контакту магазину, дропшиперу чи партнеру. За цим контактом магазин рахує ціни для ключа з урахуванням категорії покупця та персональних цін і на нього ж записує замовлення, що надійшли через API.

Що буде далі

У формі ключа вже можна позначити право «Бачити покупців». Адрес під нього поки немає, вони з’являться в наступних випусках магазину. Запит до розділу, якого ще немає, отримує відповідь 404.

Як влаштовано API

  • Адреса: https://<домен магазину>/api/v1. Версія входить в адресу, зараз вона одна, v1.
  • Відповіді — JSON у кодуванні UTF-8. Кирилиця та скісна риска в адресах приходять як є, без екранування.
  • Вхід — за ключем у заголовку Authorization: Bearer <ключ>. Сеанс співробітника в панелі API не відкриває. Навіть із того самого браузера без ключа відповідь буде 401.
  • Права ключа обирає власник магазину. Ключ бачить лише ті розділи, які йому позначили.
  • У кожного ключа свій ліміт запитів за хвилину, типово 120.
  • Помилки приходять в одному форматі application/problem+json із чесним HTTP-статусом і кодом помилки. Подробиці на сторінці «Помилки та їхні коди».
  • Кожен запит записується в журнал, який власник бачить у панелі. Кожна відповідь має заголовок X-Request-Id: за цим кодом запит знаходиться в журналі.

Опис для Postman і Swagger

Кожен магазин віддає опис свого API у форматі OpenAPI 3.1 за адресою https://<домен магазину>/api/v1/openapi.json. Ключ для цього не потрібен. В описі перелічено всі адреси з параметрами, поля відповідей, коди помилок і повідомлення, які магазин надсилає партнерові. Адресу для запитів у ньому вже вказано, і це адреса того магазину, звідки ви його взяли.

Щоб отримати готові запити в Postman, натисніть Import і вставте адресу опису. Postman збере колекцію із запитом на кожну адресу API. Тип Bearer Token на вкладці Authorization у колекції він обере сам, вам залишиться вставити туди ключ. Цю саму адресу відкривають Swagger Editor, Insomnia та інші програми, які розуміють OpenAPI. За описом можна й згенерувати готовий клієнт для своєї мови програмування.

Пояснення в описі написано англійською, а подробиці з прикладами українською та російською є на сторінках цього довідника. Посилання на опис власник магазину знайде у формі ключа, у блоці «Як підключити».

Швидкий старт

1. Отримайте ключ

Ключ видає власник магазину або співробітник із правом «Видавати ключі API». У панелі він відкриває «Налаштування платформи», у групі «Платформа» обирає «API магазину» й натискає плюс біля «Ключі доступу». Як заповнити форму, описано на сторінці «Ключі доступу та права».

Після натискання «Видати ключ» магазин один раз показує ключ повністю. Він має такий вигляд:

12|ctx_Hq4bR7mPz0LwX3sYt8VnK2cJd5aEf9gUiO1hBqWe6a1c94f7

Ключем вважається весь цей рядок разом із числом і вертикальною рискою на початку. Зберігайте його як пароль. Магазин зберігає лише відбиток ключа й удруге його не покаже.

2. Перевірте ключ

Першим запитом варто викликати /me. Цій адресі не потрібні права, вона відповідає будь-якому чинному ключу й показує, що ключ уміє.

curl https://shop.example.ua/api/v1/me \
  -H "Authorization: Bearer 12|ctx_Hq4bR7mPz0LwX3sYt8VnK2cJd5aEf9gUiO1hBqWe6a1c94f7" \
  -H "Accept: application/json"

Відповідь:

{
    "data": {
        "id": 3,
        "name": "Сайт партнера",
        "kind": "integration",
        "contact": { "id": 418, "name": "ФОП Коваленко" },
        "scopes": ["shop:read", "orders:create"],
        "rate_limit_per_minute": 120,
        "expires_at": null,
        "settings_changed_at": null,
        "api_version": "1"
    }
}

Якщо прийшла відповідь 401, ключ не передано, скопійовано не повністю, відкликано, термін його дії минув, ключ замінено новим або видалено. Ключ видаляється й тоді, коли в магазині видаляють контакт, якому його видали. Поле code у відповіді підкаже, що саме сталося.

3. Отримайте дані магазину

curl https://shop.example.ua/api/v1/shop \
  -H "Authorization: Bearer <ключ>"

Для цієї адреси ключ повинен мати право «Бачити налаштування й довідники магазину» (shop:read). Новий ключ отримує його позначеним одразу.

Якщо щось не працює

У кожній відповіді про помилку є поле request_id, такий самий код приходить у заголовку X-Request-Id. Повідомте цей код власникові магазину разом із часом запиту. За ним власник знайде запит у журналі й побачить, що ви надіслали і що відповів магазин. Як влаштовано журнал, описано на сторінці «Журнал запитів».

Оновлено 21 жовтня 2026