ABAX (kjøretøysporing)¶
1. Hva den gjør¶
Henter sanntids kjøretøyposisjoner og -data fra ABAX, brukt i Flåte-kartet. Kjøretøyene matches mot bilene i Visma via registreringsnummer.
Flyt¶
flowchart LR
ABAX[ABAX cloud] -->|OAuth2 client credentials| API[Connect API: AbaxHelper]
API --> KART[Flåtekart: match bil mot Visma på skiltnr]
classDef sys fill:#f8d7da,stroke:#b53b46
class API sys
2. Dataretning¶
Inn (kun lesing). Connect API → ABAX cloud.
3. Autentisering og konfigurasjon¶
OAuth2 client credentials.
| Konfignøkkel (Web.config) | Rolle |
|---|---|
ABAXClientId |
Klient-ID |
ABAXClientSecret |
Klienthemmelighet |
ABAXIdentityProviderUri |
Token-endepunkt (https://identity.abax.cloud) |
ABAXApiUri |
API-endepunkt (https://api.abax.cloud) |
Scope: open_api open_api.vehicles.
4. Implementasjon¶
Helpers/AbaxHelper.cs:
- GetAccessToken() — POST mot identity-provideren (client credentials).
- GetVehicles() — GET …/v1/vehicles med Bearer-token.
Token caches ikke — nytt token hentes ved hvert GetVehicles()-kall.
5. Oppsett¶
- Opprett API-klient i ABAX-portalen med vehicles-scope.
- Legg
ABAXClientId/ABAXClientSecretiWeb.config. - Sørg for at bilenes registreringsnummer står i bilbeskrivelsen i Visma (matchingen i Flåte er på skiltnummer).
6. Feilmodi¶
| Symptom | Årsak | Tiltak |
|---|---|---|
| Flåtekartet uten biler | OAuth feilet (feil ID/secret) eller ABAX nede | Test token-endepunktet; sjekk nøklene |
| En bil mangler | Skiltnummer matcher ikke Visma-beskrivelsen | Rett bilbeskrivelsen i Visma |
| Treghet | Token hentes på nytt hver gang (ingen caching) | Forventet — ikke kritisk |
Ingen retry.
7. Test¶
# 1) Hent token
curl -s -X POST https://identity.abax.cloud/connect/token \
-d "grant_type=client_credentials&scope=open_api open_api.vehicles&client_id=‹id›&client_secret=‹secret›"
# 2) Hent kjøretøy med token
curl -s https://api.abax.cloud/v1/vehicles -H "Authorization: Bearer ‹token›"
8. Rotasjon¶
Kun Web.config-endring (ABAXClientId/ABAXClientSecret) + app-pool recycle.