Felsökning & FAQ
Nästan alla supportärenden vi får är en av punkterna nedan. Leta upp symtomet, läs orsaken, gå till sidan som förhindrar det.
Sessionen dör när flera klienter kör#
- Symtom: anrop börjar plötsligt ge
401fastän token nyss fungerade, ofta i vågor. - Orsak: ett API-konto har en aktiv session. Varje ny inloggning avlivar den föregående — inklusive era egna testskript, en andra instans i klustret eller en kollegas lokala miljö.
- Åtgärd: en singleton per konto, delad tokenlagring mellan instanser och separata konton per miljö. Se Autentisering & tokens.
Inloggning vid varje öppning#
- Symtom: långsamma öppningar, sporadiska
401och dörrar som inte öppnas när två personer trycker samtidigt. - Orsak: varje öppning loggar in på nytt, vilket både lägger till latens och avlivar den föregående sessionen.
- Åtgärd: logga in server-side en gång och återanvänd token. Öppningsögonblicket ska innehålla exakt ett anrop. Se Golden path.
Glömd roterad refresh-token#
- Symtom: förnyelsen fungerar en gång och misslyckas nästa gång, med
400eller401från/api/auth/refresh. - Orsak: refresh-tokens är engångs. Svaret innehåller både en ny access-token och en ny refresh-token, och den gamla dör direkt. Sparas bara access-token är sessionen förlorad vid nästa förnyelse.
- Åtgärd: skriv båda i samma atomiska operation. Se Autentisering & tokens.
Två samtidiga förnyelser#
- Symtom: sessionen dör under last, men fungerar i lugna perioder.
- Orsak: två samtidiga
401startar två parallella refresh-anrop. Det andra använder en token som det första just förbrukat. - Åtgärd: single-flight-lås runt förnyelsen. Se Autentisering & tokens.
Enhetslistan hämtas vid varje öppning#
- Symtom: onödig latens och fler anrop än nödvändigt, ibland
429. - Orsak: enhetslistan hämtas i öppningsögonblicket i stället för på schema.
- Åtgärd: cachelagra mappningen och uppdatera den på schema samt vid
404. Se Golden path och Gränser & retry.
Fel eller föråldrat deviceId#
- Symtom:
404på unlock för en dörr som brukade fungera. - Orsak:
{deviceId}är hårdkodat, eller mappningen är gammal efter att en enhet bytts ut. - Åtgärd: kör om enhetssynken och uppdatera mappningen. Hårdkoda aldrig id:t. Se Koncept & entitetsmodell.
403 på en dörr ni ser i listan#
- Symtom: enheten finns i
GET /api/user/devicemen unlock ger403. - Orsak: nyckeln som ger öppningsrätt saknas eller har återkallats, även om enheten är synlig.
- Åtgärd: kontakta KiiOn för att kontrollera nyckeldelningen. Retry hjälper inte. Se Support.
Rätt anrop, fel miljö#
- Symtom:
401direkt efter en till synes lyckad inloggning, eller enhetslistan är tom. - Orsak: STAGE-uppgifter används mot PROD eller tvärtom. Kontona är separata.
- Åtgärd: kontrollera
BASE_URLmot kontot. Se API-referens.
Token gick ut mitt i drift#
- Symtom: allt fungerar i dagar och slutar sedan fungera.
- Orsak: ingen proaktiv förnyelse — koden väntar på ett fel som kommer när access-token går ut.
- Åtgärd: förnya var 36:e timme eller utifrån
exp. Se Autentisering & tokens.
200 på unlock men dörren öppnas inte#
- Symtom: API:t svarar
200, dörren rör sig inte. - Orsak:
200betyder att kommandot är accepterat och vidarebefordrat — inte att dörren fysiskt öppnats. Enheten kan vara offline eller ur räckvidd. - Åtgärd: läs enhetens tillstånd med
GET /api/device/{deviceId}och kontrolleraonline. Se Quickstart.
Hittar du inte felet?
Kopiera sidan som Markdown: Visa som Markdown