- Dokumentasjon
- Kom i gang
SDK-er
Offisielle biblioteker for Node, Python, Go, .NET og PHP, generert fra samme OpenAPI-spesifikasjon. Hva de gjør for deg, og hvordan de versjoneres.
Alle SDK-ene genereres fra den samme OpenAPI 3.1-spesifikasjonen som API-referansen, og slippes samme dag som nye API-funksjoner. De er åpen kildekode under MIT-lisens.
Oversikt
| Språk | Pakke | Krever | Status |
|---|---|---|---|
| Node / TypeScript | @spire/sdk | Node 20+ | Stabil, 3.x |
| Python | spire-sdk | Python 3.10+ | Stabil, 3.x |
| Go | github.com/spireapi/spire-go/v2 | Go 1.22+ | Stabil, 2.x |
| .NET | Spire.Sdk | .NET 8+ | Stabil, 2.x |
| PHP | spireapi/spire-php | PHP 8.2+ | Stabil, 1.x |
Fellesskapet vedlikeholder biblioteker for Ruby, Rust og Elixir. De er lenket fra dashbordet, men vi støtter dem ikke.
Hva SDK-ene gjør
Miljøvalg. Nøkkelen bestemmer miljøet. sk_test_ går til sandkassen, sk_live_ til produksjon. Du trenger aldri bytte URL.
Gjenforsøk. Kall som feiler med 429, 500, 502, 503 eller nettverksfeil gjenforsøkes opptil fem ganger med eksponentiell ventetid og tilfeldig jitter. Retry-After respekteres. Gjenforsøk kan skrus av per kall.
Idempotens. Alle POST-kall får automatisk en Idempotency-Key (UUID v4) hvis du ikke setter en selv. Gjenforsøkene bruker samme nøkkel, så du får aldri to fakturaer av ett kall.
Paginering. Lister returneres som iteratorer som henter neste side ved behov:
for await (const f of spire.fakturaer.list({ status: 'forfalt' })) {
console.log(f.nummer, f.belop.rest);
}
for f in spire.fakturaer.list(status="forfalt"):
print(f.nummer, f.belop.rest)
Typer. Alle objekter er typede. I TypeScript og .NET får du fullføring i editoren; i Python er alt dataklasser med typehint; i Go er alt strukturer.
Webhook-verifisering. Én funksjon som tar kropp, signaturhode og hemmelighet, og returnerer hendelsen eller kaster en feil:
const hendelse = spire.webhooks.verifiser(req.body, req.headers['spire-signature'], process.env.WEBHOOK_HEMMELIGHET);
Feil som typer. Feil fra API-et blir SpireError med kode, status, felt og requestId, slik at du kan skrive catch (e) { if (e.kode === 'ikke_funnet') … }.
Tidsavbrudd. Standard 30 sekunder per kall, 10 minutter for masseoppslag og dokumentnedlasting. Konfigurerbart.
Versjonering av SDK-ene
SDK-ene følger semantisk versjonering. Ny API-datoversjon gir ny mindre versjon av SDK-et (3.4 → 3.5), der standard Spire-Version oppdateres. Du kan alltid overstyre:
spire = Spire(api_nokkel="…", versjon="2026-03-01")
Større versjoner (2 → 3) kommer når vi endrer SDK-ets eget grensesnitt, ikke API-ets. Forrige større versjon får sikkerhetsrettelser i 18 måneder.
Konfigurasjon
Alle SDK-ene kan konfigureres med samme innstillinger:
| Innstilling | Standard | Hva |
|---|---|---|
versjon | Nyeste ved SDK-utgivelse | Spire-Version-hodet |
gjenforsok | 5 | Antall gjenforsøk ved 429/5xx |
tidsavbrudd | 30 s | Per kall |
basisUrl | Fra nøkkel | Overstyr for proxy eller test |
brukeragent | spire-node/3.5.1 | Legg til ditt eget navn |
logger | Ingen | Funksjon som får hvert kall (uten hemmeligheter) |
Kildekode og feil
Kildekoden ligger på GitHub under organisasjonen spireapi. Feil og forslag meldes der eller via kontaktskjemaet. Sikkerhetsproblemer i SDK-ene meldes som beskrevet på sikkerhetssiden, ikke offentlig.