Grænser for kald
Grænser gælder pr. bruger og arbejdsområde i faste, minutlange tidsvinduer.
Svar, der tæller mod en grænse, indeholder
X-RateLimit-Limit og X-RateLimit-Remaining. Et begrænset kald giver 429 RATE_LIMITED og en Retry-After-header i sekunder. Vent den angivne tid, og prøv derefter igen med eksponentielt backoff og jitter.
Grænserne beskytter tjenestens drift. De er ikke faste kundekvoter og kan blive mere specifikke uden at ændre handlingens offentlige kontrakt.
Idempotente skrivekald
Oprettelse, arkivering, gendannelse, generering og godkendelse kræver headerenIdempotency-Key. Vælg en uigennemsigtig værdi, der er unik for én logisk handling, for eksempel et UUID.
Floral gemmer et afsluttet resultat i 24 timer. Et identisk nyt forsøg fra samme nøgle, arbejdsområde og handling gentager oprindelig status, svarindhold, ETag, Location og X-Request-ID. Hvis nøglen genbruges med et andet kanonisk mål, et andet fortolket input eller en anden If-Match-værdi inden for samme handling, får du 409 IDEMPOTENCY_CONFLICT. Nøgler er afgrænset pr. handling, men du bør stadig bruge en ny nøgle til hvert nyt logisk kald.
Optimistisk samtidighed
Detaljesvar for ændringsbare ressourcer indeholder en stærkETag. Delvise opdateringer og tilstandsændringer kræver den nyeste værdi i If-Match.
ETag efter et gennemført skrivekald. Ved 412 VERSION_CONFLICT skal du genindlæse ressourcen, afstemme den ønskede ændring med den aktuelle tilstand og prøve igen med den nye værdi. Prøv ikke automatisk en 412 igen uden afstemning.
Request-id og logning
Send en unikX-Request-ID på højst 128 tegn pr. logisk kald. Floral returnerer det gældende id i svaret og i alle fejlformater. Idempotente gentagelser returnerer det oprindelige id, så forsøgene kan forbindes.
Gem følgende i integrationens logs uden tokens eller følsomme body-felter:
operationId,workspaceSlugog ressource-id;- brugt idempotensnøgle eller ressourceversion;
- HTTP-status, fejlkode og
X-Request-ID; - tidspunkt og resultat for hvert nyt forsøg.
