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
- Vývoj softvéru na mieruTypeScript služby a integrácie na mieru, dodané do vášho repozitára a zdokumentované na odovzdanie.
- System design a architektúraRozhodnutia, ktoré sa neskôr menia draho: hranice služieb, tok dát, voľba platformy a spôsoby zlyhania, ktoré nikto nezarátal do ceny.
- Magento 2 / Mage-OS / Adobe CommerceEnterprise e-commerce pre komplexné katalógy, B2B a multi-store, na Mage-OS aj Adobe Commerce.