Webhooks
Webhooks notify connected systems automatically about status changes, so external systems do not need to poll continuously.
Events
target.imported target.scheduled target.completed target.follow_up_created appointment.scheduled appointment.started appointment.completed appointment.problem_reported appointment.cancelled visit_report.created visit_report.submitted visit_report.approved visit_report.rejected visit_report.follow_up_required visit_report.problem_reported billing.event_created billing.event_ready billing.event_sent billing.event_failed Webhook payload
{
"eventId": "evt_01JZ8A2MT8G7C3Y7V0WQ1M9B3C",
"eventType": "visit_report.approved",
"occurredAt": "2026-06-18T16:40:00Z",
"tenantId": "tenant-123",
"source": "ordinavo",
"payloadVersion": "1.0",
"customer": {
"ordinavoCustomerId": 12,
"externalId": "CUST-10042",
"customerNumber": "RRM-001",
"name": "Rhein-Ruhr Medical Supply"
},
"location": {
"ordinavoLocationId": 34,
"externalId": "LOC-ESSEN-01",
"name": "Essen Center",
"city": "Essen",
"hasCoordinates": true
},
"contact": {
"ordinavoContactId": 56,
"externalId": "CONT-44",
"displayName": "Anna Weber"
},
"visitReport": {
"id": 901,
"title": "Maintenance visit - Essen Center",
"status": "Approved",
"result": "Successful",
"followUpRequired": false,
"isBillable": true,
"billingStatus": "NotReady",
"attachmentCount": 2
},
"target": {
"id": 455,
"externalId": "JOB-2026-000918",
"title": "Maintenance visit"
}
}Customer context and payload options
Visit report, appointment, follow-up and billing events can include tenant-safe customer, location and contact context. External IDs are resolved for the subscription's source system. Customer numbers are always read from the Ordinavo customer record, never from legacy target fields.
- Contact details can be disabled per subscription.
- Summary previews are disabled by default to avoid sending free-text report content unintentionally.
- Billing details require the billing webhook feature and are disabled by default.
Signature
Webhook signatures help receiving systems verify that an event came from Ordinavo and was not manipulated.
X-Ordinavo-Event-Id: evt_01JZ8A2MT8G7C3Y7V0WQ1M9B3C
X-Ordinavo-Timestamp: 2026-06-15T16:05:00Z
X-Ordinavo-Signature: sha256=...Retry-Verhalten
Wenn ein Webhook nicht erfolgreich zugestellt werden kann, wiederholt Ordinavo die Zustellung nach einem definierten Retry-Zeitplan. Das empfangende System sollte Events idempotent verarbeiten und eventId speichern.