FlowieExchange
Fixtures

Webhook payload fixtures

Drop these into your handler tests. Every fixture is a real payload Flowie has actually sent — schema-stable across patch releases. The shape mirrors the events API and matches what the webhook envelope documents.

Use them in tests, not in production handlers
The id values are deterministic — re-using them as real event IDs in your dedupe table will mask actual duplicates. Generate fresh IDs in tests if needed.

document.received

Fired when an incoming Peppol document is persisted. Delivered before any user-visible side-effect runs.

document.received.json document.received
Download
Preview
Loading…

document.sent

Fired when an outgoing document has been handed off to the recipient access point. Delivery is not yet confirmed.

document.sent.json document.sent
Download
Preview
Loading…

document.delivered

Fired when the recipient access point confirms final delivery. Final state for outgoing documents.

document.delivered.json document.delivered
Download
Preview
Loading…

document.failed

Fired when delivery permanently fails (recipient rejected, schema error, all retries exhausted). willRetry is always false at this point.

document.failed.json document.failed
Download
Preview
Loading…

document.updated

Fired when document metadata changes (tags, assignee, archive state). The changes array describes the field-level diff.

document.updated.json document.updated
Download
Preview
Loading…

lifecycle.updated · approved

lifecycle.updated.approved.json lifecycle.updated
Download
Preview
Loading…

lifecycle.updated · paid

Note the compliance.willReportTo field — your stack should not also report to PPF (FR) or SDI (IT), Flowie does it. Belgian invoices have willReportTo: [] (HERMES decommissioned 2025-12-31; Peppol delivery is the compliance event).

lifecycle.updated.paid.json lifecycle.updated
Download
Preview
Loading…

lifecycle.updated · rejected

reasonCode follows Peppol BIS rejection codes (QUA, PRI, TAX, …).

lifecycle.updated.rejected.json lifecycle.updated
Download
Preview
Loading…

company.smp_registered

company.smp_registered.json company.smp_registered
Download
Preview
Loading…

compliance.reported

compliance.reported.json compliance.reported
Download
Preview
Loading…

compliance.reported.failed

The remediationDocUrl deep-links to the country-specific error code in the compliance pages.

compliance.reported.failed.json compliance.reported.failed
Download
Preview
Loading…

Download all fixtures as a bundle

Available on GitHub for vendoring into your test repo:

curl -sL https://github.com/flowie-fr/exchange-api-docs/archive/main.tar.gz \
  | tar -xz --strip=2 exchange-api-docs-main/docs/fixtures \
  -C ./tests/fixtures

Or via npm/PyPI helper packages (work in progress; subscribe to the changelog).