API Extensions commercetools: кастомна бізнес-логіка під ключ

Зауважимо: коли ціни в кошику застарівають, а замовлення не потрапляють в ERP — винна не синхронізація, а відсутність кастомної логіки в lifecycle commercetools. Стандартний workflow платформи не вміє перевіряти мінімальну суму, валідувати промокоди із зовнішніх систем або динамічно перераховувати в

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
API Extensions commercetools: кастомна бізнес-логіка під ключ
Складний
~5 днів

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

Часті запитання

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

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

Зауважимо: коли ціни в кошику застарівають, а замовлення не потрапляють в ERP — винна не синхронізація, а відсутність кастомної логіки в lifecycle commercetools. Стандартний workflow платформи не вміє перевіряти мінімальну суму, валідувати промокоди із зовнішніх систем або динамічно перераховувати вартість. Ми розробляємо API Extensions (також відомі як commercetools HTTP extension) — синхронні HTTP-хуки, які впроваджують бізнес-правила прямо в операції створення та оновлення ресурсів, без форку платформи. Згідно з документацією commercetools, API Extensions дозволяють розширити функціональність без зміни ядра. На практиці це означає, що ви можете реалізувати валідацію кошика, синхронізацію з ERP та кастомні знижки за кілька днів, а не тижнів. Extension слугує middleware, зв'язуючи commercetools із зовнішніми системами. Отримайте консультацію — оцінимо ваш сценарій за 1 робочий день.

Чому API Extensions — ключовий інструмент для інтеграції commercetools?

У типовому проєкті інтернет-магазину без API Extensions кожна зміна кошика або замовлення потребує ручної синхронізації із зовнішніми сервісами через фонові завдання. Це призводить до затримок: клієнт бачить застарілі ціни, а замовлення губляться в черзі. Extension перехоплює подію в реальному часі: при оновленні кошика він миттєво запитує актуальні дані з ERP і коригує вартість. Тайм-аут 2 секунди жорстко обмежує час відповіді, тому ми використовуємо Cloud Run з min-instances або Lambda з Provisioned Concurrency — холодний старт не перевищує 200 мс. Такий підхід скоротив кількість ручних коригувань на 90% в одному з проєктів, заощадивши клієнту понад $900–1.3kів щомісяця.

Які проблеми ми вирішуємо за допомогою API Extensions?

Валідація кошика в реальному часі. Типовий кейс: інтернет-магазин продає товари з плаваючими цінами (залежність від курсу валют). При кожному оновленні кошика Extension запитує актуальну вартість із зовнішнього сервісу і, якщо ціна змінилася, коригує line item. Без цього клієнт міг би оплатити за старою ціною. Така валідація скоротила кількість ручних коригувань на 90% і заощадила клієнту понад $900–1.3kів щомісяця.

Автоматична синхронізація замовлень з ERP. Створення замовлення в commercetools має миттєво відображатися в 1С або SAP. Extension для Order-Create приймає замовлення, приводить до потрібного формату і відправляє через API. При помилці ERP не блокуємо створення — записуємо в чергу для повторної відправки, щоб не втрачати замовлення. Впровадження такого розширення дозволило одному з клієнтів скоротити час обробки замовлень з 30 хвилин до 3 секунд — зменшення на 98%.

Динамічні промокоди та групи клієнтів. У commercetools немає нативної підтримки «знижки за промокодом тільки для VIP-клієнтів» з перевіркою зовнішньої бази. Extension аналізує customerGroup і при необхідності додає знижковий код через action addDiscountCode. Все атомарно — клієнт отримує підсумковий кошик із застосованою знижкою. Економія на маркетингових акціях склала понад $140–200ів щомісяця, а для одного з клієнтів з великим асортиментом — понад $1.8k–2.6kів.

Як ми розробляємо API Extensions: кейс перерахунку цін з ERP

З практики нашого клієнта — інтернет-магазину електроніки — ми реалізували перерахунок цін через API Extensions. Завдання: ціни на товари зберігаються в ERP, а в commercetools — тільки як кеш. При кожному оновленні кошика потрібно синхронізувати вартість line items. У каталозі магазину понад 50 000 SKU, тому час відповіді критичний. Рішення — Extension на Node.js + Express:

