E-commerceZamówieniaComarch Optima

Jak przesyłać zamówienia ze sklepu do Optimy automatycznie

Robert Mońka ·

Ręczne przepisywanie zamówień ze sklepu internetowego do Comarch Optimy to najczęstszy powód, dla którego firmy szukają integracji. Przy 5 zamówieniach dziennie to 15 minut pracy. Przy 50 — pełny etat. Przy 200 — fizyczna niemożliwość. Optima API od WebArm automatyzuje ten proces: zamówienie złożone w sklepie trafia do Optimy automatycznie, bez ręcznej pracy. Ten artykuł skupia się na zamówieniach — pełny przewodnik po integracji (produkty, stany, kontrahenci) znajdziesz w artykule jak zintegrować sklep z Comarch Optima.

Automatyczna linia przetwarzania zamówień — od koszyka do dokumentu

Jak wygląda ręczny proces

Każde zamówienie ze sklepu wymaga kilku kroków w Optimie:

  1. Sprawdź dane klienta — czy istnieje w bazie kontrahentów
  2. Jeśli nie — utwórz nowego kontrahenta z pełnymi danymi
  3. Utwórz dokument ZK (Zamówienie Klienta)
  4. Dodaj pozycje — towar, ilość, cena, rabat
  5. Zapisz i zatwierdź

Przy jednym zamówieniu to 3–5 minut. Przy pięćdziesięciu — cały dzień jednej osoby, z ryzykiem literówek, pomyłek w cenach i pominięcia pozycji.

Automatyzacja przez Optima API

Optima API — REST API do Comarch ERP Optima stworzone przez WebArm — pozwala przesłać zamówienie jednym żądaniem HTTP. Cały proces: kontrahent + dokument + pozycje.

Krok 1: Utwórz lub zaktualizuj kontrahenta

PUT /api/kontrahenci/KLIENT-WEB-0042
X-Api-Key: twoj-klucz
X-Optima-Firma: FIRMA-DB
Content-Type: application/json
{
  "kod": "KLIENT-WEB-0042",
  "nazwa1": "Anna Nowak",
  "email": "[email protected]",
  "telefon": "+48500600700",
  "nip": "9876543210",
  "adres": {
    "ulica": "Lipowa 12/3",
    "miasto": "Kraków",
    "kodPocztowy": "30-001"
  }
}

PUT tworzy kontrahenta, jeśli nie istnieje, lub aktualizuje dane, jeśli istnieje. Idempotentne — możesz wysłać wielokrotnie bez ryzyka duplikatów.

Krok 2: Utwórz zamówienie klienta (ZK)

POST /api/dokumenty/zamowienia-klientow
X-Api-Key: twoj-klucz
X-Optima-Firma: FIRMA-DB
Content-Type: application/json
{
  "kontrahentKod": "KLIENT-WEB-0042",
  "pozycje": [
    {
      "towarKod": "KOSZULKA-BIO-L",
      "ilosc": 2,
      "cenaNetto": 79.00,
      "rabat": 0
    },
    {
      "towarKod": "BLUZA-ZIP-XL",
      "ilosc": 1,
      "cenaNetto": 189.00,
      "rabat": 15
    }
  ],
  "uwagi": "Zamówienie #2847 z WooCommerce",
  "metodaPlatnosci": "przelew",
  "terminPlatnosci": 14
}

Odpowiedź:

{
  "id": 2847,
  "numerPelny": "ZK/127/2026",
  "kontrahent": "Anna Nowak",
  "razemNetto": 307.65,
  "razemBrutto": 378.41,
  "status": "bufor"
}

Optima tworzy dokument ZK z pełną walidacją:

  • Sprawdza, czy kontrahent istnieje
  • Weryfikuje kody towarów
  • Przelicza ceny z uwzględnieniem rabatów i stawek VAT
  • Generuje numer dokumentu wg schematu numeracji
  • Umieszcza dokument w buforze (do zatwierdzenia przez magazyniera)

Automatyzacja z VerSync

Jeśli nie chcesz pisać kodu integracyjnego — VerSync automatyzuje cały przepływ:

