Bygga en klient
KiiOn levererar inget eget SDK för API-flödet. Det behövs inte heller — specen är publik, så ni genererar en typad klient på en minut.
Generera ur specen#
Portalen serverar OpenAPI-dokumentet på `https://developers.kiion.io/openapi.json`. Peka valfri generator på den.
npx @hey-api/openapi-ts \
-i https://developers.kiion.io/openapi.json \
-o src/kiion \
-c @hey-api/client-fetchPinned in CI
# The pinned document never changes under you, which is what a build wants.
curl -fsSL https://developers.kiion.io/openapi.pinned.json -o openapi.pinned.json
npx @hey-api/openapi-ts -i openapi.pinned.json -o src/kiionVad kodgenereringen ger — och inte ger#
| Ingår i den genererade klienten | Måste ni lägga till själva |
|---|---|
| Typade request- och responsmodeller | Server-side singleton per API-konto |
| Rätt HTTP-metod och sökväg per operation | Proaktiv token-förnyelse med single-flight-lås |
| Bas-URL:er för STAGE och PROD | Atomisk lagring av det roterade tokenparet |
| Bearer-headern som parameter | 401-fallback som gör om anropet en gång |
Cachelagrad mappning från era dörrar till {deviceId} | |
| Regeln att unlock aldrig retry:as automatiskt |
Om ni hellre skriver klienten för hand#
API:t är vanlig JSON över HTTPS — vilket HTTP-bibliotek som helst duger. Beprövade val:
| Språk | Bibliotek | Installation |
|---|---|---|
| Node.js | undici | npm i undici (eller inbyggda fetch) |
| Python | requests | pip install requests |
| Rust | reqwest + serde_json | cargo add reqwest serde_json tokio |
| Swift | URLSession + Codable | Ingår i Foundation |
| PHP | Guzzle | composer require guzzlehttp/guzzle |
| Ruby | Faraday | gem install faraday |
Kopiera sidan som Markdown: Visa som Markdown