Skip to main content

Sync Server gRPC Dispatch Flow

This guide outlines how orders move from stateset-api to stateset-sync-server using the gRPC interface.

High-Level Flow

  1. An order is created in stateset-api.
  2. The outbox worker claims the event and builds a gRPC request.
  3. The Sync Server validates tenant + API key.
  4. The Sync Server orchestrates downstream integrations.
  5. The outbox row is marked delivered or retried.

Key Interfaces

  • stateset.sync.v1.OrderIntegrationService/SubmitOrder
  • gRPC metadata header: x-stateset-api-key
  • Default port: 50051

Reliability Model

  • Use outbox-driven dispatch for at-least-once delivery
  • Retry transient errors (UNAVAILABLE, DEADLINE_EXCEEDED)
  • Avoid retries on permanent validation errors