AttendBeacon
Öppna arbetsytan

Begrepp

Idempotens

Skicka en Idempotency-Key med en POST, så besvaras ett nytt försök efter en bruten anslutning med det första svaret i stället för att någon anmäls två gånger.

Varför

En anslutning kan brytas efter att AttendBeacon har anmält någon men innan din kod fick veta det. Skickas samma POST igen skulle den utfärda en andra biljett. Med en Idempotency-Key gör den inte det: det andra anropet får det förstas svar.

Hur

Skapa en egen idempotensnyckel för varje anrop (ett UUID är idealiskt) och skicka den med din POST. Behåll den tillsammans med anropet tills du har fått ett svar, och skicka samma nyckel vid varje nytt försök.

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

Vad som sparas, och hur länge

Det första svaret på en idempotensnyckel (dess status, Location och brödtext) sparas i 24 timmar och ges igen till varje anrop med samma nyckel, metod, sökväg och brödtext. Ett upprepat svar har med sig Idempotent-Replayed: true.

SituationSvar
Ett nytt försök med ett anrop som har besvaratsDet första svaret, med Idempotent-Replayed: true
Ett nytt försök medan det första fortfarande hanteras409 idempotencyKeyInUse, med Retry-After: 1
Samma nyckel med en annan metod, sökväg eller brödtext422 idempotencyKeyReused: använd en ny nyckel för ett nytt anrop
En nyckel längre än 255 tecken, eller med mellanslag400 invalidIdempotencyKey
Det första anropet misslyckades hos AttendBeacon (5xx)Inget sparas, så det nya försöket hanteras från början

En idempotensnyckel hör till den API-nyckel som skickade den: två integrationer kan inte krocka. De sparade svaren kan namnge en person; när den personen raderar sina uppgifter raderas även de svar som namnger personen.

Vilka anrop

Varje POST tar en Idempotency-Key: anmäla, utfärda biljetter, avboka, checka in, skapa evenemang, sessioner, rabattkoder och webhooks. PATCH, PUT och DELETE kan till sin natur upprepas säkert; PATCH tar i stället If-Match, så att en ändring som gjorts under tiden inte skrivs över (Fel, preconditionFailed).

Guiderna och den här webbplatsen finns på ditt språk. API-referensens egna beskrivningar är på engelska, precis som API:t självt.