Zum Hauptinhalt springen

Webhook: Bestellung erstellt (order_created)

Dieser Webhook informiert dich in Echtzeit darüber, dass eine neue Bestellung in deinem ditix Ticketshop erfolgreich erstellt wurde – inklusive aller relevanten Daten zu Kunde, Event und Tickets zur direkten Weiterverarbeitung in deinen Systemen.

Dieser Webhook wird ausgelöst, sobald eine neue Bestellung erfolgreich erstellt wurde.

Überblick

Feld

Beschreibung

Event Type

order_created

Message ID

Eindeutige ID des Webhook-Events

Date

Zeitpunkt der Auslösung (ISO 8601)


Beispiel Payload (gekürzt)

{
"event_type": "order_created",
"message_id": "55bb384d-24b0-430e-bccd-74e3b53fa10e",
"date": "2026-05-04T08:04:07.638Z",
"data": {
"order_id": "9ce70267-5494-4d7a-933d-c4c898fd3101",
"order_app_url": "https://ditix.app/...",
"customer": {
"name": "Max Mustermann",
"email_address": "[email protected]",
"street_and_house_number": "Musterstr. 5",
"zip": "12345",
"city": "Musterstadt",
"country": "DE",
"company": ""
},
"order_amount_gross": {
"amount": 0,
"currency": "EUR"
},
"events": [
{
"id": "2fc6e8da-5116-4673-a2c3-5bb838a92848",
"name": "Supertolles Event",
"code": "t8e3kiv722wybtzx",
"timestamp_start": 1778666400000,
"timestamp_end": 1778695200000,
"location": {
"id": "930e7307-4de7-4406-9195-f6b801aca641",
"name": "ANS Musterhalle"
},
"ticketTypes": [
{
"id": "7df9334b-95a1-4b0a-9a81-aebf05da4f3d",
"name": "Musterticket"
}
],
"tickets": [
{
"code": "UC2CN8T0SAL3IMAP",
"seating": null
}
]
}
]
}
}

Feldbeschreibung

Bestellung

Feld

Beschreibung

order_id

Eindeutige Bestell-ID

order_app_url

Direktlink zur Bestellung im ditix Backend


Kunde (customer)

Feld

Beschreibung

name

Vollständiger Name

email_address

E-Mail-Adresse

street_and_house_number

Straße + Hausnummer

zip

Postleitzahl

city

Stadt

country

Ländercode (ISO)

company

Firma (optional)


Betrag (order_amount_gross)

Feld

Beschreibung

amount

Bruttobetrag

currency

Währung (z. B. EUR)


Events (events[])

Eine Bestellung kann mehrere Events enthalten.

Feld

Beschreibung

id

Event-ID

name

Eventname

code

Event-Code

timestamp_start

Startzeitpunkt (Unix Timestamp in ms)

timestamp_end

Endzeitpunkt (Unix Timestamp in ms)


Location (events[].location)

Feld

Beschreibung

id

Location-ID

name

Name der Location


Tickettypen (events[].ticketTypes[])

Feld

Beschreibung

id

Tickettyp-ID

name

Bezeichnung des Tickets


Tickets (events[].tickets[])

Feld

Beschreibung

code

Eindeutiger Ticketcode

seating

Sitzplatzinformationen (optional / kann null sein)


Wichtige Hinweise

1. Mehrere Events & Tickets möglich

  • Eine Bestellung kann:

    • mehrere Events enthalten

    • mehrere Tickets enthalten

👉 Immer als Array verarbeiten!


2. Zeitformat

  • timestamp_start und timestamp_end sind Unix Timestamps in Millisekunden

Beispiel (JavaScript):

new Date(1778666400000)

3. Deprecated Felder

Folgende Felder sollten nicht mehr verwendet werden:

Feld

Hinweis

Data Customer Name

customer.name verwenden

Data Customer Email Address

customer.email_address verwenden

events.tickets

events.ticketTypes.tickets verwenden


4. Idempotenz

  • Nutze message_id, um doppelte Webhook-Aufrufe zu erkennen und zu vermeiden.


5. Typische Use Cases

  • CRM Synchronisation (z. B. HubSpot, Salesforce)

  • Newsletter Opt-in Verarbeitung

  • Ticket-Import in eigene Systeme

  • Check-in Systeme

  • Automatisierte Rechnungsstellung


Best Practices

  • Webhook asynchron verarbeiten (Queue empfohlen)

  • Antwort an ditix innerhalb von < 5 Sekunden

  • Bei Fehlern Retry-Logik einbauen

  • Payload vollständig speichern (Debugging!)

Hat dies deine Frage beantwortet?