Автоматизація лістингу, цін та замовлень на Amazon SP-API під ключ

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Автоматизація лістингу, цін та замовлень на Amazon SP-API під ключ
Складний
~1-2 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1368
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1255
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    963
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1199
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    942
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    956

Будь-який селер на 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 кроків?

  1. Зареєструйте обліковий запис розробника на Amazon Developer Portal.
  2. Створіть IAM-користувача з політикою AmazonSellingPartnerAPIFullAccess.
  3. Зареєструйте SP-API додаток та отримайте LWA-клієнтські ключі.
  4. Виконайте OAuth2-авторизацію для отримання refresh token.
  5. Налаштуйте ролі IAM та збережіть credentials у захищеному сховищі (AWS Secrets Manager).

Типові помилки при самостійній інтеграції

  • Неправильна IAM-роль — додаток не отримує доступ до даних.
  • Відсутність ретраїв при лімітах квот — втрачаються замовлення.
  • Ігнорування різниці в податкових правилах регіонів (наприклад, VAT в EU).
  • Неправильний парсинг відповідей — вилітає при зміні схеми Amazon.

Ми закладаємо обробку всіх цих кейсів і даємо гарантію на код.

Як ми прискорюємо вихід на ринок?

Завдяки готовим шаблонам та бібліотекам, ми скорочуємо типову інтеграцію на 40%. Наприклад, налаштування лістингів для нового регіону займає 1 день замість 3. Це підтверджує практика: один із клієнтів з 20 000 SKU вийшов на Amazon UK за 2 тижні.

Наша команда має 5+ років досвіду в інтеграції Amazon, реалізовано понад 50 проектів. Ми оцінимо ваш проект безкоштовно — пишіть нам. Замовте пілотну інтеграцію на одному регіоні: переконайтеся в якості та окупності. У вартість входить повний цикл: від аналізу до підтримки.

Ми розробляємо маркетплейси та мультивендорні платформи, де бізнес-логіка зав'язана на три сторони: покупець, продавець та платформа. Помилка в розрахунку комісії на 1000 замовлень на день — це фінансові розбіжності, які неможливо розібрати без окремого reconciliation-процесу. Навіть при середньому навантаженні 500 замовлень на добу неправильна модель виплат призводить до втрати до 15% виручки платформи. Ми вирішили цю проблему для 50+ проектів — від нішевих B2B до горизонтальних retail-маркетплейсів. Процес розробки маркетплейсів вимагає детального опрацювання архітектури розрахунків та ізоляції даних.

Як побудувати надійну мультивендорну платформу?

Як уникнути розбіжностей у розрахунках комісій

Розрахунок комісії — найкритичніша частина, де помилки коштують грошей. Правило перше: ніколи не зберігати комісію як похідну, завжди як факт. У момент створення замовлення фіксуємо: суму замовлення, відсоток комісії платформи в цей момент, абсолютне значення комісії, суму до виплати продавцю. Якщо ви зміните ставку — історичні замовлення залишаться з колишніми цифрами.

Моделі комісій (використовуємо одну з або комбінуємо):

Модель Принцип Типовий сценарій
Фіксований відсоток 5% з кожного продажу Прості торгові майданчики
Диференційований за категоріями Електроніка 3%, одяг 8% Маркетплейси з різними маржами
Tiered за оборотом До 100k — 10%, від 100k — 7% B2B-платформи з об'ємними знижками
Змішаний % + фіксована сума за транзакцію Високоризикові або дорогі товари

Ми використовуємо Stripe Connect як базовий стандарт. Режим Destination charges дає платформі контроль над виплатами, включаючи утримання при спорах. Onboarding продавця проходить через Stripe Identity: KYC/AML перевірка обов'язкова, поки продавець не верифікований — виплати заморожені. Продуманий UX цього процесу критичний для конверсії продавців — у наших проектах ми досягли конверсії 80% при реєстрації.

Escrow та холдування — приклад реалізації

Гроші з покупця списуються одразу, продавцю переказуються із затримкою 7–14 днів після підтвердження отримання. Це захист від шахрайства та можливість утримання при спорах. Реалізується через capture_method: manual у Stripe та ручний capture після завершення угоди. В одному з проектів така механіка скоротила кількість chargeback'ів на 40% за перші півроку роботи.

Чому архітектура мультиарендності критична для ізоляції даних

