Integration API · Синхронізація каталогу
Оновити частину товару
PATCHhttps://{store}/api/v1/integrations/catalog/products/{external_id}
Змінює лише передані поля — наприклад, залишок і ціну з ERP. Товар уже має існувати для цього ключа (спершу створіть його через PUT). Для товару з варіантами передавайте весь список variants.
Щоб зняти товар із продажу, передайте status draft: товари приховуються, а не видаляються, бо на них посилаються замовлення.
Ключ інтеграції з правом
catalog:write: Authorization: Bearer {key}.
Параметри шляху
external_idstringобов'язковийВаш id товару.
Тіло запиту application/json
namestringНазва товару.
skustringАртикул варіанта товару.
priceintegerЦіна в копійках (599900 = 5 999,00).
quantityintegerЗалишок.
descriptionstringОпис простим текстом.
statusstringdraft або published.
draftpublished
image_urlstringПублічна https-адреса головного зображення.
category_external_idsarray of stringsВаші id категорій; замінюють зв’язки.
tag_external_idsarray of stringsВаші id міток; замінюють зв’язки.
attributesobjectCharacteristics by name, such as {"Матеріал": ["Бавовна", "Льон"], "Вага": "180 г", "Водонепроникний": true}; null removes one, names not sent stay. For a store on the one attribute model; elsewhere tags carry characteristics.
variantsarray of objectsДо 100 варіантів: sku (обов’язковий), price, quantity і options — об’єкт «назва опції → значення», наприклад {"Колір": "Чорний", "Розмір": "M"}. Якщо variants передано, sku, price і quantity верхнього рівня не використовуються.
Приклад
{
"price": 549900,
"quantity": 18
}
Відповіді
200Оновлений товар.
{
"external_id": "erp-10045",
"data": {
"id": 12,
"name": "Навушники Sonar ANC повнорозмірні",
"description": "Активне шумозаглушення, 40 годин роботи.",
"sku": "SONAR-ANC-BLK",
"thumbnail_url": "https://your-store.storeforma.shop/media/12/sonar-anc.webp",
"quantity": 24,
"currency_code": "UAH",
"min_price": 599900,
"max_price": 599900,
"weight": 0.32,
"length": null,
"height": null,
"width": null,
"has_offers": false,
"is_archived": false,
"category_id": 7,
"attributes": [
{
"handle": "kolir",
"name": "Колір",
"type": "swatch",
"unit": null,
"group": null,
"variant_axis": false,
"values": [
"Чорний"
]
},
{
"handle": "vaga",
"name": "Вага",
"type": "number",
"unit": "г",
"group": "Загальні",
"variant_axis": false,
"values": [
"320 г"
]
}
],
"input_options": [
{
"key": "hraviiuvannia",
"label": "Гравіювання",
"type": "text",
"required": false,
"price": 10000,
"max": 30,
"choices": []
}
],
"created_at": "2026-10-01 10:12:00",
"updated_at": "2026-10-12 08:40:00"
}
} 401Ключа немає, він невідомий або відкликаний.
{
"code": "unauthenticated",
"message": "Integration key is inactive.",
"field": null
} 403У ключа немає права catalog:write, або тариф магазину без доступу до API.
{
"code": "forbidden",
"message": "Integration key cannot catalog:write.",
"field": null
} 422Поле має помилку; його назва — у field.
{
"code": "validation_error",
"message": "name is required.",
"field": "name"
} 429Понад 60 запитів за хвилину для цього ключа. Зачекайте Retry-After секунд.
{
"code": "rate_limited",
"message": "Too many integration requests.",
"field": null
}