Preskočiť na obsah
Zapolu

Integrácie (ERP, PIM, WMS, platby)

Prepojíme e-shop so systémami, ktoré riadia chod firmy, a to tak, aby integrácia ustála aj výpadky API tretích strán.

E-shop je len jeden systém. Prevádzka firmy beží na ďalších piatich: ERP na sklady a účtovníctvo, PIM na produktové dáta, WMS na expedíciu, platobné brány na platby a CRM na marketing. A práve v integračnej vrstve vzniká väčšina produkčných incidentov.

Systémy, na ktoré sa napájame

  • ERP: SAP Business One, Microsoft Dynamics 365 Business Central, Pohoda, Money S5, Odoo, NetSuite
  • PIM: Akeneo, Pimcore, Plytix, prípadne interné tabuľky používané namiesto PIM
  • WMS / 3PL / expedícia: Zásielkovňa, Packeta, GLS, DPD, FedEx, vlastné skladové systémy
  • Platby: Stripe, GoPay, ComGate, PayU, Adyen, Mollie, vrátane vrstiev pre fraud detection a recurring billing
  • CRM / marketing: HubSpot, Klaviyo, Mailchimp, Salesforce
  • Analytika a dáta: BigQuery, Snowflake, Segment, GA4

Ako ich staviame

  • Idempotentne. Reálne systémy webhooky opakujú, takže každý môže prísť aj dvakrát bez následkov.
  • Pozorovateľne. Každé volanie medzi systémami má v logu correlation ID; keď objednávka nedorazí do WMS, do minúty vieme povedať, v ktorom kroku sa spracovanie zastavilo.
  • Odolne voči výpadkom tretích strán: dead-letter queues, exponenciálny backoff a nástroje na manuálny replay.
  • S verzovanými kontraktmi. API kontrakt žije v repe, takže zmenu schémy od dodávateľa zachytí už deploy, nie až produkcia.
  • S testami: kontraktové testy proti nahraným odpovediam a smoke testy proti sandboxu pri každom deployi.

Ako tieto pravidlá vznikli

Nič z toho nie je teória. Každé pravidlo vychádza z konkrétneho incidentu na e-shope, na ktorom sme pracovali:

  • Synchronizácia stavov sa na týždne zasekla bez jediného chybového hlásenia: ERP stále dokola posielalo 300 000 stavov k objednávkam, ktoré v e-shope nikdy neexistovali, čím vyčerpalo error budget importného nástroja, a ten bez chybového hlásenia ukončil každý beh skôr, než prišli skutočné dáta. Odvtedy platí: error budgety sa monitorujú, nielen nastavujú.
  • Čerstvo nasadená synchronizácia objednávok prepísala polia, ktoré patrili konektoru na marketplace, a celodenná expedícia sa na marketplaces nikdy nedostala. Odvtedy má každý synchronizovaný stĺpec presne jedného deklarovaného vlastníka a sync sa cudzích riadkov odmieta dotknúť.
  • Stored procedure v ERP vyvolávala SQL výnimky a pritom vracala „úspech“. Zachytili sme to prehratím 1 300 reálnych objednávok cez integráciu ešte pred spustením; dnes je to štandardný test pred spustením pre všetky toky, na ktorých stoja objednávky.
  • Chybný feed sa raz pokúsil jedným behom zmazať desaťtisíce produktov. Limity na mazanie s circuit breakerom sú odvtedy súčasťou každej katalógovej synchronizácie, ktorú staviame.
  • Platby sa prestali párovať s objednávkami, pretože firewall hostingu obmedzoval webhooky platobnej brány rate limitom. Oprava bola whitelist; nájsť ju znamenalo prečítať HTTP logy, do ktorých sa dovtedy nikto nepozrel.

B2B e-commerce

B2B nie je DTC s dlhšími SKU. Kupujúci sú zamestnanci firiem, ceny závisia od zmlúv a objednávky prechádzajú schvaľovaním. Aj túto vrstvu staviame: firemné účty s rolami a hierarchiami, katalógy a kontraktové ceny pre konkrétnych zákazníkov, workflow quote-to-order, platobné podmienky (net 30/60/90, kreditné limity, fakturačná integrácia s ERP) a napojenie na nákupné systémy, teda punchout (OCI, cXML, Ariba) a EDI pre zákazníkov, ktorí stále posielajú správy typu 850.

Ako zákazka zvyčajne začína

Rozsah integračnej práce odvodzujeme od zlyhania, ktoré už vidíte: objednávka, ktorá nikdy nedorazila do WMS, stav zásob, ktorý sa každú noc rozchádza so skutočnosťou, CSV, ktoré niekto každé ráno ručne prepisuje. Tento tok zmapujeme od začiatku do konca, rozsah a fixnú cenu dáme písomne a postavíme náhradu tak, aby sa ďalšie zlyhanie okamžite ukázalo v monitoringu, nie až o niekoľko dní. Priebežná prevádzka vrátane monitoringu môže zostať u nás na mesačnom paušáli.

Súvisiace služby