Tillor
OntwikkelaarsVoorbeelden

Webhook-voorbeelden

Event payloads en webhook POST-voorbeelden

Dezelfde events als bij SSE. De payload-structuur is identiek.

Wrapper-structuur

{
  "event": "entity:action",
  "data": {},
  "timestamp": 1735689600000
}

Webhook POST-voorbeeld

Een volledige webhook POST-request ziet er zo uit:

POST /webhooks/tillor HTTP/1.1
Host: your-server.com
Content-Type: application/json

{
  "event": "invoice:paid",
  "data": {
    "invoice": {
      "id": "inv_def456uvw",
      "displayId": "2025-00123",
      "status": "BOOKED",
      "paymentStatus": "PAID",
      "amountTotal": 200.0,
      "paidDate": "2025-03-09T12:15:00.000Z",
      "customerId": "cust_abc123xyz"
    },
    "payment": {
      "id": "pay_ghi789rst",
      "amount": 200.0,
      "status": "PAID",
      "method": "BANCONTACT",
      "provider": "MOLLIE",
      "paidAt": "2025-03-09T12:15:00.000Z"
    }
  },
  "timestamp": 1735811700000
}

Event payloads

customer:created

{
  "event": "customer:created",
  "data": {
    "id": "cust_abc123xyz",
    "displayId": 1042,
    "firstName": "Jan",
    "lastName": "Jansen",
    "email": "jan.jansen@voorbeeld.nl",
    "phone": "+31612345678",
    "address": "Hoofdstraat 42",
    "city": "Amsterdam",
    "zipCode": "1012 AB",
    "country": "NL",
    "customerType": "STANDARD",
    "status": "DEFAULT",
    "createdAt": "2025-03-09T10:30:00.000Z",
    "updatedAt": "2025-03-09T10:30:00.000Z"
  },
  "timestamp": 1735806600000
}

invoice:paid

{
  "event": "invoice:paid",
  "data": {
    "invoice": {
      "id": "inv_def456uvw",
      "displayId": "2025-00123",
      "status": "BOOKED",
      "paymentStatus": "PAID",
      "amountTotal": 200.0,
      "paidDate": "2025-03-09T12:15:00.000Z",
      "customerId": "cust_abc123xyz"
    },
    "payment": {
      "id": "pay_ghi789rst",
      "amount": 200.0,
      "status": "PAID",
      "method": "BANCONTACT",
      "provider": "MOLLIE",
      "paidAt": "2025-03-09T12:15:00.000Z"
    }
  },
  "timestamp": 1735811700000
}

controller:adoption:requested

{
  "event": "controller:adoption:requested",
  "data": {
    "adoptionId": "adopt_jkl012mno",
    "efuseId": "a1b2c3d4e5f6",
    "requestedFromIp": "192.168.1.42",
    "isNew": true
  },
  "timestamp": 1735809000000
}

nfc-tag:presented

{
  "event": "nfc-tag:presented",
  "data": {
    "id": "nfc_123abc456",
    "uid": "04A1B2C3D4E5F6",
    "type": "CARD",
    "balance": 25.5,
    "blockedAt": null,
    "customerId": "cust_abc123xyz"
  },
  "timestamp": 1735807500000
}

Enums

EntityEnumWaarden
CustomercustomerTypeSTANDARD, WORKER_RENTAL_CARAVAN, WORKER_TOWING_CARAVAN
InvoicestatusDRAFT, BOOKED, REVERSED
InvoicepaymentStatusUNPAID, PAID, PARTIALLY_PAID, OVERPAID
PaymentstatusPENDING, AUTHORIZED, PAID, CANCELED, FAILED, EXPIRED, REFUNDED
PaymentmethodUNKNOWN, BANCONTACT, IDEAL, CREDIT_CARD, CASH
PaymentproviderMOLLIE, MANUAL, PONTO
ControllertypeSHOWER, BARRIER
NfcTagtypeCARD, KEYFOB