AttendBeacon
Åbn arbejdsområdet

Begreber

Idempotens

Send en Idempotency-Key med en POST, så et nyt forsøg efter en tabt forbindelse får det første svar i stedet for at tilmelde en person to gange.

Hvorfor

En forbindelse kan blive afbrudt, efter at AttendBeacon har tilmeldt en person, men før din kode har fået det at vide. Sendt igen ville den samme POST udstede en billet mere. Med en Idempotency-Key sker det ikke: den anden forespørgsel får den førstes svar.

Sådan gør du

Lav din egen nøgle til hver forespørgsel (et UUID er ideelt), og send den med din POST. Gem den sammen med forespørgslen, indtil du har fået svar, og send den samme nøgle med ved hvert nyt forsøg.

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" }'

Hvad der gemmes, og hvor længe

Det første svar på en nøgle (dens status, Location og body) gemmes i 24 timer og gives igen til enhver forespørgsel med samme nøgle, metode, sti og body. Et genafspillet svar har Idempotent-Replayed: true.

SituationSvar
Et nyt forsøg med en forespørgsel, der er besvaretDet første svar, med Idempotent-Replayed: true
Et nyt forsøg, mens den første stadig behandles409 idempotencyKeyInUse, med Retry-After: 1
Samme nøgle med en anden metode, sti eller body422 idempotencyKeyReused: brug en ny nøgle til en ny forespørgsel
En nøgle på mere end 255 tegn eller med mellemrum400 invalidIdempotencyKey
Den første forespørgsel fejlede hos AttendBeacon (5xx)Intet gemmes, så det nye forsøg behandles forfra

En nøgle hører til den API-nøgle, der sendte den: to integrationer kan ikke støde sammen. De gemte svar kan nævne en person; når den person sletter sine data, slettes de svar, der nævner vedkommende, også.

Hvilke kald

Alle POST-kald tager en Idempotency-Key: tilmelding, udstedelse af billetter, annullering, indtjekning og oprettelse af events, sessioner, rabatkoder og webhooks. PATCH, PUT og DELETE kan i sagens natur gentages sikkert; PATCH tager i stedet If-Match, så en ændring i mellemtiden ikke overskrives (Fejl, preconditionFailed).

Guiderne og dette site er på dit sprog. API-referencens egne beskrivelser er på engelsk, ligesom API'et selv.