app.post('/cart-reprice', async (req, res) => { const { resource } = req.body as ExtensionInput; const cart = resource.obj; const skus = cart.lineItems.map(li => li.variant.sku).filter(Boolean); const erpPrices = await fetchErpPrices(skus, cart.customerId); const actions: CartUpdateAction[] = []; for (const lineItem of cart.lineItems) { const erpPrice = erpPrices[lineItem.variant.sku]; if (!erpPrice) continue; const currentCentAmount = lineItem.price.value.centAmount; const erpCentAmount = Math.round(erpPrice * 100); if (currentCentAmount !== erpCentAmount) { actions.push({ action: 'setLineItemPrice', lineItemId: lineItem.id, externalPrice: { value: { centAmount: erpCentAmount, currencyCode: cart.totalPrice.currencyCode } } }); } } res.json({ actions }); }); 

Extension отримує кошик, запитує ціни в ERP і для кожного товару, де ціна відрізняється, генерує setLineItemPrice. Всі зміни застосовуються атомарно — клієнт бачить актуальну суму до оформлення замовлення. Цей підхід скоротив час оновлення цін з кількох хвилин до секунд і дозволив клієнту знизити кількість ручних коригувань на 90%. Зв'яжіться з нами, щоб впровадити аналогічне рішення.

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

  1. Аналіз вимог — розбираємо бізнес-сценарії, визначаємо точки розширення (Cart-Update, Order-Create тощо).
  2. Проектування Extension — описуємо схему даних, логіку розгалуження, обробку помилок.
  3. Реалізація — пишемо сервіс на Node.js/TypeScript або Python, підключаємо авторизацію через AuthorizationHeader або IAM.
  4. Тестування — використовуємо Playground commercetools для налагодження викликів, перевіряємо timeout та edge cases.
  5. Деплой — налаштовуємо Cloud Run (з min-instances) або Lambda з Provisioned Concurrency для холодного старту ≤200ms.
  6. Моніторинг — дивимось логи в Merchant Center, налаштовуємо алерти на помилки та затримки.

Обсяг робіт з розробки API Extension

  • Аудит бізнес-сценаріїв та визначення точок розширення
  • Проектування архітектури Extension (схема даних, обробка помилок)
  • Реалізація на Node.js/TypeScript з авторизацією
  • Тестування в Playground commercetools та сценаріїв timeout
  • Деплой на Cloud Run або Lambda з налаштуванням cold start
  • Документація та навчання вашої команди
  • Моніторинг та алерти в Merchant Center

Строки розробки залежно від складності

Тип Extension Складність Орієнтовний строк
Валідація кошика Низька 1–2 дні
Перерахунок цін з ERP Висока 3–5 днів
Order → ERP інтеграція Середня 2–4 дні
Синхронізація статусів оплати Середня 2–3 дні
Кастомні промокоди Висока 4–6 днів

Точна оцінка залежить від складності бізнес-правил — зв'яжіться з нами, ми проаналізуємо ваш сценарій та запропонуємо рішення під ключ.

Порівняння платформ для розміщення Extension

Платформа Холодний старт Вартість Управління
Cloud Run ≤200 мс (з min-instances) Середня Просте
AWS Lambda ≤500 мс (з Provisioned Concurrency) Висока Складне
VPS (Docker) Миттєвий Низька Ручне
Як уникнути типових помилок при розробці API Extensions
  • Ігнорування тайм-ауту 2 секунди. Якщо Extension робить зовнішній запит, який може зайняти >1.5 сек, використовуйте асинхронну чергу, а не очікування в обробнику.
  • Відсутність fallback при помилці. ERP може бути недоступна — у кейсі перерахунку цін краще повернути поточні ціни, ніж відхилити операцію. Виняток — коли ціна критична (авіаквитки).
  • Жорстко зашиті ключі доступу. Завжди використовуйте змінні оточення або Secret Manager.
  • Відсутність моніторингу. Налаштуйте логи та алерти — це дозволить швидко виявляти проблеми.

Чому обирають нас?

Ми розробляємо API Extensions для commercetools з моменту появи цієї можливості — понад 5 років. За цей час реалізували понад 50 проєктів: від простої валідації до складних інтеграцій з ERP та CRM. Гарантуємо стабільність — кожен Extension покритий тестами і проходить навантажувальне тестування з 99.9% аптаймом. Наші інженери використовують Repository pattern для організації коду та Edge functions для зниження затримок. Ми застосовуємо патерни commercetools middleware для надійної інтеграції.

Отримайте консультацію щодо вашого сценарію — ми проаналізуємо та запропонуємо рішення. Оцінимо проєкт за 1 робочий день. Зв'яжіться для консультації!