Kodeeksempler¶
Eksemplerne dækker de centrale integrationsscenarier med curl og JSON.
| # | Scenarie | Endpoint / handling |
|---|---|---|
| 1 | Test API-forbindelse | GET /v2/info |
| 2 | Opret møde | POST /v2/meetings |
| 3 | Hent møde | GET /v2/meetings/{uuid} |
| 4 | Søg møder i periode | GET /v2/meetings |
| 5 | Opdater møde (PATCH) | PATCH /v2/meetings/{uuid} |
| 6 | Hent scheduling info | GET /v2/scheduling-info/{uuid} |
| 7 | Fejlhåndtering | 401 / 403 / 406 |
Forudsætninger i eksemplerne¶
Erstat placeholder-værdier:
| Variabel | Beskrivelse |
|---|---|
ACCESS_TOKEN |
JWT access token fra Keycloak efter login |
VIDEO_API_BASE |
https://videoapi.vconf-stage.dk (stage) |
MEETING_UUID |
UUID fra oprettet møde |
1. Test API-forbindelse (GET /v2/info)¶
VIDEO_API_BASE="https://videoapi.vconf-stage.dk"
ACCESS_TOKEN="DIT_ACCESS_TOKEN"
curl -s -X GET "${VIDEO_API_BASE}/v2/info" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
Forventet: HTTP 200 med info-array.
2. Opret møde (POST /v2/meetings)¶
curl -s -X POST "${VIDEO_API_BASE}/v2/meetings" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"subject": "Patientkonsultation",
"startTime": "2026-06-28T10:00:00Z",
"endTime": "2026-06-28T10:30:00Z",
"description": "Opfølgning efter tidligere besøg",
"externalId": "booking-12345",
"guestPinRequired": false
}'
Gem uuid og shortLink fra responsen.
Med scheduling template og arrangedBy¶
curl -s -X POST "${VIDEO_API_BASE}/v2/meetings" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"subject": "Teamsmøde",
"startTime": "2026-06-28T14:00:00+02:00",
"endTime": "2026-06-28T15:00:00+02:00",
"schedulingTemplateId": 5,
"organizedByEmail": "planlaegger@eksempel.dk"
}'
3. Hent møde (GET /v2/meetings/{uuid})¶
MEETING_UUID="46b46a1e-a4d3-4387-87ee-a67dcaa222cb"
curl -s -X GET "${VIDEO_API_BASE}/v2/meetings/${MEETING_UUID}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
4. Søg møder i periode (GET /v2/meetings)¶
curl -s -G "${VIDEO_API_BASE}/v2/meetings" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "from-start-time=2026-06-01T00:00:00Z" \
--data-urlencode "to-start-time=2026-06-30T23:59:59Z"
Søg via short ID¶
curl -s -G "${VIDEO_API_BASE}/v2/meetings" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
--data-urlencode "short-id=abcdefghijkl"
5. Opdater møde (PATCH /v2/meetings/{uuid})¶
Forlæng møde (kun endTime tilladt når provisionStatus er PROVISIONED_OK):
curl -s -X PATCH "${VIDEO_API_BASE}/v2/meetings/${MEETING_UUID}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"endTime": "2026-06-28T11:00:00Z"
}'
6. Hent scheduling info (GET /v2/scheduling-info/{uuid})¶
curl -s -X GET "${VIDEO_API_BASE}/v2/scheduling-info/${MEETING_UUID}" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
Typisk respons indeholder uriWithDomain, hostPin, guestPin, portalLink og provisionStatus.
7. Fejlhåndtering¶
401 — ugyldig eller manglende token¶
Handling: Forny token via Keycloak; hvis det fejler, log brugeren ud.
403 — organisationsadgang nægtet¶
Handling: Mødet tilhører ikke brugerens organisation — vis fejl, foretag ikke retry.
406 — ugyldig operation for provisionStatus¶
Handling: Tjek provisionStatus via scheduling info før sletning/opdatering.
Se Fejlkoder for komplet oversigt.
Se også¶
Ændringshistorik¶
| Dato | Ændring |
|---|---|
| 2026-06-27 | Første kodeeksempler for MedCom Video API v2 |