Draft to co-define with DSI (Canales Digitales). Fire proposes this contract based on its
architecture; the exact routes and schema are settled with DSI. It ships alongside the dry-run
that already produces this same payload:
GET /api/v1/admin/paybridge/dsi-config-sync/preview.Authentication is the same one used by the notifications (webhooks) — not repeated here.storeId,
the terminalId, amount, and reference).
Attributes use XMART’s names (accountId, vendorId, store, storeId, terminals,
terminalId).
Principles
- Two planes, separate. Configuration (this contract, async by events) vs transaction (the payment request doesn’t change).
- Two levels, as DSI already models it. Config at the organization level (per account) and the store level (per store / terminal — what DSI calls “application”), like the Pluxee/Amipass guides.
- Idempotent and versioned. Each scope carries a monotonic
version; re-sending the sameversiondoesn’t duplicate. active, never delete. When something is turned off,active: falseis sent.- Channels don’t travel. POS/Kiosk/Web/App are Fire-internal routing.
- Shared identifiers. The synced
storeId/terminalIdis the same one that later arrives in the payment request.
Proposed endpoints
{accountId} = the account UUID in Fire. {storeId} = the store UUID in Fire.
Organization level
providers[].config is free per provider: Fire sends the keys the admin loaded at the brand
level. DSI defines which keys each provider expects (already in its guides).
Store level
Semantics
Expected responses
Mapping from Fire’s tables
Fire’s UI (the availability matrix + the per-level field editor) is what populates these rows.
The admin never writes the payload by hand.
Related
Configuration by level
Where the fields that feed this sync are loaded.
Supported methods by country
The methods PayBridge covers in each country.

