DATEYE

Schnellstart

Deine erste Anfrage in 5 Minuten

Diese Seite führt dich in fünf Schritten von null zu einem funktionierenden Import. Du brauchst nur curl (oder einen beliebigen HTTP-Client) und einen Setup-Code aus dem Portal.

Schritt 1 — Setup-Code im Portal generieren

Öffne dein Portal, gehe zu Einstellungen → Geräte und generiere einen neuen Setup-Code. Du siehst etwas wie MK-A3F7-92BC. Der Code ist einmalig verwendbar und läuft nach 24 Stunden ab.

Schritt 2 — Code einlösen

Tausche den Code gegen einen API-Key, eine Host-URL und einen Encryption-Key:

curl -s -X POST https://myopia.kids/api/v1/setup/redeem \
  -H "Content-Type: application/json" \
  -d '{
    "code": "MK-A3F7-92BC",
    "hostname": "mein-integration-server"
  }'

Antwort:

{
  "success": true,
  "data": {
    "apiKey": "mk_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
    "host": "https://myopia.kids",
    "encryptionKey": "base64encodedkey=="
  }
}

Speichere apiKey und host — jede folgende Anfrage verwendet sie. Der encryptionKey wird nur für das optionale DB-Passphrase-Backup benötigt (POST /setup/db-key).

Schritt 3 — Konnektivität prüfen

Überprüfe, ob dein Key gültig ist und der Dienst erreichbar ist:

curl -s https://myopia.kids/api/v1/health \
  -H "Authorization: Bearer mk_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"

Antwort:

{ "status": "ok" }

Ein 401 bedeutet, der Key ist falsch oder wurde widerrufen. Ein 200 bedeutet, du bist bereit zum Importieren.

Schritt 4 — Erste Messung senden

Verwende den Modus first_visit für einen Patienten, den der Server noch nicht kennt. Das devicePseudonym ist ein stabiler, clientseitig berechneter HMAC-Bezeichner — niemals ein echter Name oder ein Geburtsdatum.

curl -s -X POST https://myopia.kids/api/v1/import \
  -H "Authorization: Bearer mk_live_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "first_visit",
    "devicePseudonym": "a3f792bc1e4d5f6a7b8c9d0e1f2a3b4c",
    "hints": {
      "initialsHint": "AB",
      "dobMonthYearHint": "1985-03"
    },
    "measurements": [
      {
        "eye": "R",
        "measuredAt": "2026-07-15T09:00:00.000Z",
        "sphere": -2.5,
        "cylinder": -0.75,
        "axis": 180
      }
    ]
  }'

Antwort (Patient landet in der Warteschlange):

{
  "success": true,
  "data": {
    "assigned": 0,
    "unmatched": 1,
    "skip_pseudonyms": []
  }
}

unmatched: 1 bedeutet, der Server hat die Messung empfangen, weiß aber noch nicht, welchem Patientendatensatz sie gehört. Ein Praxismitarbeiter verknüpft das Pseudonym im Portal mit einem echten Patienten — danach verwenden Folge-Imports mode: token mit dem zurückgegebenen persistentToken für die direkte Zuordnung.

Schritt 5 — Weiter geht’s