Skip to content

v1.0.0-alpha.44 — Automations: read-only REST API + signed webhook

Choose a tag to compare

@mredodos mredodos released this 16 Jun 16:25
· 66 commits to main since this release
194ab9d

Automations: read-only REST API + signed outbound webhook

External systems (Zapier / Make / n8n / a CRM / a helpdesk) can now read withdrawal requests and be notified the instant one is confirmed — PII-first: the raw consumer IP is never exposed (only a row_hash for integrity verification).

Read-only REST API (wwu-wb/v1)

Authenticated with a WordPress Application Password + the plugin admin capability, rate-limited, all GET:

  • GET /requests — paginated confirmed requests (lean rows, no email/IP). Filters: platform, status, after/before.
  • GET /requests/{request_uid} — one request (+ consumer_email, partial products, evidence row_hash).
  • GET /orders/{platform}/{order_ref}/withdrawal — per-order withdrawal status.

There is no endpoint to create a withdrawal by design — it is the consumer's own legal declaration.

Outbound webhook

Opt-in under Settings → Integrations: an async, HMAC-SHA256-signed POST on a confirmed withdrawal (X-WWU-WB-Signature / -Event / -Delivery), the endpoint URL validated through the SSRF guard at save time and send time. Filter wwu_wb_webhook_payload, action wwu_wb_webhook_delivered.

Quality

  • Dedicated security audit on the PII surface → SHIP (0 critical / high / medium).
  • New REST API reference + hooks reference (now 33 hooks). PHPStan L2 + class-scan clean. 6 locales at 100% (IT/EN/DE/FR/ES/SV).

Also merged in this cycle: a professional Crowdin localization pipeline (development infrastructure) for native translation review.


Install: download wwu-withdrawal-button.zip below → WordPress → Plugins → Add New → Upload Plugin → Activate.

Applies to distance contracts concluded on/after 19 June 2026. A technical aid to compliance — not legal advice.

Full changelog: docs/changelog/wwu-wb-CHANGELOG.md