Hoppa till innehåll

Hastighetsbegränsningar och idempotens

Skicka en Idempotency-Key-rubrik med en POST för att göra den säker att försöka igen. Använd ett nytt, unikt värde per åtgärd (ett UUID, eller ett id från ditt eget system, till exempel onboarding-8841): 1 till 255 utskrivbara ASCII-tecken.

Terminal window
curl https://api.bonafidesign.com/v1/envelopes \
-H "Authorization: Bearer $BONA_FIDE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2f0e-1d0b-4c2a-9a59-3f1f1c7d2b11" \
-d @envelope.json
  • Den första begäran med en nyckel körs som vanligt och dess svar lagras i 24 timmar.
  • Ett omförsök med samma nyckel och samma begäran (metod, sökväg, frågesträng och brödtext) får det lagrade svaret uppspelat igen, med rubriken Idempotent-Replayed: true.
  • Samma nyckel med en annan begäran ger 422 idempotency-key-reused.
  • Ett omförsök medan den första begäran fortfarande körs ger 409 idempotency-in-progress; försök igen om en stund.
  • 5xx-svar lagras inte, så ett omförsök efter ett serverfel körs igen.

Nycklarna är knutna till anroparen: organisationen och den API-nyckel (eller användare i instrumentpanelen) som skickade dem. Åtgärder som tar en nyckel är markerade med en Idempotency-Key-rubrikparameter i API-referensen, bland annat att skapa mallar, ladda upp filer, publicera, skapa och makulera kuvert, skicka länkar igen, skapa signeringssessioner, skapa signeringslänkar och webhook-slutpunkter samt leverera händelser igen.

Idempotensnycklar skyddar omförsök av en enskild begäran. För att se till att ett affärsobjekt bara skickas en enda gång skickar du också ditt eget id och dedupeOn:

{ "template": "tpl_…", "externalId": "user_8841", "dedupeOn": "external_id", "…": "…" }

Om det redan finns ett kuvert med det externalId (i samma läge) returnerar POST /v1/envelopes det med 200 och x-deduplicated: true i stället för att skapa ett nytt. Detta gäller oavsett nycklar, dagar och samtidiga begäranden.

Det autentiserade API:et (API-nycklar) har i dag ingen fast gräns för antalet begäranden; utskicken begränsas av din plan. Gränser gäller där missbruk är möjligt:

Var Gräns
POST /v1/public/verify 60 begäranden per minut per IP-adress
GET /v1/public/anchors…, /.well-known/bona-fide/* 240 begäranden per minut per IP-adress
GET /v1/sso/discover 30 uppslag per minut per IP-adress
Engångskoder för undertecknare 5 koder per 15 minuter per session; 5 försök per kod
Nytt utskick till mottagare En gång i minuten per mottagare
Permanenta länkar Per länk: perEmailPerDay (standard 3), perIpPerHour (standard 20), valfritt dailyCap
Inloggning med lösenord i instrumentpanelen 10 per minut per IP-adress; 10 per 15 minuter per e-postadress
Registrering med lösenord i instrumentpanelen 5 per minut per IP-adress; 5 per timme per e-postadress
Mejl för återställning av lösenord 5 per 15 minuter per IP-adress; 3 per timme per e-postadress
Inloggningskoder till instrumentpanelen 3 per minut per IP-adress

Begränsade offentliga slutpunkter skickar rubrikerna RateLimit-Limit, RateLimit-Remaining och RateLimit-Reset (sekunder). Över gränsen svarar API:et 429 med ett rate-limited-problem, oftast med en Retry-After-rubrik i sekunder.