Содержание руководства
Вернуться в центр помощи
Инструкция

Разработчикам и API

Подключайте собственные системы через API продавца, ключи и вебхуки.

Что покрывает API

API продавца Dukan открывает тот же магазин, с которым работают панель управления и приложение «Менеджер»: товары, категории, бренды, подборки, блоки главной, заказы, аналитику и данные самого магазина.

Это шов для тех интеграций, о которых магазины действительно просят: загрузить прайс поставщика, вытянуть заказы в бухгалтерию или свести остатки со складом, который у вас уже работает.

Базовый адрес

https://dukan.biz/api/merchant/v1

Все пути в этом руководстве указаны относительно него, а все ответы приходят в JSON.

Получите ключ API

Откройте «Настройки», затем «Разработчикам», и создайте ключ. Дайте ему имя, которое говорит, для чего он, чтобы позже его можно было отозвать, не гадая, что при этом сломается.

Ключ показывается один раз — в момент создания. Скопируйте его тогда; если он потерян, удалите его и выпустите новый.

Аутентификация запроса

Передавайте ключ как bearer-токен:

Authorization: Bearer YOUR_API_KEY
Accept: application/json

Ключ принадлежит одному магазину и несёт те права, которые вы ему дали. Запросы к другому магазину отклоняются, а не возвращают молча пустоту.

Как сделать запрос

GET /products?status=published&limit=50
GET /orders?status=new
GET /analytics?from=2026-08-01&to=2026-08-31

Списки постраничные, и каждый ответ несёт курсор следующей страницы. Идите по курсору, а не считайте страницы: каталог меняется, пока вы его читаете.

Запись в магазин

POST, PATCH и DELETE покрывают то же поле: создание и изменение товаров и их вариантов, перевод заказа на следующую стадию, правку категорий, брендов и подборок и замену списка блоков главной.

Деньги передаются и возвращаются в минимальных единицах целыми числами, а не десятичными дробями, поэтому по дороге через вашу интеграцию ничего не округляется.

Вебхуки

Зарегистрируйте адрес, и Dukan будет отправлять на него события магазина: новый заказ, переход заказа на другую стадию, окончание товара.

Каждая доставка подписана — проверяйте подпись, прежде чем что-то делать с телом. Отвечайте кодом 2xx быстро, а работу выполняйте после: неподтверждённая доставка повторяется с растущим интервалом, поэтому ваш обработчик должен считать повтор того же события тем же событием.

Ограничения частоты

Запросы ограничены по ключу. Каждый ответ несёт остаток лимита в заголовках, а запрос сверх лимита возвращается кодом 429 с числом секунд ожидания.

Прочитайте список один раз и закэшируйте его вместо постоянного опроса. Для того, что нужно узнавать быстро, используйте вебхук, а не цикл.

Ошибки

Ошибки приходят с правильным HTTP-статусом и телом JSON, называющим поле, в котором дело:

  • 401 — ключ отсутствует, неверен или отозван.
  • 403 — ключ верен, но такого делать не может.
  • 404 — такой записи в этом магазине нет.
  • 422 — запрос понят, но поле неверно; тело говорит какое.
  • 429 — слишком много запросов.

Версии

Версия указана в пути. Добавления — новое поле, новый метод — происходят внутри версии, поэтому пишите клиентов так, чтобы они пропускали незнакомые поля. Всё, что сломало бы существующего клиента, получает новую версию и срок на переход.

Поддержка для разработчиков

Напишите на [email protected], коротко описав систему, которую вы подключаете, что вы уже пробовали и на каком запросе и ответе застряли.

Нужна дополнительная помощь?

Если инструкция не помогла решить вопрос, свяжитесь с нашей поддержкой.

Поддержка по почте Связаться с командой