API-Referenz
Beispiel Antwort 200
Beispiel Antwort 201
Beispiel Antwort 200
Beispiel Antwort 200
Beispiel Antwort 200
Beispiel Antwort 200
Beispiel Antwort 200
Webhooks
7 Endpunkte
Webhook-Endpunkte
get/v1/webhook_endpoints
Empfänger für Ereignisse.
Antwort 200WebhookEndpointList
| Name | Typ | Beschreibung |
|---|---|---|
objectPflicht | "list" | |
dataPflicht | WebhookEndpoint[] | |
has_morePflicht | boolean |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X GET https://api.ladehase.com/v1/webhook_endpoints \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "whk_2f4a6c8e0b1d3f5a",
"object": "webhook_endpoint",
"livemode": true,
"url": "string",
"description": "string",
"events": [
"string"
],
"enabled": true,
"secret": "string",
"created_at": "string"
}
],
"has_more": true
}Webhook anlegen
post/v1/webhook_endpoints
Signatur `Ladehase-Signature: t=…,v1=…` (HMAC-SHA256 über `t.body`). Das Geheimnis ist nur in dieser Antwort sichtbar.
Parameter
| Name | Ort | Typ |
|---|---|---|
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
urlPflicht | string (uri) | |
descriptionoptional | string | null | |
eventsoptional | "session.created" | "session.started" | "session.updated" | "session.stopped" | "session.settled" | "session.failed" | "payment.authorized" | "payment.captured" | "payment.released" | "payment.refunded" | "device.online" | "device.offline" | "device.error" | "terminal.online" | "terminal.offline" | "integration.error" | "*"[] | |
enabledoptional | boolean |
Antwort 201WebhookEndpoint
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «whk_» |
objectPflicht | "webhook_endpoint" | |
livemodePflicht | boolean | |
urlPflicht | string | |
descriptionPflicht | string | null | |
eventsPflicht | string[] | |
enabledPflicht | boolean | |
secretoptional | string | Nur beim Anlegen oder Rotieren sichtbar |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/webhook_endpoints \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"url":"https://example.ch/webhooks/ladehase","description":"string","events":["*"],"enabled":true}'{
"id": "whk_2f4a6c8e0b1d3f5a",
"object": "webhook_endpoint",
"livemode": true,
"url": "string",
"description": "string",
"events": [
"string"
],
"enabled": true,
"secret": "string",
"created_at": "string"
}Webhook ändern
patch/v1/webhook_endpoints/{id}
Auch `rotate_secret`.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Anfrage
| Name | Typ | Beschreibung |
|---|---|---|
urloptional | string (uri) | |
descriptionoptional | string | null | |
eventsoptional | "session.created" | "session.started" | "session.updated" | "session.stopped" | "session.settled" | "session.failed" | "payment.authorized" | "payment.captured" | "payment.released" | "payment.refunded" | "device.online" | "device.offline" | "device.error" | "terminal.online" | "terminal.offline" | "integration.error" | "*"[] | |
enabledoptional | boolean | |
rotate_secretoptional | boolean |
Antwort 200WebhookEndpoint
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | ID mit Präfix «whk_» |
objectPflicht | "webhook_endpoint" | |
livemodePflicht | boolean | |
urlPflicht | string | |
descriptionPflicht | string | null | |
eventsPflicht | string[] | |
enabledPflicht | boolean | |
secretoptional | string | Nur beim Anlegen oder Rotieren sichtbar |
created_atPflicht | string |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X PATCH https://api.ladehase.com/v1/webhook_endpoints/{id} \n -H "Authorization: Bearer lh_test_…" \n -H "Content-Type: application/json" \n -d '{"url":"https://example.ch/webhooks/ladehase","description":"string","events":["*"],"enabled":true,"rotate_secret":true}'{
"id": "whk_2f4a6c8e0b1d3f5a",
"object": "webhook_endpoint",
"livemode": true,
"url": "string",
"description": "string",
"events": [
"string"
],
"enabled": true,
"secret": "string",
"created_at": "string"
}Webhook löschen
delete/v1/webhook_endpoints/{id}
Keine weiteren Zustellungen.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Deleted
| Name | Typ | Beschreibung |
|---|---|---|
idPflicht | string | |
objectPflicht | string | |
deletedPflicht | true |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X DELETE https://api.ladehase.com/v1/webhook_endpoints/{id} \n -H "Authorization: Bearer lh_test_…"{
"id": "string",
"object": "string",
"deleted": true
}Zustellprotokoll
get/v1/webhook_endpoints/{id}/deliveries
Letzte 100 Zustellungen mit Antwortcode.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
Antwort 200Object
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X GET https://api.ladehase.com/v1/webhook_endpoints/{id}/deliveries \n -H "Authorization: Bearer lh_test_…"{}Ereignisse
get/v1/events
Alle Ereignisse, neueste zuerst.
Parameter
| Name | Ort | Typ |
|---|---|---|
limitoptional | Abfrage | integer |
starting_afteroptional | Abfrage | string |
typeoptional | Abfrage | string |
Antwort 200EventList
| Name | Typ | Beschreibung |
|---|---|---|
objectPflicht | "list" | |
dataPflicht | Event[] | |
has_morePflicht | boolean |
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X GET https://api.ladehase.com/v1/events \n -H "Authorization: Bearer lh_test_…"{
"object": "list",
"data": [
{
"id": "evt_1b3d5f7a9c0e2f4b",
"object": "event",
"type": "string",
"livemode": true,
"data": {},
"created_at": "string"
}
],
"has_more": true
}Ereignis erneut senden
post/v1/events/{id}/resend
An alle passenden Endpunkte.
Parameter
| Name | Ort | Typ |
|---|---|---|
idPflicht | Pfad | string |
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden) | Kopfzeile | string |
Antwort 200Object
Mögliche Fehler
- 400 Anfrage ungültig
- 401 Nicht angemeldet
- 403 Berechtigung fehlt
- 404 Nicht gefunden
- 409 Zustand passt nicht
- 429 Zu viele Anfragen
curl -X POST https://api.ladehase.com/v1/events/{id}/resend \n -H "Authorization: Bearer lh_test_…"{}