Felkoder

Referens för alla felkoder och HTTP-statuskoder som returneras av TIC Identity API.

HTTP-statuskoder

Status Betydelse Åtgärd
200 OK Anropet lyckades
202 Accepted Session väntar på användare (polla igen)
400 Bad Request Kontrollera request-parametrar
401 Unauthorized Kontrollera API-nyckeln
403 Forbidden API-nyckeln saknar behörighet
404 Not Found Resursen finns inte (session, etc.)
410 Gone Sessionen misslyckades eller avbröts
429 Too Many Requests Rate limit överskriden. Se Retry-After header för väntetid. Läs mer
500 Internal Server Error Kontakta support om det upprepas

API-felkoder

Fel returneras i formatet:

{
  "error": "error_code",
  "message": "Beskrivning av felet"
}

Autentisering

Felkod Beskrivning
invalid_api_key API-nyckeln är ogiltig eller saknas
api_key_disabled API-nyckeln har inaktiverats
tenant_inactive Tenant är inte aktiv

Session

Felkod Beskrivning
session_not_found Sessionen finns inte eller har gått ut
session_expired Sessionen har gått ut
already_extended Sessionen har redan förlängts
qr_not_available QR-kod är inte tillgänglig för denna session

Validering

Felkod Beskrivning
provider_not_enabled Identitetsleverantören är inte aktiverad för tenant
invalid_callback_url Callback-URL:en är inte godkänd
invalid_webhook_url Webhook-URL:en är inte godkänd
missing_visible_data userVisibleData krävs för signering

Användningsgränser

Felkod Beskrivning
limit_exceeded Månadsgräns för autentiseringar överskriden

Berikning

Felkod Beskrivning
enrichment_not_enabled Berikning är inte aktiverat för tenant
no_valid_types Ingen av de begärda typerna är konfigurerade
session_not_completed Sessionen är inte slutförd
no_personal_number Sessionen saknar personnummer
url_expired Beriknings-URL:en har gått ut (30 min)

BankID hintCode

När en BankID-session misslyckas eller väntar returneras en hintCode som indikerar orsaken. Använd dessa för att visa lämpligt meddelande.

Väntande (status: pending)

hintCode Betydelse Åtgärd
outstandingTransaction Väntar på användaren att starta BankID Visa QR-kod och "Starta BankID-appen"
noClient Ingen BankID-klient svarar Visa "Starta BankID-appen"
started BankID-appen har startats, söker efter BankID Visa "Söker efter BankID..."
userSign Användaren identifierar sig Visa "Skriv in din säkerhetskod..."
userMrtd Användaren skannar ID-handling Visa "Fotografera din ID-handling..."

Misslyckade (status: failed)

hintCode Betydelse Åtgärd
userCancel Användaren avbröt Visa "Åtgärden avbröts"
cancelled Sessionen avbröts Visa "Åtgärden avbröts. Försök igen."
expiredTransaction Sessionen gick ut Visa "BankID-appen svarar inte..."
certificateErr Ogiltigt eller spärrat BankID Visa "Ditt BankID är för gammalt..."
startFailed Kunde inte starta BankID Visa "Misslyckades att läsa av QR-koden..."
alreadyInProgress Pågående session för personnumret Visa "En identifiering pågår redan..."

Best practices

  • Logga fel: Logga alltid error och message för felsökning.
  • Visa användarvänliga meddelanden: Översätt felkoder till förståeliga meddelanden för slutanvändare.
  • Hantera 429: Implementera exponentiell backoff vid rate limiting.
  • Retry-logik: 500-fel kan vara tillfälliga - prova igen med backoff.
  • Timeout: Sätt rimliga timeouts (10-30 sekunder) på anrop.

Exempel på felhantering

try {
  const result = await client.auth.poll(sessionId);

  if (result.status === 'complete') {
    // Lyckad autentisering
    handleSuccess(result.user);
  }
} catch (error) {
  if (error.status === 410) {
    // Session misslyckades
    const message = getSwedishMessage(error.hintCode);
    showError(message);
  } else if (error.status === 429) {
    // Rate limited
    showError('För många förfrågningar. Försök igen om en stund.');
  } else if (error.status >= 500) {
    // Server error - retry
    await delay(2000);
    return retry();
  } else {
    // Övriga fel
    console.error('API error:', error);
    showError('Något gick fel. Försök igen.');
  }
}