Gå til indholdet

Modeller

Alle modeller bruger camelCase JSON. Timestamps er ISO 8601 UTC (fx 2024-06-10T10:34:41Z).

Model-oversigt

Model Beskrivelse Endpoint
deviceRequest Opret/opdater enhed POST/PUT /v1/device
deviceResponse Enhedsdata GET /v1/devices, GET/PUT /v1/device/{id}
createDeviceResponse Oprettet enhed + password POST /v1/device
passwordOutput Nyt password GET /v1/device/{id}/password
createMeeting Push meeting POST /v1/meetings
meetingResponse Meeting poll-respons GET /v1/meeting
meeting Meeting-detaljer meetingResponse
createMessage Push besked POST /v1/messages
messageResponse Besked poll-respons GET /v1/message
message Besked-detaljer messageResponse
oneClickResponse Login-link GET /v1/one-click/{id}
accessToken Keycloak token GET /v1/login/{id}, POST /v1/device-login
deviceRole Enhedsrolle enum deviceRequest, deviceResponse
deviceCreationTokenRequest Opret token POST /v1/device-creation-token
deviceCreationToken Creation token POST/GET device-creation-token
deviceCreationTokenLoginRequest Auto-opret enhed POST /v1/device-login
detailedError Fejlrespons 4xx/5xx

deviceRequest

Request body til POST /v1/device og PUT /v1/device/{id}.

Felt Type Påkrævet Beskrivelse
name string Ja Enhedens navn
description string Nej Beskrivelse
location string Nej Placering (max 250 tegn)
organisation_code string Ja Organisationskode
enabled boolean Ja Om enheden er aktiveret i Keycloak
role deviceRole Ja Enhedsrolle
audiences string[] Nej Yderligere API'er enheden kan tilgå

JSON-eksempel

{
  "name": "Patientværelse 101",
  "description": "SIP-endpoint i afdeling A",
  "location": "Bygning 1, etage 2",
  "organisation_code": "device_org",
  "enabled": true,
  "role": "MEETING_USER",
  "audiences": []
}

deviceResponse

Enhedsdata returneret ved GET og PUT.

Felt Type Beskrivelse
id uuid Enheds-UUID
short_id string Kort ID — også Keycloak username
name string Enhedens navn
description string Beskrivelse
location string Placering
organisation_code string Organisationskode
enabled boolean Aktiveret i Keycloak
created_by string Oprettet af (email)
created_timestamp datetime Oprettelsestidspunkt
updated_by string Sidst opdateret af
updated_timestamp datetime Sidste opdatering
last_active_timestamp datetime Sidste aktivitet
keycloak_id uuid Keycloak bruger-ID
role deviceRole Enhedsrolle
audiences string[] Yderligere API-adgange

JSON-eksempel

{
  "id": "46b46a1e-a4d3-4387-87ee-a67dcaa222cb",
  "short_id": "asdfghjk",
  "name": "Patientværelse 101",
  "description": "SIP-endpoint i afdeling A",
  "location": "Bygning 1, etage 2",
  "organisation_code": "device_org",
  "enabled": true,
  "created_by": "admin@example.com",
  "created_timestamp": "2024-06-10T10:34:41Z",
  "updated_by": "admin@example.com",
  "updated_timestamp": "2024-06-10T10:34:41Z",
  "keycloak_id": "46b46a1e-a4d3-4387-87ee-a67dcaa222cb",
  "role": "MEETING_USER",
  "audiences": []
}

createDeviceResponse

Udvidet deviceResponse med password ved oprettelse.

Felt Type Beskrivelse
(alle deviceResponse-felter)
keycloak_password string Keycloak-password — returneres kun ved oprettelse

passwordOutput

Respons fra GET /v1/device/{id}/password.

Felt Type Beskrivelse
id uuid Enheds-UUID
short_id string Kort ID
name string Enhedens navn
keycloak_id uuid Keycloak bruger-ID
password string Nyt Keycloak-password

createMeeting

Request body til POST /v1/meetings.

Felt Type Påkrævet Beskrivelse
device_id uuid Ja Mål-enheds UUID
uri string Ja Møde-URI uden domæne (max 100 tegn)
pin integer Ja Møde-PIN (1000–999999999)
meeting_type string Ja Mødetype (max 36 tegn, fx oneway-nosound)
meeting_host string Nej Vært (max 100 tegn)
meeting_description string Nej Beskrivelse (max 5000 tegn)

