Merch firmowy w innych krajach:AMArmeniaGEGeorgiaTRTürkiyeRSSerbiaAEUAECYCyprusITItalyPTPortugalESSpain

SDK Go dla Polska

github.com/corp-merch/sdk-go — klient context-aware, paginatory generics, typowane błędy dla Polska.

Architektura — Instalacja i init dla Polska

go get github.com/corp-merch/sdk-go. Init: cm := corpmerch.New(os.Getenv("CM_KEY"), corpmerch.WithCountry("Polska")). Opcja country aplikuje VAT 23% i kieruje faktury przez KSeF (hub Warszawa). Go 1.22+; zero zewnętrznych zależności w core (net/http i encoding/json). Drop-in dla dowolnego routera chi/gin/echo.

Jak to zintegrować — Quickstart z context

ctx, cancel := context.WithTimeout(ctx, 10*time.Second); defer cancel(). order, err := cm.Orders.Create(ctx, &corpmerch.OrderCreateParams{IdempotencyKey: uuid.NewString(), Buyer: &corpmerch.Buyer{VatID: "EU…"}, Lines: []corpmerch.Line{{SKU: "TSH-001", Qty: 200}}}). Paginacja na generikach: iter := cm.Catalog.List(ctx, params); for iter.Next() { item := iter.Current() }.

Eksploatacja i przypadki brzegowe — Typowane błędy i podpis webhooka

Błędy implementują errors.Is i errors.As. Sprawdzaj: if errors.Is(err, corpmerch.ErrRateLimit) { … }. Weryfikacja webhooka: event, err := cm.Webhooks.ConstructEvent(body, signature, secret) z porównaniem o stałym czasie przez subtle.ConstantTimeCompare. ID potwierdzeń Krajowy System e-Faktur (KSeF) dostępne jako event.Invoice.AcknowledgementID.

FAQ

Wersje Go?

1.22 i 1.23 w CI; 1.21 może działać, ale nie gwarantowane.

Zależności?

Core ma zero zewnętrznych zależności. Opcjonalne moduły (otel) ciągną pakiety OpenTelemetry.

Generics?

Tak — paginatory generyczne Iterator[T] z typowanymi elementami. Znaczna poprawa DX vs reflection.

Podpis webhooka?

cm.Webhooks.ConstructEvent(body, sig, secret) — porównanie w stałym czasie przez subtle.ConstantTimeCompare.

VAT 23% i KSeF?

Po stronie serwera przez WithCountry('Polska'). ID potwierdzeń KSeF na typach zdarzeń faktury.

Porozmawiaj ze specjalistą