MILES API
Dies ist der API-Bereich der MILES-Dokumentation, geschrieben für Entwicklerinnen und Entwickler, die programmatisch mit MILES arbeiten möchten — oder Systeme bauen, die das tun. MILES stellt eine GraphQL API bereit, dieselbe, auf der auch unsere eigenen Anwendungen aufbauen. Hier finden Sie das Wichtigste für den Einstieg und erfahren, wie Sie auf dem Laufenden bleiben.
Sie suchen Hilfe zur MILES App selbst? Dann sind Sie im Leitfaden richtig.
Endpunkt
Abschnitt betitelt „Endpunkt“https://api-prod.mileslearning.net/graphqlDie API spricht standardisiertes GraphQL über HTTP POST.
Introspection ist aktiviert, das
vollständige, aktuelle Schema ist also jederzeit verfügbar. Sie können einen
gängigen GraphQL-Client wie Altair auf den
Endpunkt richten und es interaktiv erkunden.
Authentifizierung
Abschnitt betitelt „Authentifizierung“Um die meisten Operationen gegen den Endpunkt auszuführen, müssen Sie sich
zunächst authentifizieren. Melden Sie sich mit der Mutation signinUser
(E-Mail und Passwort) oder mit signinUserWithAPIKey an (API-Schlüssel werden
in der MILES App verwaltet). Beide liefern ein Token, das Sie bei den folgenden
Anfragen mitschicken:
Authorization: Bearer <token>Dateien hochladen
Abschnitt betitelt „Dateien hochladen“Datei-Uploads laufen außerhalb von GraphQL. Schicken Sie sie als
multipart/form-data an den Nachbar-Endpunkt, authentifiziert mit demselben
Bearer-Token:
POST https://api-prod.mileslearning.net/uploadfile: die Datei selbst, als Multipart-Part (bis 50 MB)uploadType: wofür die Datei gedacht ist.CONTENTIMAGEfür Dateien in Lerninhalten,AVATARfür Profilbilder oder ein anderer Wert des Schema-EnumsUploadType.aiGenerated: optional. Übergeben Sietrue, wenn die Datei KI-generierter Inhalt ist. Die Kennzeichnung lässt sich später über die MutationupdateFileReferencesändern.
Die Antwort ist die erzeugte FileReference als JSON. Referenzieren Sie ihre
id überall dort, wo Mutationen eine Datei akzeptieren.
Mit GraphQL-Tooling auf dem Laufenden bleiben
Abschnitt betitelt „Mit GraphQL-Tooling auf dem Laufenden bleiben“Eine der schönen Seiten von GraphQL: Da das Schema die maßgebliche Quelle
ist und Introspection offensteht, steht alles auf diesen Seiten auch Ihrem
Tooling zur Verfügung. Werkzeuge wie
GraphQL Inspector
(graphql-inspector validate),
GraphQL Code Generator oder das
GraphQL-Plugin Ihrer IDE können Ihre Queries gegen das Live-Schema prüfen
und Deprecations automatisch melden — während der Entwicklung, in der CI oder
in automatisierten Tests.
Für Änderungen, die das Schema nicht ausdrücken kann, gibt es das API-Changelog mit RSS-Feed.
Deprecation-Richtlinie
Abschnitt betitelt „Deprecation-Richtlinie“Wir möchten Ihre Integration nicht zerbrechen: Bestehende Operationen und Felder werden nie an Ort und Stelle geändert. Wenn sich etwas weiterentwickelt, kommt eine neue Variante hinzu und die alte wird als veraltet markiert — entfernt wird nur, was zuvor als veraltet markiert war.
- Die Markierung
@deprecatedim Schema ist die maßgebliche Ankündigung. Die Seite Veraltete Elemente und das API-Changelog zeigen dieselbe Information in lesbarerer Form. - Nicht alles ist eine Schema-Änderung: Neue Anforderungen wie Änderungen an der Authentifizierung oder Einschränkungen auf Netzwerkebene werden im API-Changelog angekündigt — dafür ist das Changelog die maßgebliche Quelle.
- Zwischen Deprecation und Entfernung bleibt Zeit für die Umstellung — mehr, wenn die Änderung auf Ihrer Seite echte Arbeit bedeutet, weniger, wenn sie trivial ist. Wir empfehlen, zeitnah umzustellen; wenn Sie länger brauchen, sagen Sie uns Bescheid.
- Neue Operationen, Felder, optionale Argumente und Enum-Werte kommen ohne vorherige Ankündigung hinzu — in GraphQL brechen Ergänzungen keine bestehenden Queries.
Möchten Sie mit MILES bauen?
Binden Sie Ihre eigenen Systeme an, automatisieren Sie Ihre Abläufe und holen Sie sich Lerndaten genau dorthin, wo Sie sie brauchen — die MILES API bietet Ihnen dieselben Funktionen, auf denen unsere eigenen Anwendungen aufbauen.
Wir besprechen gerne Ihren Anwendungsfall und begleiten Sie bei der Integration.
Kontakt aufnehmen