Hastighedsbegrænsning og idempotens
Idempotens
Sektion kaldt “Idempotens”Send en Idempotency-Key-header med en POST for at gøre den sikker at forsøge igen. Brug en ny, unik værdi pr.
handling (et UUID eller et id fra dit eget system, f.eks. onboarding-8841): 1 til 255 skrivbare ASCII-tegn.
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ørste anmodning med en nøgle kører normalt, og dens svar gemmes i 24 timer.
- Et genforsøg med samme nøgle og samme anmodning (metode, sti, forespørgselsstreng og body) får det gemte svar
afspillet igen med headeren
Idempotent-Replayed: true. - Samme nøgle med en anden anmodning giver
422 idempotency-key-reused. - Et genforsøg, mens den første anmodning stadig kører, giver
409 idempotency-in-progress; prøv igen om lidt. 5xx-svar gemmes ikke, så et genforsøg efter en serverfejl kører igen.
Nøgler er knyttet til kalderen: organisationen og den API-nøgle (eller dashboardbruger), der sendte dem. Handlinger,
der accepterer en nøgle, er markeret med en Idempotency-Key-headerparameter i API-referencen,
bl.a. oprettelse af skabeloner, upload af filer, udgivelse, oprettelse og annullering af kuverter, gensendelse af
links, oprettelse af signeringssessioner, oprettelse af underskriftslinks og webhook-slutpunkter samt ny levering af
hændelser.
Deduplikering via dit eget id
Sektion kaldt “Deduplikering via dit eget id”Idempotensnøgler beskytter genforsøg af én anmodning. For at sikre at et forretningsobjekt kun nogensinde sendes
én gang, sender du også dit eget id og dedupeOn:
{ "template": "tpl_…", "externalId": "user_8841", "dedupeOn": "external_id", "…": "…" }Hvis der allerede findes en kuvert med det externalId (i samme tilstand), returnerer POST /v1/envelopes den med
200 og x-deduplicated: true i stedet for at oprette en ny. Det gælder på tværs af nøgler, dage og samtidige
anmodninger.
Hastighedsbegrænsning
Sektion kaldt “Hastighedsbegrænsning”Det godkendte API (API-nøgler) har i dag ingen fast grænse for antallet af anmodninger; afsendelse begrænses af din plan. Der gælder grænser, hvor misbrug er muligt:
| Hvor | Grænse |
|---|---|
POST /v1/public/verify |
60 anmodninger pr. minut pr. IP-adresse |
GET /v1/public/anchors…, /.well-known/bona-fide/* |
240 anmodninger pr. minut pr. IP-adresse |
GET /v1/sso/discover |
30 opslag pr. minut pr. IP-adresse |
| Engangskoder til underskrivere | 5 koder pr. 15 minutter pr. session; 5 forsøg pr. kode |
| Gensendelse til modtager | Én gang i minuttet pr. modtager |
| Permanente links | Pr. link: perEmailPerDay (standard 3), perIpPerHour (standard 20), valgfrit dailyCap |
| Login med adgangskode i dashboardet | 10 pr. minut pr. IP-adresse; 10 pr. 15 minutter pr. e-mailadresse |
| Tilmelding med adgangskode i dashboardet | 5 pr. minut pr. IP-adresse; 5 pr. time pr. e-mailadresse |
| E-mails til nulstilling af adgangskode | 5 pr. 15 minutter pr. IP-adresse; 3 pr. time pr. e-mailadresse |
| Loginkoder til dashboardet | 3 pr. minut pr. IP-adresse |
Begrænsede offentlige slutpunkter sender headerne RateLimit-Limit, RateLimit-Remaining og RateLimit-Reset
(sekunder). Over grænsen svarer API’et 429 med et rate-limited-problem, som regel med en
Retry-After-header i sekunder.