AttendBeacon
Arbeitsbereich öffnen

Konzepte

Idempotenz

Senden Sie bei einem POST einen Idempotency-Key mit. Eine Wiederholung nach einem Verbindungsabbruch erhält dann die erste Antwort, statt jemanden doppelt anzumelden.

Warum

Eine Verbindung kann abbrechen, nachdem AttendBeacon jemanden angemeldet hat, aber bevor Ihr Code davon erfahren hat. Erneut gesendet, würde derselbe POST ein zweites Ticket ausstellen. Mit einem Idempotency-Key passiert das nicht: Die zweite Anfrage bekommt die Antwort der ersten.

Wie

Erzeugen Sie für jede Anfrage einen eigenen Schlüssel (ideal ist eine UUID) und senden Sie ihn mit dem POST. Bewahren Sie ihn zusammen mit der Anfrage auf, bis Sie eine Antwort haben, und senden Sie bei jeder Wiederholung denselben Schlüssel.

curl -X POST "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/registrations" \
  -H "Authorization: Bearer $ATTENDBEACON_KEY" \
  -H "Idempotency-Key: 6f1c2a9e-4b7d-4c0f-8e3a-5b9d1c7e0f42" \
  -H "Content-Type: application/json" \
  -d '{ "ticketTypeId": "b3ac0006-0000-4000-8000-000000000001", "firstName": "Anna", "lastName": "de Vries", "email": "anna.devries@example.com" }'

Was gespeichert wird, und wie lange

Die erste Antwort auf einen Schlüssel (ihr Status, Location und Body) wird 24 Stunden lang aufbewahrt und jeder Anfrage mit demselben Schlüssel, derselben Methode, demselben Pfad und demselben Body erneut gegeben. Eine wiederholte Antwort trägt Idempotent-Replayed: true.

SituationAntwort
Wiederholung einer Anfrage, die beantwortet wurdeDie erste Antwort, mit Idempotent-Replayed: true
Wiederholung, während die erste noch bearbeitet wird409 idempotencyKeyInUse, mit Retry-After: 1
Derselbe Schlüssel mit anderer Methode, anderem Pfad oder Body422 idempotencyKeyReused: Verwenden Sie für eine neue Anfrage einen neuen Schlüssel
Ein Schlüssel mit mehr als 255 Zeichen oder mit Leerzeichen400 invalidIdempotencyKey
Die erste Anfrage ist bei AttendBeacon gescheitert (5xx)Nichts wird gespeichert, die Wiederholung wird neu bearbeitet

Ein Idempotency-Key gehört zu dem API-Schlüssel, der ihn gesendet hat: Zwei Integrationen können sich nicht in die Quere kommen. Die gespeicherten Antworten können eine Person nennen; löscht diese Person ihre Daten, werden auch die Antworten gelöscht, die sie nennen.

Welche Aufrufe

Jeder POST nimmt einen Idempotency-Key an: Anmelden, Tickets ausstellen, Stornieren, Einchecken und das Erstellen von Veranstaltungen, Sessions, Rabattcodes und Webhooks. PATCH, PUT und DELETE lassen sich ihrer Natur nach gefahrlos wiederholen. PATCH nimmt stattdessen If-Match an, damit eine zwischenzeitliche Änderung nicht überschrieben wird (Fehler, preconditionFailed).

Die Anleitungen und diese Website sind in Ihrer Sprache. Die Beschreibungen in der API-Referenz selbst sind auf Englisch, so wie die API selbst spricht.