Guide
Sette i produksjon
Ti vaner som skiller en solid integrasjon fra en supportsak. Hvert punkt peker på siden som svarer på det, så et hull du finner her, har et sted å gå — og siste seksjon er hva du sender oss når noe fortsatt ikke stemmer.
Veien fra første samtale til produksjon er fire trekk: snakk med oss, få legitimasjonen din, gjør ditt første kall, sett i produksjon. Denne siden er det fjerde. Når du kommer hit, virker mekanikken allerede — legitimasjonen finnes, tokenet lages, kallene kommer tilbake med virkelige poster — og det som står igjen, er den operasjonelle formen på integrasjonen: hvor hemmeligheten bor, hvor lite et token har lov til å gjøre, hva som skjer når et kall feiler klokka tre om natta, og hva du gjør den dagen hemmeligheten må byttes.
Ingenting av det er et skjema som skal sendes inn eller en sertifisering som skal bestås. Gå gjennom listen, og følg lenken der et punkt ennå ikke er avklart.
De ti punktene
- Hemmeligheter ligger i en secret manager.
clientSecretdukker aldri opp i versjonskontroll, i en konfigfil som ligger i git, i en logglinje, i en sak eller i en chattemelding. Den vises nøyaktig én gang, i svaret som oppretter legitimasjonen, og Visena lagrer bare en enveis hash — den kan aldri vises igjen. Legitimasjon og tokener dekker hvor den kommer fra, og hva du gjør når den er tapt. - Én legitimasjon per system og miljø. Egne par for staging og produksjon, hvert navngitt etter systemet som holder det —
erp-sync-prod, ikkeapi— slik at det å tilbakekalle ett aldri tar ned et annet. Legitimasjon og tokener. - Tokener mellomlagres og gjenbrukes. Lag ett token, hold det til omtrent 60 sekunder før
expires_in, og lag så et nytt. Aldri én tokenforespørsel per API-kall. Den minimale mellomlagringen står i Legitimasjon og tokener. - Scopes er minimale. En jobb som bare leser, kjører på
scope=read. Lekker det tokenet, er skadeomfanget nøyaktig det du ba om, og et skrivekall gjort med det kommer tilbake som 403. Skrivebeskyttet tilgang viser avvisningen i praksis. - Id-er lagres ordrett. Maskerte id-er som
xK9mQ2er ugjennomsiktige strenger: lagre nøyaktig det du fikk, tolk aldri en for mening, lag aldri en selv. Begreper. - Skriving foretrekker
PATCH. Send bare feltene du eier, medContent-Type: application/merge-patch+json. En fullPUTsatt sammen av en delvis kopi av posten blanker stille ut alt du utelot. Å gjøre kall setter de to ved siden av hverandre. - Oppretting sjekker for duplikater først. Person- og firmasynker kaller duplikatsjekken før de oppretter, og håndterer 409 på firmaer: et organisasjonsnummer som allerede finnes, betyr at posten er der, og at skrivingen er en oppdatering. Sjekkene er dokumentert på Company og Person.
- Synker bruker cursor og tidslinjer. Én full eksport gjennom
/cursor, og deretter/timeline— eller/document/changesfor dokumenter — mot et vannmerke du lagrer. Ingenting lister hele datasettet på nytt etter en tidsplan. Lister, paginering og synk forklarer hvilken modus hver jobb vil ha. - Nye forsøk er disiplinerte. Eksponentiell backoff med jitter på nettverksfeil og 5xx, én ny tokenutstedelse på 401, og aldri et blindt nytt forsøk på 400, 403, 409, 415 eller 422 — samme forespørsel gir samme svar. Regelen står i Feil og feilsøking.
- Rotering er innøvd. Du har kjørt opprett ny → rull ut → tilbakekall gammel minst én gang, i ro, før dagen du må gjøre det under press. Begge legitimasjonene virker under byttet, så det finnes ikke noe nedetidsvindu å forhandle om. Legitimasjon og tokener har de tre trekkene.
To av de ti beskytter data, ikke oppetid. Gjør du det første og det fjerde galt, er konsekvensen ikke et avbrudd: en hemmelighet som ligger utenfor en secret manager, kan kopieres, og et token laget med mer scope enn jobben trenger, kan skrive. Resten av listen koster deg en dårlig ettermiddag. De to avgjør hva en lekkasje er verdt — og et token med lesetilgang som får hvert skrivekall avvist med 403 Forbidden, er den billigste garantien på denne siden.
Når du trenger oss
Ta kontakt på sales@visena.com, eller gjennom kontaktpersonen din i Visena — den navngitte kontakten du har fra den første samtalen om integrasjonen. Send de fire tingene nedenfor, så finner vi forespørselen hos oss i stedet for å be deg reprodusere den.
| Send | Hvorfor det er det vi trenger |
|---|---|
| Metode og sti for kallet som feiler | Den navngir endepunktet, og første segment navngir instansen kallet gikk til. PATCH /acme/api/v1/en/person/xK9mQ2 er nok. |
timestamp fra problemdokumentet | Den fester forespørselen til sekundet, så sporingen ikke avhenger av at noen rekonstruerer når det skjedde. |
| Hele problemdokumentet | type, status, detail og instance er serverens egen redegjørelse for avgjørelsen, og en omskriving mister gjerne nettopp feltet som forklarer den. Formen er dokumentert i Feil og feilsøking. |
Din clientId | Den identifiserer legitimasjonen, og dermed scopene tokenet hadde, uten å avsløre noe. |
Aldri clientSecret. Vi kan ikke lese den tilbake og trenger den aldri, så en hemmelighet i en sak, en e-post eller en chattetråd er ren eksponering uten oppside. Er en allerede limt inn et sted, behandle den som lekket: opprett en ny legitimasjon, rull den ut, tilbakekall den gamle — de tre trekkene i Legitimasjon og tokener.
Før du skriver: sjekk symptomet mot tabellen for rask diagnose i Feil og feilsøking — alle forespørsler svarer plutselig 401, lesing virker mens skriving svarer 403, en tokenforespørsel avvises med invalid_scope. De har kjente årsaker og trenger ingen sak.
Hvor du går videre
Dette er den siste guidesiden i seksjonen. Herfra er dokumentasjonen referanse: ni ressurser, én side hver, med hver parameter, hver responsform og hver statuskode. Hver sti i den er bygget likt — /{instanceName}/api/v1/{locale}/person, i entall, uten partner/-segment.
API-referanse →
Hvert endepunkt for de ni ressursene, fra den levende API-kontrakten: parametere, responskropper, statuskoder og de delte feilene.
GuideFeil og feilsøking →
RFC 9457-problemdokumentet hver feil returnerer, hva du gjør med hver statuskode, og regelen for nye forsøk som det niende punktet ber om.
GuideLegitimasjon og tokener →
Siden du kommer tilbake til: navngiving, listing, tilbakekalling, tokenmellomlageret og rotering i tre trekk.