API для продавців і ШІ-агентів
Розміщуйте сотні товарів з прайсу, оновлюйте ціни й знімайте продане — програмою або доручіть це ШІ-агенту. Безкоштовно, з тими самими правилами, що й на сайті.
Скіл для ШІ-агента
Скіл — це інструкція, яку агент (Claude та інші) читає перед роботою: порядок запитів, як обрати рубрику, заповнити характеристики, написати чесний опис і не створити дублів.
- Claude Code: збережіть файл як
~/.claude/skills/reklama-vn-ua-ads/SKILL.mdі задайте ключ:export REKLAMA_API_KEY=rk_… - Claude (claude.ai): Налаштування → Можливості → Скіли → завантажте папку
reklama-vn-ua-adsз цим файлом. - Інші агенти: додайте вміст файлу в системні інструкції.
Доступ
Адреса: https://reklama.vn.ua/api/v1. Кожен запит — з ключем у заголовку, тіло — JSON:
curl https://reklama.vn.ua/api/v1/me \
-H "Authorization: Bearer $REKLAMA_API_KEY" Ліміти на ключ: 120 запитів і 20 фото на хвилину, 600 фото на годину. Запити — послідовно, без паралельних; після кожного фото — пауза 2 с. Ключ дає доступ лише до ваших оголошень; відкликати його можна будь-коли.
Методи
| GET | /me | Хто я: акаунт, вітрина, ліміти, валюти |
| GET | /shop | Вітрина й розділи з кількістю оголошень |
| PATCH | /shop | Створити чи змінити вітрину: title, slug, about, city, nationwide |
| POST | /shop/sections | Розділ за назвою: знайде наявний або створить |
| PATCH | /shop/sections/{id} | Перейменувати ({"name"}) або пересунути ({"sort": 0}) |
| DELETE | /shop/sections/{id} | Видалити розділ (оголошення лишаються) |
| GET | /categories | Дерево рубрик; оголошення подаються лише в "leaf": true |
| GET | /categories/suggest?q=… | Рубрики, де найчастіше продають схоже (підказка) |
| GET | /categories/{id}/attributes | Характеристики рубрики: типи, обов'язковість, варіанти |
| GET | /cities?q=… | Пошук населеного пункту → city_id |
| POST | /photos | Фото: multipart "photo" або JSON {"url"} → id |
| POST | /ads | Створити або оновити (за external_id) оголошення |
| GET | /ads?status=&external_id=&page= | Мої оголошення, по 100 |
| GET | /ads/{id} | Оголошення з описом і характеристиками |
| PATCH | /ads/{id} | Змінити лише передані поля |
| POST | /ads/{id}/status | {"status": "archived"} — зняти, "active" — повернути |
| DELETE | /ads/{id} | Видалити назавжди |
Оголошення
| external_id | рядок | Ваш ідентифікатор товару (артикул, рядок прайсу). Повтор з ним оновлює оголошення, а не створює дубль |
| category_id | число | Найглибша рубрика (leaf) |
| city_id | число | З /cities |
| title | рядок | 10–70 символів, без CAPS LOCK |
| description | рядок | 40–9000 символів |
| price | число | У валюті currency; без ціни — «Договірна» |
| currency | UAH | USD | EUR | Покупцям показуємо в гривнях за поточним курсом |
| is_negotiable | true/false | Можливий торг |
| attrs | об'єкт | code → value: enum — value варіанта, multi — масив, number — число, bool — true |
| photos | масив id | З /photos, до 12, перше — головне |
| phone | рядок | +380XXXXXXXXX |
| section | рядок | Розділ вітрини за назвою (знайде або створить); або section_id; null — без розділу |
| sale_price, sale_until | число, дата | Знижка з таймером до вказаної дати (до 90 днів) |
Поле condition в рубриках товарів обов'язкове: nove або vzhyvane. Перелік характеристик і їхніх варіантів — у /categories/{id}/attributes.
# 1. фото за посиланням
curl https://reklama.vn.ua/api/v1/photos -H "Authorization: Bearer $REKLAMA_API_KEY" \
-H "Content-Type: application/json" -d '{"url": "https://example.com/macbook-1.jpg"}'
# → {"id": 9001, "urls": {...}}
# 2. оголошення
curl https://reklama.vn.ua/api/v1/ads -H "Authorization: Bearer $REKLAMA_API_KEY" -H "Content-Type: application/json" -d '{
"external_id": "MBP16-M1MAX-64-1TB-S1",
"category_id": 123, "city_id": 456,
"title": "MacBook Pro 16 2021 M1 Max 64/1TB Silver, батарея 84%",
"description": "Потужний 16-дюймовий MacBook Pro для монтажу й 3D…",
"price": 1730, "currency": "USD",
"attrs": {"condition": "vzhyvane", "laptop_brand": "apple", "cpu": "apple-m1-max", "ram": "64", "storage": "1024", "screen": 16},
"photos": [9001, 9002],
"section": "MacBook"
}'
# → 201 {"id": 777, "status": "active", "url": "https://reklama.vn.ua/oholoshennia/…-777", "created": true} Помилки
Відповідь з кодом 4xx містить error (машинний код), message і details — що саме виправити:
{"error": "validation", "message": "Оголошення не збережено.", "details": ["Заголовок має містити від 10 до 70 символів."]} 401 unauthorized— немає ключа або його відкликано;403 email_not_verified,limit_reached— підтвердіть email / ліміт активних оголошень;404 not_found— немає такого оголошення серед ваших;422 validation,bad_photo,not_leaf— дані не підходять, див.details;429 rate_limited— зачекайте хвилину.
Оголошення через API проходять ту саму модерацію й правила, що й подані вручну (Правила розміщення). Питання — на сторінці Контакти.