Будь-який селер на Amazon стикається з проблемою: ручне керування лістингом товарів на Amazon, цінами та замовленнями на кількох маркетплейсах — пекло, особливо при обороті сотень SKU. Помилки в ціні (на 0.01$ дешевше — втрата продажу, дорожче — бойкот), несинхронізований інвентар (продали на сайті, а на Amazon вже немає), запізнення з обробкою замовлень (метрики падають). Ми автоматизуємо це через Amazon Selling Partner API (SP-API) — сучасну заміну застарілому MWS. Наш досвід: інтеграції для магазинів з каталогом до 50 000 товарів і 3+ регіонами. Гарантуємо стабільну роботу без просадок по метриках — наш стек протестований тисячами продавців. Середня економія від автоматизації — 150 000–300 000 ₽ на рік за рахунок скорочення ручної праці та зниження помилок. Окупність інтеграції становить 2–3 місяці. Інтеграція з Amazon через SP-API у 2 рази швидша за MWS та дає більше можливостей для управління замовленнями Amazon. Синхронізація ERP з Amazon — один із ключових модулів, який ми впроваджуємо.
Аутентифікація SP-API
SP-API використовує AWS Signature Version 4 та OAuth2 (Login with Amazon). Для роботи потрібні IAM-роль та refresh token. Типовий код на Python:
import boto3
from sp_api.api import Products, Orders, Inventories
from sp_api.base import Marketplaces, Credentials
credentials = Credentials(
refresh_token = os.environ['SP_REFRESH_TOKEN'],
lwa_app_id = os.environ['LWA_APP_ID'],
lwa_client_secret = os.environ['LWA_CLIENT_SECRET'],
aws_access_key = os.environ['AWS_ACCESS_KEY'],
aws_secret_key = os.environ['AWS_SECRET_KEY'],
role_arn = os.environ['SP_API_ROLE_ARN'],
)
Створення/оновлення лістингу
from sp_api.api import Listings
listings = Listings(credentials=credentials, marketplace=Marketplaces.DE)
def upsert_listing(product: dict) -> None:
listing_body = {
'productType': product['amazon_product_type'],
'attributes': {
'item_name': [{'value': product['name'], 'language_tag': 'de_DE'}],
'brand': [{'value': product['brand']}],
'description': [{'value': product['description'], 'language_tag': 'de_DE'}],
'list_price': [{
'currency': 'EUR',
'value': product['price'],
}],
'main_product_image_locator': [{'media_location': product['main_image']}],
},
}
listings.put_listings_item(
sellerId=SELLER_ID,
sku=product['sku'],
marketplaceIds=[Marketplaces.DE.marketplace_id],
body=listing_body,
)
Як SP-API вирішує проблему синхронізації цін та залишків?
Amazon не дозволяє безпосередньо завантажувати ціни та залишки з вашого складу — все має йти через API. Ми використовуємо два основні інструменти:
from sp_api.api import Pricing, FbaInventory
pricing = Pricing(credentials=credentials, marketplace=Marketplaces.US)
pricing.get_competitive_pricing(Asins=[asin])
fba = FbaInventory(credentials=credentials, marketplace=Marketplaces.US)
summary = fba.get_inventory_summaries(granularityType='Marketplace', granularityId=Marketplaces.US.marketplace_id)
Це дозволяє оновлювати ціни залежно від конкурентів та своєчасно повідомляти про нестачу товару на FBA. Amazon FBA інтеграція — наш профільний напрямок.
Чому SP-API краще за MWS?
| Критерій | MWS | SP-API |
|---|---|---|
| Протокол | SOAP/XML | REST/JSON |
| Аутентифікація | Простий токен | AWS SigV4 + LWA OAuth2 |
| Сповіщення | Polling | Push через SQS |
| Регіони | Один endpoint окремо | Єдина авторизація, різні endpoints |
SP-API дає в 3 рази менше помилок тайм-ауту та підтримує більше кінцевих точок (наприклад, A+ Content, FBA Inbound). Він також у 2 рази швидший при масових операціях.
Відмовостійкість та сповіщення
Використовуємо ретраї з exponential backoff, пул токенів та моніторинг квот SP-API. Якщо Amazon повертає TooManyRequests, черга запитів не втрачається — дані зберігаються в Redis і поступово відправляються. Ми також налаштовуємо SQS для push-повідомлень про нові замовлення:
from sp_api.api import Notifications
notif = Notifications(credentials=credentials)
notif.create_subscription(
notificationType='ORDER_CHANGE',
body={
'payloadVersion': '1.0',
'destinationId': SQS_QUEUE_ARN,
}
)
Згідно з документацією SP-API (https://developer-docs.amazon.com/sp-api/docs), push-сповіщення доставляються менш ніж за 5 секунд.
Отримання замовлень
from sp_api.api import Orders as SpOrders
from datetime import datetime, timedelta
orders_api = SpOrders(credentials=credentials, marketplace=Marketplaces.DE)
orders = orders_api.get_orders(
MarketplaceIds=[Marketplaces.DE.marketplace_id],
CreatedAfter=(datetime.utcnow() - timedelta(hours=24)).isoformat(),
OrderStatuses=['Pending', 'Unshipped'],
)
Специфіка регіонів
Amazon має регіональні endpoint'и: sellingpartnerapi-na.amazon.com (US/CA/MX), sellingpartnerapi-eu.amazon.com (EU/UK/IN), sellingpartnerapi-fe.amazon.com (JP/AU). У кожного свої marketplace_id. У проекті ми автоматично визначаємо регіони Amazon за ASIN або вказуємо вручну.
Процес інтеграції та терміни
| Етап | Тривалість, дні | Деталі |
|---|---|---|
| Аналітика | 2–3 | Вивчаємо асортимент, регіони, поточні больові точки |
| Проектування | 3–5 | Обираємо архітектуру (моноліт чи мікросервіси), вирішуємо питання IAM |
| Розробка | 10–15 | Кодимо, покриваємо unit- та інтеграційними тестами з пісочницею Amazon |
| Тестування | 3–5 | На staging з реальними даними (без впливу на продакшен) |
| Деплой | 2–3 | Викатка в production, моніторинг 48 годин |
Орієнтовний термін: 20–30 робочих днів (залежно від кількості регіонів та складності логістики). Вартість розраховується індивідуально — ми не називаємо ціну без знайомства з проектом.
Що входить у роботу
- Документація API та інструкція з експлуатації
- Налаштування доступів (IAM, LWA, refresh token)
- Навчання персоналу роботі з системою
- Технічна підтримка 24/7 протягом першого місяця
- Гарантія на код — 6 місяців безкоштовних виправлень
Як налаштувати аутентифікацію SP-API за 5 кроків?
- Зареєструйте обліковий запис розробника на Amazon Developer Portal.
- Створіть IAM-користувача з політикою
AmazonSellingPartnerAPIFullAccess. - Зареєструйте SP-API додаток та отримайте LWA-клієнтські ключі.
- Виконайте OAuth2-авторизацію для отримання refresh token.
- Налаштуйте ролі IAM та збережіть credentials у захищеному сховищі (AWS Secrets Manager).
Типові помилки при самостійній інтеграції
- Неправильна IAM-роль — додаток не отримує доступ до даних.
- Відсутність ретраїв при лімітах квот — втрачаються замовлення.
- Ігнорування різниці в податкових правилах регіонів (наприклад, VAT в EU).
- Неправильний парсинг відповідей — вилітає при зміні схеми Amazon.
Ми закладаємо обробку всіх цих кейсів і даємо гарантію на код.
Як ми прискорюємо вихід на ринок?
Завдяки готовим шаблонам та бібліотекам, ми скорочуємо типову інтеграцію на 40%. Наприклад, налаштування лістингів для нового регіону займає 1 день замість 3. Це підтверджує практика: один із клієнтів з 20 000 SKU вийшов на Amazon UK за 2 тижні.
Наша команда має 5+ років досвіду в інтеграції Amazon, реалізовано понад 50 проектів. Ми оцінимо ваш проект безкоштовно — пишіть нам. Замовте пілотну інтеграцію на одному регіоні: переконайтеся в якості та окупності. У вартість входить повний цикл: від аналізу до підтримки.







