- Головна
- Інтеграція магазину Agilix з Allegro
Інтеграція магазину Agilix з Allegro
Як застосунок Agilix Sklep використовує REST API Allegro: призначення, принцип роботи, авторизація, дозволи, дані та відповідність правилам.
Станом на 29 вересня 2026 р.
Agilix Sklep - це застосунок, зареєстрований в Allegro Developer Apps, який поєднує інтернет-магазин agilix.dog (іграшки, ласощі та аксесуари для собак) з обліковим записом продавця на Allegro. Завдяки йому магазин має один каталог товарів, один складський залишок і одну обробку замовлень - без ведення другої адмін-системи в панелі Allegro.
Застосунок розробляє та підтримує:
Hackerman Consulting - Adam Gajzlerowicz
NIP 7772841677
Regon 380997651
Hebanowa 16E, 62-020 Zalasewo, woj. wielkopolskie
+48 737 909 076
Призначення застосунку
- виставлення товарів магазину agilix.dog як пропозицій на Allegro та оновлення їхньої назви, опису, фотографій і ціни;
- підтримка одного спільного складського залишку - продаж у магазині зменшує кількість одиниць у пропозиції на Allegro, а продаж на Allegro зменшує залишок у магазині, зазвичай протягом хвилини;
- отримання оплачених замовлень з Allegro до панелі замовлень магазину, щоб виконувати їх разом із замовленнями, оформленими в магазині;
- передавання до Allegro статусу виконання замовлення та номера відправлення.
Хто користується застосунком
Застосунком користується виключно адміністратор магазину agilix.dog у налаштуваннях магазину в адмін-панелі. Він підключає до застосунку один обліковий запис продавця Allegro - той, з якого продає магазин. Покупці та інші користувачі Agilix не входять в Allegro через цей застосунок і не мають доступу до його налаштувань.
Як працює виставлення пропозицій
Адміністратор позначає біля товару поле "Синхронізувати з Allegro" та вибирає категорію, обов'язкові параметри й ціну на Allegro. Після збереження товару сервер Agilix у фоновому режимі завантажує фотографії до Allegro, створює або оновлює пропозицію (товар, категорія та параметри, дані виробника й відповідальної особи згідно з GPSR, ціна, кількість одиниць, прайс-лист доставки, умови повернення та рекламацій) і публікує її.
- Зняття позначки, деактивація товару або вичерпання залишку завершує пропозицію; коли товар знову доступний, вона відновлюється.
- Зміни потрапляють до черги фонових завдань, тому редагування в магазині не чекає на відповідь Allegro.
- Якщо Allegro відхилить пропозицію, адміністратор бачить біля товару код і повідомлення про помилку від Allegro та може повторити синхронізацію.
Як працює обробка замовлень
- Раз на хвилину сервер зчитує журнал подій замовлень, починаючи з останньої обробленої події.
- Замовлення потрапляє до магазину лише тоді, коли воно готове до виконання (READY_FOR_PROCESSING) і не було скасоване; кожне замовлення імпортується рівно один раз, а складський залишок зменшується на замовлену кількість.
- Скасування замовлення на Allegro скасовує його в магазині та відновлює складський залишок.
- Коли адміністратор змінює статус замовлення або відправляє посилку, застосунок оновлює статус виконання в Allegro і додає номер відправлення.
- Повернення коштів за замовлення з Allegro обробляються в панелі Allegro, поза застосунком.
Авторизація користувача
Застосунок використовує стандартний потік OAuth 2.0 (Authorization Code), який надає Allegro. Він ні в кого не запитує логін, пароль, Client ID чи Client Secret.
- Адміністратор натискає "Підключити до Allegro" в налаштуваннях магазину. Сервер створює підписаний параметр
state, дійсний 15 хвилин і прив'язаний до цього адміністратора. - Браузер переходить на сторінку входу Allegro (
https://allegro.pl/auth/oauth/authorize), де продавець входить у свій обліковий запис і надає згоду на дозволи застосунку. - Allegro перенаправляє на зареєстровану адресу
https://api.agilix.dog/allegro/oauth/callback. Сервер перевіряє підпис і термін діїstate, а також те, що користувач досі є адміністратором магазину, після чого обмінює код на токени (https://allegro.pl/auth/oauth/token), автентифікуючись власними Client ID і Client Secret застосунку. - Сервер зчитує логін підключеного облікового запису та зберігає підключення. Токен оновлення зберігається виключно на сервері, зашифрований алгоритмом AES-256-GCM. Токен доступу оновлюється автоматично, а новий токен оновлення одразу замінює попередній.
Client Secret і токени ніколи не потрапляють до браузера, мобільного застосунку чи інших сторін.
Дозволи застосунку
Застосунок запитує лише дозволи, потрібні для описаних функцій:
-
allegro:api:profile:read - читання логіна підключеного облікового запису, щоб адміністратор бачив, який обліковий запис Allegro підключено.
-
allegro:api:sale:offers:read - читання пропозицій магазину та результатів операцій їх створення, а також підказок категорій і їхніх параметрів.
-
allegro:api:sale:offers:write - створення, редагування, публікація та завершення пропозицій магазину, а також завантаження їхніх фотографій.
-
allegro:api:sale:settings:read - читання прайс-листів доставки, умов повернення та рекламацій, а також даних виробників і відповідальних осіб (GPSR), щоб адміністратор міг вибрати їх для пропозицій.
-
allegro:api:sale:settings:write - додавання даних відповідального виробника (GPSR), якщо в обліковому записі їх ще немає.
-
allegro:api:orders:read - читання подій і деталей замовлень, перевізників і відправлень.
-
allegro:api:orders:write - оновлення статусу виконання замовлення та додавання номера відправлення.
Використовувані ресурси REST API
https://api.allegro.pl (фотографії - на https://upload.allegro.pl) від імені підключеного облікового запису:Пропозиції та їх публікація
-
POST /sale/product-offers -
PATCH /sale/product-offers/{offerId} -
GET /sale/product-offers/{offerId} -
GET /sale/product-offers/{offerId}/operations/{operationId} -
PUT /sale/offer-publication-commands/{commandId} -
GET /sale/offer-publication-commands/{commandId}
Фотографії
-
POST /sale/images
Категорії та параметри
-
GET /sale/matching-categories -
GET /sale/categories/{categoryId}/parameters
Налаштування продажу
-
GET /sale/shipping-rates -
GET /after-sales-service-conditions/return-policies -
GET /after-sales-service-conditions/implied-warranties -
GET /after-sales-service-conditions/warranties -
GET /sale/responsible-producers -
POST /sale/responsible-producers -
GET /sale/responsible-persons
Замовлення
-
GET /order/events -
GET /order/event-stats -
GET /order/checkout-forms/{checkoutFormId}
Виконання та відправлення
-
PUT /order/checkout-forms/{checkoutFormId}/fulfillment -
GET /order/checkout-forms/{checkoutFormId}/shipments -
POST /order/checkout-forms/{checkoutFormId}/shipments -
GET /order/carriers
Обліковий запис
-
GET /me
Оброблювані дані
Застосунок обробляє лише дані, потрібні для продажу: дані пропозицій магазину та дані замовлень з Allegro - ім'я та прізвище, адресу доставки або пункт видачі, телефон, адресу електронної пошти в домені allegromail.pl, дані для рахунку-фактури, замовлені товари та повідомлення для продавця.
Дані замовлень використовуються виключно для виконання та відправлення відповідного замовлення. Магазин не надсилає покупцям з Allegro жодних електронних листів - ні транзакційних, ні маркетингових - і не використовує їхні дані для маркетингу.
Правила обробки персональних даних: Політика конфіденційності
Відповідність правилам REST API Allegro
- Застосунок використовує виключно власні Client ID і Client Secret, які зберігаються як секрети сервера; він нікому їх не передає і ніколи не запитує в користувачів їхні ключі.
- Доступ до облікового запису продавця він отримує лише через OAuth 2.0, за згодою продавця та в межах описаних вище дозволів.
- Кожен запит містить незмінний заголовок User-Agent, що ідентифікує застосунок:
Agilix-Sklep/1.0.0 (+https://agilix.dog/). - Застосунок дотримується лімітів: опитує журнал замовлень раз на хвилину, оновлює пропозиції лише після зміни товару, а після відповіді 429 чекає стільки, скільки вказує заголовок Retry-After.
- Він не завантажує масово пропозиції чи дані інших продавців і покупців; дані з API використовує виключно для обслуговування продажів підключеного облікового запису.
- Зв'язок відбувається виключно через HTTPS, а токени зберігаються в зашифрованому вигляді.
Відключення облікового запису
Адміністратор може будь-коли натиснути "Відключити" в налаштуваннях магазину - тоді сервер видаляє збережені токени та зв'язки пропозицій, а застосунок припиняє надсилати запити для цього облікового запису. Доступ також можна відкликати на боці Allegro, у налаштуваннях облікового запису; тоді застосунок позначає підключення як розірване і показує це адміністраторові.
Питання щодо застосунку: adam@agilix.dog.