Skip to content

15. Connectors ​

Status: draft, matches packages/connectors/src/contract.ts.

15.1 Contract ​

A connector implements execute(request, idempotencyKey) and returns SUCCEEDED with an external reference, or FAILED with a reason. A connector MUST NOT make an authorization decision and MUST NOT be invoked outside the execution boundary (section 9).

15.2 Requirements ​

  • Every outbound call MUST carry the idempotency key.
  • Money MUST come from the authorized request amount. A parameter that repeats the amount MUST agree with it, or the call is refused before any network call.
  • A 2xx response without an external reference is a failure (RESPONSE_MISSING_REFERENCE).
  • A 429 or 5xx response is a transient failure (UPSTREAM_TRANSIENT).
  • Any other 4xx response is a permanent failure (UPSTREAM_<status>).
  • A connector MUST refuse an operation it was not built for (OPERATION_MISMATCH).

15.3 Adapters ​

Reference adapters exist for payments, refunds, vendor payouts, ERP (fixed document types), CRM (restricted field values) and generic HTTP (HTTPS only, allowlisted hosts, POST, PUT and PATCH).

15.4 Status ​

Adapter endpoints are placeholders. No live integration has been verified. See the implementation matrix, row K-02 and G-09.

Released under the Apache License 2.0.