REST API
Integrér dine egne systemer med mTime via REST API’et.
Overblik
Alt, hvad en kundeintegration må kalde, er beskrevet i API-referencen: den komplette og altid opdaterede liste over endpoints, formatet på forespørgsler og svar samt en ændringslog over ikke-bagudkompatible ændringer. Det samme dokument findes i maskinlæsbar form på /api/openapi.yaml (OpenAPI 3.1).
API’et ligger under /api på samme adresse som applikationen, for eksempel
https://mtime.app/api.
Autentificering
Adgang til API’et sker altid gennem en servicebruger – en bruger, der ikke er en person, men repræsenterer én integration – og dens API-nøgler. Hvordan du opretter dem, er beskrevet i Brugere og rettigheder.
Send nøglen som bearer-token i hver forespørgsel:
Authorization: Bearer mtime_ak_...API-versioner
API’et versioneres efter dato. Din integration har én kompatibilitetsdato – den dag, den blev udviklet op mod API’et – og hvert endpoint svarer med det format, det havde den dag, også selvom endpointet er ændret siden. Nye endpoints og andre bagudkompatible tilføjelser får du adgang til uanset datoen.
- Når en servicebruger oprettes, sættes dens kompatibilitetsdato til dagens dato, så integrationen aldrig bliver overrasket af senere ikke-bagudkompatible ændringer.
- Den dato, der faktisk er brugt, sendes med i hvert svar i headeren
X-Mtime-Api-Version. Du kan også sende headeren med i en forespørgsel for at bruge en anden dato end den gemte i netop det kald. - En administrator kan rykke den gemte dato frem – for hele servicebrugeren eller for en enkelt API-nøgle – under . Gør det bevidst, når integrationen er opdateret efter ændringsloggen.
Ikke-bagudkompatible ændringer og udfasning
Kun ændringer, der ikke er bagudkompatible, giver en ny version, og hver af dem er dokumenteret – hvad der er ændret, og hvorfor – i afsnittet Breaking changes i API-referencen.
Når et format erstattes, fortsætter det gamle med at svare de kaldere, der er
låst til en dato før ændringen, i mindst 18 måneder. Når det er planlagt
fjernet, får svarene headerne Deprecation og Sunset, og under
advarer mTime administratorer
om, hvilke servicebrugere og API-nøgler der stadig er låst til den version, der
udfases.