pipeline:
  name: zamowienia-woocommerce
  source:
    type: woocommerce
    url: https://twoj-sklep.pl
    auth: wc_api_key
  target:
    type: optima-api
    endpoint: /api/dokumenty/zamowienia-klientow
  mode: watch
  poll_interval: 30s
  mapping:
    kontrahent:
      - from: billing.email
        to: email
      - from: billing.first_name + billing.last_name
        to: nazwa1
      - from: billing.phone
        to: telefon
    pozycje:
      - from: sku
        to: towarKod
      - from: quantity
        to: ilosc
      - from: price
        to: cenaNetto

VerSync odpytuje sklep w konfigurowalnych interwałach (domyślnie co 30 sekund), wykrywa nowe zamówienia i automatycznie tworzy dokumenty ZK w Optimie.

Obsługa scenariuszy brzegowych

Klient już istnieje w Optimie

PUT na endpoint kontrahenta jest idempotentny. Jeśli kontrahent z danym kodem istnieje — dane są aktualizowane. Jeśli nie — tworzony jest nowy. Nie trzeba sprawdzać istnienia osobnym żądaniem.

Towar nie istnieje w Optimie

API zwraca błąd 400 z informacją, który kod towaru jest nieprawidłowy. VerSync loguje błąd i może wysłać alert. Zamówienie nie zostanie utworzone z niepełnymi danymi.

Duplikaty zamówień

Pole uwagi lub dedykowane pole referencjaZewnetrzna pozwala oznaczyć zamówienie numerem ze sklepu. Przed utworzeniem możesz sprawdzić, czy zamówienie o tej referencji już istnieje.

Zamówienie z wieloma adresami (faktura + dostawa)

{
  "kontrahentKod": "KLIENT-WEB-0042",
  "adresDostawy": {
    "nazwa": "Anna Nowak",
    "ulica": "Długa 5",
    "miasto": "Gdańsk",
    "kodPocztowy": "80-001"
  },
  "pozycje": [...]
}

Pipeline przetwarzania — zamówienie, magazyn, faktura

Przepływ od zamówienia do faktury

Pełen cykl dokumentu w Optimie po automatycznym utworzeniu ZK:

Sklep (zamówienie)
  → Optima API (tworzy ZK w buforze)
    → Magazynier (zatwierdza ZK → wydaje WZ)
      → Księgowość (generuje FA z ZK)

Optima API tworzy punkt wejścia — dalszy workflow w Optimie przebiega standardowo, tak jak przy ręcznym wprowadzaniu.

Wolumen i wydajność

ScenariuszZamówienia/dzieńMetoda
Mały sklep5–20Polling co 30s + pojedyncze żądania
Średni sklep20–200Polling co 30s + batch
Duży sklep200+Polling + kolejka + batch

Optima API obsługuje żądania sekwencyjnie (ograniczenie COM objects), ale przy typowym wolumenie e-commerce — wydajność jest wystarczająca. Dla dużych wolumenów — batch processing w VerSync.

Podsumowanie

Automatyczne przekazywanie zamówień ze sklepu do Comarch Optima eliminuje ręczną pracę, błędy i opóźnienia. Optima API od WebArm przyjmuje zamówienie jednym żądaniem HTTP — z walidacją, numeracją i pełną zgodnością z regułami biznesowymi Optimy.

VerSync automatyzuje cały przepływ bez pisania kodu. Polling ze sklepu → pipeline → dokument ZK w Optimie. Analogiczny mechanizm synchronizuje stany magazynowe w drugą stronę — z Optimy do sklepu.


Chcesz zautomatyzować przepływ zamówień? Sprawdź odpowiedzi na najczęstsze pytania lub skontaktuj się z nami.


RM

Robert Mońka

Założyciel WebArm. 28 lat w IT, właściciel firmy produkcyjno-handlowej. Buduje narzędzia integracyjne do Comarch ERP Optima i używa ich we własnych firmach.

LinkedIn →

Masz pytania o integrację z Comarch Optima?