1. Webhooks (sent by Fodimi)
Fodimi
  • Clients
    • Get list
      GET
    • Create client
      GET
    • Get client orders list
      GET
    • Get client history
      GET
    • Update client details
      PUT
    • Create client
      GET
    • Create client
      POST
  • Orders
    • Get Order Details
      GET
    • Get orders list
      GET
    • Change order status
      PUT
    • Create an order
      POST
    • Quote an order
      POST
  • Menu
    • Get menu
      GET
    • Update Product visibility
      PUT
    • Bulk update menu translations
      PATCH
    • Update product translations
      PATCH
    • Update category translations
      PATCH
    • Update addon group translations
      PATCH
    • Update addon translations
      PATCH
    • Update variant group translations
      PATCH
    • Update variant translations
      PATCH
  • Webhooks
    • Order status changed
    • Order closed
    • Order canceled
    • Client created
    • Client details changed
    • Client points changed
    • Delivery status changed
  • Webhooks (sent by Fodimi)
    • Order status changed
      POST
    • Order closed
      POST
    • Order canceled
      POST
    • Client created
      POST
    • Client details changed
      POST
    • Client points changed
      POST
    • Delivery status changed
      POST
  • Account
    • Who am I
  • Schemas
    • Clients
      • Client list response
      • Client details response
      • Client history logs
    • Orders
      • Order list response
      • Order response
      • Order detailed response
      • Order product response
    • Menu translations section result
    • Menu translations not found
    • Validation error
  1. Webhooks (sent by Fodimi)

Delivery status changed

POST
/delivery.status_changed
This is not an endpoint of the Fodimi API. Fodimi sends this request to the URL you configure
in the panel under Integracje → Webhooki. Every delivery, with its payload and your response,
is listed in Logi wysyłek.
Delivery progress for external couriers (Stuart, Wolt Drive, Stava, Diament Delivery) and your own drivers, normalized to one vocabulary. Statuses only move forward; nothing is sent after a final one.

Payload rule: deliveries carry identifiers and the change only — no items, no amounts, no personal data.
Fetch what you need with GET /orders/{uid} or GET /clients/{uid}.
Headers on every delivery
HeaderMeaning
X-Fodimi-Eventevent name
X-Fodimi-Deliverydelivery id, identical across retries — use it to skip duplicates
X-Fodimi-Timestampunix time used in the signature
X-Fodimi-Signaturet=<timestamp>,v1=<hex>, where v1 = HMAC_SHA256(secret, t + "." + rawBody)
Verifying the signature (PHP)
Rules
Answer with any 2xx as fast as you can and do the work asynchronously — the timeout is 10 s.
Failed deliveries are retried after 10 s, 1 min and 5 min. 20 failures in a row disable the webhook.
Redirects are not followed and the URL must be public HTTPS.
Test deliveries sent from the panel use sample ids starting with 00000000-0000-4000-.

Request

Body Params application/jsonRequired

Examples

Responses

🟢200OK
Return any 2xx to acknowledge. Anything else is retried after 10 s, 1 min and 5 min; after 20 failed deliveries in a row the webhook is disabled in the panel.
This response does not have a body.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://fodimi.pl/api_public/delivery.status_changed' \
--header 'Content-Type: application/json' \
--data '{
    "event": "delivery.status_changed",
    "id": "94ed75f8-7286-43e8-b30b-5a65d9e16d9a",
    "created_at": "2026-09-12T09:15:45+02:00",
    "company_uid": "1623978b-9ac9-400a-b6a0-2b7b8f97bb64",
    "data": {
        "order": {
            "uid": "3f1b1f0c-2c2e-4c42-9f1a-6b5a4d2e8a11",
            "number": "#1024",
            "restaurant_uid": "b06a191d-8e22-4707-8c1e-9b5119cf4461"
        },
        "occurred_at": "2026-09-12T09:15:45+02:00",
        "delivery": {
            "provider": "stuart",
            "uid": "b9d1c0f2-1a2b-4c3d-9e8f-7a6b5c4d3e2f",
            "external_id": "STU-88213",
            "provider_status": "PACKAGE_DELIVERING",
            "tracking_url": "https://tracking.stuart.com/STU-88213",
            "courier_phone": "+48500100200",
            "status": "PICKED_UP",
            "previous_status": "ASSIGNED"
        }
    }
}'
Modified at 2026-09-12 12:08:47
Previous
Client points changed
Next
Who am I
Built with