JSON-eksempel

{
  "device_id": "46b46a1e-a4d3-4387-87ee-a67dcaa222cb",
  "uri": "574893",
  "pin": 12345,
  "meeting_type": "oneway-nosound",
  "meeting_host": "Læge Hansen",
  "meeting_description": "Konsultation"
}

meetingResponse

Respons fra GET /v1/meeting.

Felt Type Beskrivelse
status string MEETING_FOUND eller NO_WAITING_MEETINGS
meeting meeting Meeting-detaljer (kun ved MEETING_FOUND)

meeting

Meeting-detaljer i poll-respons.

Felt Type Beskrivelse
uri string Møde-URI uden domæne
pin integer Møde-PIN
meeting_type string Mødetype
meeting_host string Vært
meeting_description string Beskrivelse

createMessage

Request body til POST /v1/messages.

Felt Type Påkrævet Beskrivelse
device_id uuid Ja Mål-enheds UUID
key string Ja Beskedtype/nøgle
value object Ja Beskedindhold (vilkårligt JSON-objekt)

JSON-eksempel

{
  "device_id": "46b46a1e-a4d3-4387-87ee-a67dcaa222cb",
  "key": "notification",
  "value": { "text": "Du har et ventende møde" }
}

messageResponse

Respons fra GET /v1/message.

Felt Type Beskrivelse
status string MESSAGE_FOUND eller NO_WAITING_MESSAGES
message message Besked-detaljer (kun ved MESSAGE_FOUND)

message

Besked-detaljer i poll-respons.

Felt Type Beskrivelse
key string Beskedtype/nøgle
value object Beskedindhold

oneClickResponse

Respons fra GET /v1/one-click/{id}.

Felt Type Beskrivelse
link uri One-click login-link til enheden

accessToken

Keycloak token-respons fra login-endpoints.

Felt Type Beskrivelse
access_token string JWT access token
expires_in integer Token-levetid (sekunder)
refresh_expires_in integer Refresh token-levetid
refresh_token string Refresh token
token_type string Typisk Bearer
not-before-policy integer Not-before policy
session_state string Session-ID
scope string Token scope

deviceRole

Enhedsrolle tildelt i Keycloak.

Værdi Beskrivelse
MEETING_USER Normal enhedsbruger
MEETING_PLANNER Planlægger-enhed

deviceCreationTokenRequest

Request body til POST /v1/device-creation-token.

Felt Type Påkrævet Beskrivelse
organisation_code string Ja Organisationskode for enheder
client_id string Ja Keycloak client-id til token-hentning

deviceCreationToken

Creation token til auto-oprettelse af enheder.

Felt Type Beskrivelse
deviceCreationToken uuid Token til brug i POST /v1/device-login

deviceCreationTokenLoginRequest

Request body til POST /v1/device-login.

Felt Type Påkrævet Beskrivelse
deviceCreationToken uuid Ja Creation token
name string Nej Enhedsnavn — default er short_id
organisation_code string Nej Organisation — default er token-ejerens org

detailedError

Udvidet fejlrespons (arver basicError).

Felt Type Beskrivelse
detailed_error string Detaljeret fejlbeskrivelse
detailed_error_code string Fejlkode (se tabel)

Fejlkoder (detailed_error_code)

Kode Beskrivelse
10 Keycloak-fejl — enhed ikke oprettet
11 Keycloak-fejl — enhed ikke opdateret
12 Keycloak-fejl — enhed ikke slettet
13 Keycloak-fejl — password ikke opdateret
14 Database — ikke fundet
15 Database — ikke oprettet
16 Database — ikke opdateret
17 Database — ikke slettet
18 Validering — org-kode ikke i parent-træ
19 Validering — brugerkontekst ikke hentet
20 Duplikat — short_id eller login-id allerede i brug
21 Duplikat — database-værdier findes allerede
22 Validering — Keycloak-bruger matcher ikke enhed
23 Keycloak — access token ikke hentet
24 Validering — input-validering fejlede
25 Keycloak — ugyldig rolle-attribut
26 Keycloak — enhed/attributter ikke fundet
27 Keycloak — device API access token fejlede

basicError

Felt Type Beskrivelse
timestamp datetime Fejltidspunkt
status integer HTTP-statuskode
error string Fejlbesked
path string Request path

Se også

Ændringshistorik

Dato Ændring
2026-06-27 Første model-reference for VDX Device Registration Service