Gå til indholdet

Reference

Fejlkoder

Fejl returneres som detailedError med errorCode og errorText.

HTTP Betydning
400 Manglende/ugyldigt input, unikt felt i konflikt, ugyldig reservation
401 Manglende/ugyldig JWT, forkert rolle, manglende email/organisation
403 Møde tilhører ikke brugerens organisation, eller bruger er ikke arrangør
404 UUID/id findes ikke, eller pool har ingen ledig scheduling info
406 Ugyldig provisionStatus for operation, template/URI-konflikt
500 Uventet serverfejl

Typiske 400-årsager

  • Påkrævet parameter/property mangler eller er tom
  • Unikt felt (fx externalId) er allerede i brug
  • schedulingInfoReservationId kombineret med guestPin/hostPin
  • Ingen ledig scheduling info i pool
  • Scheduling template ikke fundet

Typiske 401-årsager

  • Token udløbet eller ugyldig signatur
  • Bruger har ikke den rolle endpoint kræver
  • Bruger mangler email eller organisation i token

Typiske 403-årsager

  • Møde tilhører en anden organisation end brugeren
  • Normal meeting-user forsøger at opdatere andres møde
  • Brugerens organisation er ikke oprettet i Video API

Typiske 406-årsager

  • Sletning af møde når provisionStatus ≠ AWAITS_PROVISION
  • Opdatering ud over endTime når provisionStatus er PROVISIONED_OK
  • Ugyldig template-konfiguration eller for lille URI-interval

Anbefalet klient-adfærd

Status Handling
400 Vis valideringsfejl til bruger; ret input
401 Forny token; ellers logud
403 Vis adgangsfejl; foretag ikke retry
404 Håndter som "ikke fundet"
406 Tjek provisionStatus; tilpas operation
500 Log fejl; retry med backoff; kontakt support ved gentagelse

Se også Fejlhåndtering — eksempler.

JWT-claims og roller

v2 anvender OAuth2/JWT fra VDX Keycloak. Claim-navne er konfigurerbare, men følgende skal være til stede i token:

Claim (typisk navn) Påkrævet Beskrivelse
userservice.token.attribute.organisation Ja (create/update) Brugerens organisation
userservice.token.attribute.email Ja (create/update) Brugerens email
userservice.token.attribute.userrole Ja Mindst én meeting-rolle

Bekræft de konkrete claim-navne ved adgangsanmodning hos MedCom.

Meeting-roller

Følgende roller er relevante for eksterne integrationer (værdierne er ikke konfigurerbare):

Rolle Beskrivelse
meeting-admin Admin — templates, pool-reservation, fuld adgang
meeting-user Normal bruger — egne møder
meeting-planner Planlægger — møder i organisation, evt. via organizedByEmail

En bruger kan have flere roller samtidig. Endpoint-beskrivelser angiver hvilke roller der giver adgang.

Bemærk: Provisioner-roller (meeting-provisioner, meeting-provisioner-user) bruges kun internt i VDX og kan ikke tildeles eksterne brugere.

provisionStatus

Værdi Numerisk Beskrivelse
AWAITS_PROVISION 0 Afventer provisionering (default)
STARTING_TO_PROVISION 1 Provisionering igangsat
PROVISION_PROBLEMS 2 Fejl under provisionering
PROVISIONED_OK 3 Succesfuldt provisioneret
STARTING_TO_DEPROVISION 4 Deprovisionering igangsat
DEPROVISION_PROBLEMS 5 Fejl under deprovisionering
DEPROVISION_OK 6 Succesfuldt deprovisioneret

Øvrige enums

guestMicrophone

on, off, muted

meetingType

NORMAL (default), POOL

vmrType

conference, lecture

vmrQuality

sd, hd, fullhd

directMedia

never, best_effort

viewType (udvalg)

one_main_zero_pips, one_main_seven_pips, one_main_twentyone_pips, two_mains_twentyone_pips, m.fl.

Se OpenAPI-kontrakt for komplet enum-liste.

Timestamp-format

v2 (anvend dette)

Retning Format Eksempel
Input (query/body) yyyy-MM-dd'T'HH:mm:ssXXX 2026-06-28T10:00:00Z
Output (respons) ISO 8601 med offset 2026-06-28T12:00:00+02:00
  • Sekundbrøkdele i input tillades men ignoreres
  • Ved query med + i timezone: URL-encode som %2B

v1/v2-forskelle

v1 er under udfasning. Nye integrationer skal bruge v2.

Område v1 v2
Base path /meetings, /scheduling-info, ... /v2/meetings, /v2/scheduling-info, ...
Autentificering SAML-attributter / sessiondata OAuth2 JWT (Keycloak)
Query timestamp 2019-10-02T14:01:00+%2B0000 2019-10-02T14:01:00Z
Output timestamp 2019-10-02T13:00:00 +0000 2019-10-02T15:00:00+02:00
Provisioner-rolle meeting-provisioner (auto promoted) Eksplicit meeting-provisioner-user claim (kun intern)

OpenAPI-kontrakt

Fuld API-kontrakt (SwaggerHub):

https://api-docs.vconf.dk/videoapi/v1/videoapi/

Kontrakten dækker både v1 og v2. v2-endpoints er under /v2/-prefix.

Flow-diagrammer

Booking-integration (mønster A)

sequenceDiagram
    participant App as Din backend
    participant Keycloak
    participant VideoAPI as Video API v2

    App->>Keycloak: Authorization Code login
    Keycloak->>App: access_token
    App->>VideoAPI: POST /v2/meetings
    VideoAPI->>App: Meeting + uuid
    App->>VideoAPI: GET /v2/scheduling-info/{uuid}
    VideoAPI->>App: uriWithDomain, portalLink, pins

Se også Integrationsguide — flows.

Se også

Ændringshistorik

Dato Ændring
2026-06-27 Første reference-side for MedCom Video API v2