projekti/Backend · Integracija

WooCommerce × Pantheon

Dvosmjerni middleware servis koji povezuje WooCommerce trgovinu s Pantheon ERP-om - narudžbe, statusi, zalihe, cijene i proizvodi sinkroniziraju se u oba smjera, a svaka prodaja ide do fiskaliziranog računa poslanog e-mailom.

Uloga

Backend arhitektura + izrada integracije

Tehnologije

NestJS · BullMQ · WooCommerce REST

Godina

2026

arhitektura · dvosmjerna sinkronizacija
IzvorWooCommerce
webhook narudžbe
Proces 01Receiver
200 · enqueue
BrokerRedis Queue
posao
Proces 02Worker
stored procs
ERPPantheon
└▶
ERPPantheon
status + JIR
Proces 02Worker
REST API
KanalWooCommerce
PDF · SMTP
PrimateljKupac
2-wayNarudžbe, status i katalog - u oba smjera
0Ručnih prepisivanja između sustava
0%Prodaja do fiskaliziranog računa
Izazov

Što je trebao raditi.

Klijent je prodavao kroz WooCommerce, ali je poslovanje vodio u Pantheon ERP-u. Narudžbe su se prepisivale ručno, statusi narudžbi razilazili su se između trgovine i ERP-a, a hrvatska fiskalizacija odvijala se - ako uopće - kao zaseban ručni korak.

Željeli su da se dva sustava ponašaju kao jedan: prodaja u WooCommerceu treba se odmah pojaviti u Pantheonu, promjene statusa trebaju se zrcaliti u oba smjera, a kupac treba dobiti ispravan fiskalizirani račun - sve bez ičijeg dodira.

Naš pristup

Kako smo to izgradili.

Izgradili smo dvosmjerni sync servis na istim temeljima kao naš jednosmjerni Pantheon middleware - ali dvosmjeran. WooCommerce webhookovi guraju događaje unutra; worker sigurno upisuje u Pantheon i gura promjene iz ERP-a natrag putem WooCommerce REST API-ja.

  • Narudžbe unutra - nova WooCommerce narudžba hvata se webhookom i upisuje u Pantheon kroz pohranjene procedure, uz prethodno osiguranje kupca i numeriranje dokumenata u vlasništvu ERP-a.
  • Status u oba smjera - promjene statusa narudžbe zrcale se u oba smjera: trgovina → ERP (plaćeno, otkazano) i ERP → trgovina (potvrđeno, u obradi, poslano, dovršeno), uz dosljedne idempotentne promjene.
  • Zalihe, cijene i proizvodi - u oba smjera - stanja zaliha, cijene i podaci o proizvodima ostaju sinkronizirani u oba smjera, pa se trgovina i ERP uvijek slažu, bez obzira započinje li promjena u WooCommerceu ili u Pantheonu.
  • Hrvatska fiskalizacija - vlastito generiranje ZKI/JIR, potpisani XML i QR kodovi putem FINA-e, uz kontrolirani prijelaz s demo na produkcijski certifikat.
  • Račun u inbox - PDF račun renderiran headless Chromiumom i poslan kupcu e-mailom putem SMTP-a u trenutku kad je prodaja fiskalizirana.
  • Otporno i idempotentno - trajan red poslova s ponovnim pokušajima i odgodom, stanje sigurno na pad, obrada dead-letter poruka i automatsko ponovno spajanje na WooCommerce i ERP.
Arhitektura

Jedan servis, dva smjera.

Događaji ulaze iz WooCommerce webhookova i izlaze kroz WooCommerce REST API. Narudžbe, statusi, zalihe, cijene i proizvodi usklađuju se u oba smjera, a isti trajni red prenosi poslove u svakom smjeru - pa nijedan sustav ne blokira drugi.

Proces 01

Webhook Receiver

Prima WooCommerce webhookove, provjerava i autentificira ih, stavlja posao u red i odmah vraća 200 OK - trgovina nikad ne čeka ERP.

Proces 02

Sync Worker

Upisuje narudžbe u Pantheon, zrcali statuse, sinkronizira zalihe i cijene, fiskalizira i šalje račun e-mailom - gurajući promjene iz ERP-a natrag u WooCommerce putem REST-a, uz ponovne pokušaje u svakom koraku.

Veze - WooCommerce REST API i Pantheon ERP - automatski se ponovno spajaju; lokalno stanje, ključevi idempotentnosti i revizijski zapis žive u PostgreSQL, uz Redis kao broker.
Što se sinkronizira

Sve što pokreće prodaju.

Nova narudžbaWooCommerce PantheonJednosmjerno
Status narudžbeWooCommerce PantheonDvosmjerno
Zalihe, cijene i proizvodiWooCommerce PantheonDvosmjerno
FiskalizacijaZKI / JIR · FINA
RačunPDF → e-mail kupcaJednosmjerno
Tehnologije

Odabrano zbog pouzdanosti.

Okruženje / jezikNode.js 20+ · TypeScript 5 (strogi)
OkvirNestJS 10
Red poslovaBullMQ + Redis
Pohrana stanjaPostgreSQL + Prisma
API trgovineWooCommerce REST + Webhooks
Pristup ERP-uMS SQL Server - izravni TDS
PDF računaHeadless Chromium (Puppeteer)
E-mailSMTP (nodemailer)
FiskalizacijaPotpisani XML · node-forge · QR kodovi
IsporukaDocker + Docker Compose
Status

Gdje se nalazi.

Cijela petlja je izgrađena i integracijski testirana protiv žive Pantheon instance i staging WooCommerce trgovine: narudžba unutra → osiguranje kupca → ERP narudžba → zrcaljenje statusa → fiskalizacija → PDF → e-mail.

Kontejnerizirano i nadzorljivo; prijelaz na produkcijski fiskalizacijski certifikat dokumentiran je kao runbook, spreman za go-live.

integracijski testirano · živi Pantheon + staging WooCommerce
  • zaprimanje narudžbe (webhook)
  • osiguranje kupca
  • ERP narudžba i račun
  • status zrcaljen u oba smjera
  • sinkronizacija zaliha, cijena i proizvoda
  • fiskalizacija (ZKI / JIR)
  • PDF račun poslan e-mailom
  • runbook prijelaz na produkcijski certifikat
Sljedeći projekt

UKCA

OTVORENI ZA NOVE PROJEKTE

Imaš sličan projekt?

Reci nam što gradiš. Javljamo se u roku od jednog radnog dana s jasnim planom, rokovima i pravom osobom za razgovor.