Zum Inhalt springen
API-Referenz

Webhooks

7 Endpunkte

Webhook-Endpunkte

get/v1/webhook_endpoints

Empfänger für Ereignisse.

Antwort 200WebhookEndpointList

NameTypBeschreibung
objectPflicht"list"
dataPflichtWebhookEndpoint[]
has_morePflichtboolean

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X GET https://api.ladehase.com/v1/webhook_endpoints \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "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

NameOrtTyp
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Anfrage

NameTypBeschreibung
urlPflichtstring (uri)
descriptionoptionalstring | 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" | "*"[]
enabledoptionalboolean

Antwort 201WebhookEndpoint

NameTypBeschreibung
idPflichtstringID mit Präfix «whk_»
objectPflicht"webhook_endpoint"
livemodePflichtboolean
urlPflichtstring
descriptionPflichtstring | null
eventsPflichtstring[]
enabledPflichtboolean
secretoptionalstringNur beim Anlegen oder Rotieren sichtbar
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
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}'
Antwort 201
{
  "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

NameOrtTyp
idPflichtPfadstring

Anfrage

NameTypBeschreibung
urloptionalstring (uri)
descriptionoptionalstring | 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" | "*"[]
enabledoptionalboolean
rotate_secretoptionalboolean

Antwort 200WebhookEndpoint

NameTypBeschreibung
idPflichtstringID mit Präfix «whk_»
objectPflicht"webhook_endpoint"
livemodePflichtboolean
urlPflichtstring
descriptionPflichtstring | null
eventsPflichtstring[]
enabledPflichtboolean
secretoptionalstringNur beim Anlegen oder Rotieren sichtbar
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
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}'
Antwort 200
{
  "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

NameOrtTyp
idPflichtPfadstring

Antwort 200Deleted

NameTypBeschreibung
idPflichtstring
objectPflichtstring
deletedPflichttrue

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X DELETE https://api.ladehase.com/v1/webhook_endpoints/{id} \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "id": "string",
  "object": "string",
  "deleted": true
}

Zustellprotokoll

get/v1/webhook_endpoints/{id}/deliveries

Letzte 100 Zustellungen mit Antwortcode.

Parameter

NameOrtTyp
idPflichtPfadstring

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
Beispiel
curl -X GET https://api.ladehase.com/v1/webhook_endpoints/{id}/deliveries \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{}

Ereignisse

get/v1/events

Alle Ereignisse, neueste zuerst.

Parameter

NameOrtTyp
limitoptionalAbfrageinteger
starting_afteroptionalAbfragestring
typeoptionalAbfragestring

Antwort 200EventList

NameTypBeschreibung
objectPflicht"list"
dataPflichtEvent[]
has_morePflichtboolean

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X GET https://api.ladehase.com/v1/events \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "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

NameOrtTyp
idPflichtPfadstring
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

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
Beispiel
curl -X POST https://api.ladehase.com/v1/events/{id}/resend \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{}