Hastighetsbegränsningar och idempotens
Idempotens
Section titled “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.
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.
Deduplicering via ditt eget id
Section titled “Deduplicering via ditt eget id”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.
Hastighetsbegränsningar
Section titled “Hastighetsbegränsningar”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.