Перший крок — вибір архітектури мультиарендності. У shared-schema режимі всі продавці в одних таблицях з vendor_id. Ми обов'язково впроваджуємо Row Level Security на рівні PostgreSQL та глобальні scopes в ORM (Laravel, Rails, Django). Це гарантує, що продавець не побачить чужих замовлень навіть при помилці розробника. Для enterprise-проектів з жорсткими вимогами GDPR використовуємо окремі схеми PostgreSQL — ізоляція строгіша, але cross-vendor аналітика складніша.

Як реалізувати складські залишки без race condition

Два покупці одночасно додають останній товар у кошик. Хто його купить? Застосовуємо optimistic locking при створенні замовлення:

UPDATE inventory 
SET reserved = reserved + 1 
WHERE product_id = ? AND (quantity - reserved) >= 1

Атомарна операція — другий запит поверне 0 зачеплених рядків та отримає помилку «товар закінчився». Типова схема для високонавантажених маркетплейсів.

Який підхід до каталогу товарів обрати: unified чи per-vendor?

Порівняння підходів до каталогу товарів:

Аспект Unified-каталог (Amazon-like) Per-vendor-каталог (Avito-like)
Єдина картка товару Так, product → offers Ні, кожен продавець свою
SEO Оптимізується за карткою Дублікати, але швидший запуск
UX покупця Вищий (порівняння цін) Нижчий (багато дублів)
Складність розробки Висока (модерація атрибутів) Середня
Конверсія покупки На 25% вища Нижча

Для нішевого B2B маркетплейсу ми частіше обираємо per-vendor — швидше запускається. Для горизонтального retail з сотнями продавців — unified-каталог дає кращий UX.

Пайплайн модерації: автоматика та ручна верифікація

Маркетплейс несе відповідальність за контент продавців. Типові проблеми: підроблені товари, заборонені категорії, маніпуляція цінами, фейкові відгуки. Вибудовуємо трирівневий пайплайн:

  1. Автоматичні перевірки при публікації: обов'язкові поля, відповідність категорії, стоп-лист слів, дублікати через хеш зображення.
  2. AI-класифікація (Amazon Rekognition або Vertex AI Vision) — детекція забороненого контенту та визначення категорії.
  3. Черга ручної перевірки для flagged товарів.

Статусна машина: draft → pending_review → active / rejected → suspended. Кожен перехід — подія з причиною та модератором. Продавець отримує сповіщення з конкретною причиною відмови, а не «порушення правил». Верифікація відгуків обов'язкова — тільки після підтвердженого замовлення. Автоматичний детектор флагує різке зростання відгуків від акаунтів з нульовою історією.

Пошук та рекомендації

Пошук по маркетплейсу з різними продавцями та сотнями тисяч товарів — це Elasticsearch або OpenSearch, не SQL LIKE. Векторний пошук для семантики, фасетна фільтрація через агрегації. Персоналізована стрічка на основі колаборативної фільтрації. A/B тестування алгоритмів ранжування обов'язкове — інтуїція тут поганий порадник.

Процес роботи

Маркетплейс — ітеративна розробка. MVP: реєстрація продавців, каталог товарів, кошик та checkout через Stripe Connect, базова модерація. Після запуску — дані про реальне використання визначають пріоритети наступних ітерацій.

Типовий порядок:

  • MVP (3–4 місяці)
  • Аналітика та зворотний зв'язок
  • Перший розширений реліз (2–3 місяці)
  • Масштабування та оптимізація

Терміни та вартість

  • MVP маркетплейсу (каталог, checkout, базові профілі продавців): 3–5 місяців.
  • Повнофункціональний маркетплейс з модерацією, розширеною аналітикою, мобільним додатком: 8–18 місяців.
  • Додавання маркетплейс-функціональності до існуючого e-commerce: 2–5 місяців.

Вартість розробки розраховується індивідуально після аудиту вимог. Точну оцінку надамо на безкоштовному передпроектному обстеженні.

Що входить в роботу

  • Проектна документація: архітектура, схеми даних, API-специфікації (OpenAPI).
  • Доступи до репозиторію, CI/CD, документації з розгортання.
  • Навчання команди замовника роботі з платформою.
  • Технічна підтримка протягом першого місяця після запуску.

Ми гарантуємо коректність фінансових розрахунків та конфіденційність даних. Архітектурні принципи, на яких ми ґрунтуємося, підтверджені досвідом 10+ років та 50+ успішних проектів. Зв'яжіться з нами для попередньої оцінки вашого маркетплейсу — отримайте консультацію з архітектури та розрахунку виплат. Замовте аудит поточної платформи — виявимо вузькі місця та запропонуємо оптимізацію.