Deep Link-automatisering

Opret automatiseringer programmatisk ved hjælp af URL-skemaer.

Last updated: February 6, 2026

On this page

Deep link-automatiseringer giver dig mulighed for at oprette REST API-automatiseringer programmatisk ved hjælp af URL-skemaer. Dette er ideelt til automatiseringsscripts, konfigurationsstyring eller integration med eksterne systemer, der har brug for at konfigurere eksport af sundhedsdata.

Oversigt

Deep link-automatiseringer bruger et brugerdefineret URL-skema til at oprette og konfigurere REST API-automatiseringer uden manuel indtastning af indstillinger i appen. Når du åbner en deep link-URL, opretter appen automatisk en ny automatisering med den angivne konfiguration.

Anvendelsestilfælde:

  • Programmatisk automatiseringsopsætning fra scripts eller værktøjer
  • Masse-automatiseringskonfiguration
  • Integration med konfigurationsstyringssystemer
  • Hurtig opsætning fra eksterne applikationer eller websteder
  • Test- og udviklingsarbejdsgange

Nøglefunktioner:

  • Opret automatiseringer via URL-skema
  • Konfigurer alle REST API-automatiseringsindstillinger
  • Typesikker parametervalidering
  • Omfattende fejlmeddelelser

Begrænsninger

  • Deep links understøtter kun REST API-automatiseringer (ikke Dropbox, Google Drive osv.)
  • URL-længdebegrænsninger kan begrænse meget lange parameterlister
  • Alle begrænsninger fra REST API-automatiseringer gælder (baggrundsbehandling, adgang til sundhedsdata osv.)

URL-format

Deep link-URL'en følger denne struktur:

com.HealthExport://automation?parameter1=value1&parameter2=value2&...

Base-URL: com.HealthExport://automation

Parametre: Alle parametre er valgfrie undtagen name og url. Parametre er versalufølsomme.

Parameterreference

Påkrævede parametre

url (påkrævet)

  • Type: Streng (gyldig URL)
  • Beskrivelse: Slutpunkt-URL'en, hvor sundhedsdata vil blive sendt
  • Eksempel: https://api.example.com/health-data
  • Bemærk: Skal være en gyldig HTTP/HTTPS-URL

name (påkrævet)

  • Type: Streng
  • Beskrivelse: Et beskrivende navn til automatiseringen
  • Eksempel: My%20Backend%20API (URL-kodet: "My Backend API")
  • Bemærk: Skal være URL-kodet, hvis den indeholder mellemrum eller specialtegn

Grundlæggende konfiguration

format

  • Type: Enum (json, csv)
  • Standard: json
  • Beskrivelse: Eksportformat til dataene
  • Eksempel: format=json eller format=csv
  • Bemærk: CSV-format aktiverer automatisk dataaggregering

enabled

  • Type: Boolean (true, false, 1, 0, yes, no)
  • Standard: false
  • Beskrivelse: Om automatiseringen aktiveres med det samme efter oprettelse
  • Eksempel: enabled=true

datatype

  • Type: Enum (se datatyper nedenfor)
  • Standard: healthMetrics
  • Beskrivelse: Type sundhedsdata, der skal eksporteres
  • Eksempel: datatype=workouts
  • Bemærk: Kun én datatype kan vælges. Indstilling af dette konfigurerer automatisk de relevante inkluderingsflags.

Gyldige datatyper:

  • healthMetrics - Sundhedsmålinger (skridt, puls, søvn osv.)
  • workouts - Trænings- og fitnessaktiviteter
  • symptoms - Sundhedssymptomer og tilstande
  • ecg - Elektrokardiogramaflæsninger
  • heartRateNotification - Høje/lave pulshændelser
  • stateOfMind - Humør- og mentale tilstandsindtastninger (iOS 18.0+)
  • cycleTracking - Menstruationscyklus og reproduktive sundhedsdata
  • medications - Medicinlogfiler og overholdelse (iOS 26.0+)

Eksportindstillinger

period

  • Type: Enum
  • Standard: none
  • Beskrivelse: Datointerval for dataeksport
  • Eksempel: period=today

Gyldige værdier:

  • none - Standard (hele foregående dag plus aktuel dag)
  • lastsync - Siden sidste synkronisering
  • today - Aktuel dag
  • yesterday - Foregående dag
  • previous7days - Foregående 7 dage
  • realtime - Realtidsopdateringer (kræver sekunder synkroniseringsinterval)

interval

  • Type: Enum
  • Standard: none
  • Beskrivelse: Tidsgruppering/aggregeringsinterval (kun gyldigt for healthMetrics-datatype)
  • Eksempel: interval=hours

Gyldige værdier:

  • none - Standard (ingen aggregering)
  • minutes - Gruppér efter minut
  • hours - Gruppér efter time
  • days - Gruppér efter dag
  • weeks - Gruppér efter uge
  • months - Gruppér efter måned
  • years - Gruppér efter år

Bemærk: Denne parameter er kun gyldig, når datatype=healthMetrics. CSV-format aggregerer altid data.

aggregatedata

  • Type: Boolean
  • Standard: true (for CSV), false (for JSON)
  • Beskrivelse: Om data skal aggregeres/opsummeres (kun gyldigt for healthMetrics med JSON-format)
  • Eksempel: aggregatedata=true
  • Bemærk: Indstilles automatisk til true, når format=csv

aggregatesleep

  • Type: Boolean
  • Standard: true
  • Beskrivelse: Om søvndata skal aggregeres
  • Eksempel: aggregatesleep=true

exportversion

  • Type: Enum (v1, v2, 1, 2)
  • Standard: v2
  • Beskrivelse: Eksportformatversion
  • Eksempel: exportversion=v2
  • Bemærk: Version 2 inkluderer forbedrede træningsdata og mere detaljerede metadata

batchrequests

  • Type: Boolean
  • Standard: false
  • Beskrivelse: Send data i batches over flere anmodninger (kun gyldigt for REST API med JSON-format)
  • Eksempel: batchrequests=true
  • Bemærk: Kun gyldigt, når format=json og exportDestination=restApi

Synkroniseringskadence

syncinterval

  • Type: Enum
  • Standard: minutes
  • Beskrivelse: Interval for synkroniseringskadence
  • Eksempel: syncinterval=hours

Gyldige værdier:

  • minutes - Synkroniser hvert N minut
  • hours - Synkroniser hver N time
  • days - Synkroniser hver N dag
  • weeks - Synkroniser hver N uge
  • seconds - Kun gyldigt, når period=realtime

Bemærk: For REST API-automatiseringer er kun minutes, hours, days og weeks gyldige, medmindre der bruges realtidseksport.

syncquantity

  • Type: Heltal (positivt)
  • Standard: 5
  • Beskrivelse: Antal intervaller mellem synkroniseringer
  • Eksempel: syncquantity=10 (synkroniser hvert 10. minut, hvis syncinterval=minutes)
  • Bemærk: Skal være større end 0

HTTP-konfiguration

headers

  • Type: Streng (kommaseparerede nøgle-værdi-par)
  • Standard: Ingen
  • Beskrivelse: HTTP-headere til autentificering eller metadata
  • Eksempel: headers=Authorization,Bearer%20token123,X-API-Key,abc123
  • Format: key1,value1,key2,value2,...
  • Bemærk: Værdier skal være URL-kodede. Hvert header kræver både en nøgle og værdi.

Eksempel-headere:

  • Authorization, Bearer your-token
  • X-API-Key, your-api-key
  • Content-Type, application/json

requesttimeout

  • Type: Heltal (60-86400)
  • Standard: 60
  • Beskrivelse: Anmodnings-timeout i sekunder
  • Eksempel: requesttimeout=300
  • Bemærk: Skal være mellem 60 og 86400 sekunder (1 minut til 24 timer)

Datatypespecifikke indstillinger

Sundhedsmålingsindstillinger

metrics
  • Type: Streng (kommaseparerede MetricName rawValues)
  • Standard: Alle tilgængelige målinger
  • Beskrivelse: Specifikke sundhedsmålinger, der skal inkluderes (kun gyldigt for healthMetrics-datatype)
  • Eksempel: metrics=Step%20Count,Heart%20Rate,Active%20Energy
  • Bemærk: Skal bruge nøjagtige MetricName rawValues. Hvis ikke angivet, inkluderes alle tilgængelige målinger.

Almindelige målenavne:

  • Step Count
  • Heart Rate
  • Active Energy
  • Apple Exercise Time
  • Sleep Analysis
  • Walking + Running Distance

Se appens målevælgerskærm for den komplette liste over tilgængelige målinger.

Træningsindstillinger

includeroutes
  • Type: Boolean
  • Standard: true
  • Beskrivelse: Inkluder rutedata for træninger (kun gyldigt for workouts-datatype)
  • Eksempel: includeroutes=true
includeworkoutmetadata
  • Type: Boolean
  • Standard: true
  • Beskrivelse: Inkluder træningsmålinger (puls, kalorier osv.) indsamlet under træninger (kun gyldigt for workouts-datatype)
  • Eksempel: includeworkoutmetadata=true
workoutsmetadatainterval
  • Type: Enum (minutes, seconds)
  • Standard: minutes
  • Beskrivelse: Tidsgruppering for træningsmålinger (kun gyldigt for workouts-datatype med exportVersion v2)
  • Eksempel: workoutsmetadatainterval=seconds
  • Bemærk: Kun gyldigt, når datatype=workouts og exportversion=v2
workouttypes
  • Type: Streng (kommaseparerede UInt-værdier)
  • Standard: Tom (alle træningstyper)
  • Beskrivelse: Specifikke træningstyper, der skal inkluderes (kun gyldigt for workouts-datatype)
  • Eksempel: workouttypes=1,2,3
  • Bemærk: Bruger HealthKit-træningstypeidentifikatorer

Notifikationer

notifyonupdate

  • Type: Boolean
  • Standard: true
  • Beskrivelse: Modtag notifikationer, når cachede data opdateres
  • Eksempel: notifyonupdate=true

notifywhenrun

  • Type: Boolean
  • Standard: true
  • Beskrivelse: Modtag notifikationer, hver gang automatiseringen udfører
  • Eksempel: notifywhenrun=false

Eksempler

Grundlæggende REST API-automatisering

com.HealthExport://automation?url=https://api.example.com/health&name=My%20Automation&format=json&enabled=true

Opretter en grundlæggende automatisering, der sender JSON-data til det angivne slutpunkt.

Med autentificeringsheadere

com.HealthExport://automation?url=https://api.example.com/health&name=Authenticated%20API&format=json&headers=Authorization,Bearer%20your-token-here,X-API-Key,abc123&enabled=true

Opretter en automatisering med brugerdefinerede autentificeringsheadere.

Sundhedsmålinger med specifikke målinger

com.HealthExport://automation?url=https://api.example.com/metrics&name=Steps%20and%20Heart%20Rate&format=json&datatype=healthMetrics&metrics=Step%20Count,Heart%20Rate&aggregatedata=true&interval=hours&enabled=true

Opretter en automatisering, der kun eksporterer skridt og puls, aggregeret efter time.

Træninger med rutedata

com.HealthExport://automation?url=https://api.example.com/workouts&name=Workout%20Export&format=json&datatype=workouts&includeroutes=true&includeworkoutmetadata=true&exportversion=v2&workoutsmetadatainterval=minutes&enabled=true

Opretter en automatisering for træninger med rutedata og træningsmålinger ved brug af eksportversion 2.

Komplet konfigurationseksempel

com.HealthExport://automation?url=https://api.example.com/health-data&name=Complete%20Configuration&format=json&datatype=healthMetrics&period=today&interval=hours&aggregatedata=true&aggregatesleep=true&exportversion=v2&syncinterval=hours&syncquantity=2&headers=Authorization,Bearer%20token123&requesttimeout=300&batchrequests=true&notifyonupdate=true&notifywhenrun=false&enabled=true

Et omfattende eksempel med alle større parametre konfigureret.

CSV-formateksempel

com.HealthExport://automation?url=https://api.example.com/csv&name=CSV%20Export&format=csv&datatype=healthMetrics&period=yesterday&enabled=true

Opretter en CSV-eksportautomatisering. Bemærk, at CSV-format automatisk aktiverer dataaggregering.

URL-kodning

Specialtegn i parameterværdier skal være URL-kodede. Almindelige kodninger:

  • Mellemrum: %20
  • Komma: %2C
  • Kolon: %3A
  • Semikolon: %3B
  • Lig med: %3D
  • Ampersand: %26
  • Plus: %2B

Eksempel:

  • Original: My Automation Name
  • Kodet: My%20Automation%20Name

Headere-eksempel:

  • Original: Authorization, Bearer token123
  • Kodet: Authorization,Bearer%20token123

De fleste programmeringssprog og værktøjer leverer URL-kodningsfunktioner:

  • Swift: addingPercentEncoding(withAllowedCharacters:)
  • JavaScript: encodeURIComponent()
  • Python: urllib.parse.quote()

Fra Safari (iOS)

  1. Åbn Safari på din iOS-enhed
  2. Indtast deep link-URL'en i adresselinjen
  3. Tryk på Gå
  4. Appen skal åbne og oprette automatiseringen

Fra Terminal (macOS/iOS Simulator)

xcrun simctl openurl booted "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true"

Fra Xcode

Tilføj et breakpoint eller brug debugger-konsollen:

let url = URL(string: "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true")!
try DataModel.shared.handleAPIDeepLink(url)

Fra Genveje-appen

  1. Opret en ny genvej
  2. Tilføj "Åbn URL'er"-handling
  3. Indtast din deep link-URL
  4. Kør genvejen

Fejlfinding

Almindelige problemer

"Could not parse the URL"

  • Bekræft, at URL-skemaet er korrekt: com.HealthExport://automation
  • Tjek, at alle parameterværdier er korrekt URL-kodede
  • Sørg for, at parameternavne er stavet korrekt (versalufølsomme)

"Invalid URL parameter value"

  • Bekræft, at URL'en er en gyldig HTTP/HTTPS-URL
  • Tjek for korrekt URL-kodning
  • Sørg for, at URL'en ikke indeholder ugyldige tegn

"Invalid data type"

  • Brug nøjagtige datatypeværdier: healthMetrics, workouts, symptoms, ecg, heartRateNotification, stateOfMind, cycleTracking, medications
  • Tjek stavning og versalføls​​ning (selvom versalufølsom matching understøttes)

"Invalid sync cadence interval"

  • For REST API, brug kun: minutes, hours, days, weeks
  • Brug seconds kun, når period=realtime

"Aggregation settings are only valid for healthMetrics data type"

  • aggregatedata og interval parametre virker kun med datatype=healthMetrics
  • Fjern disse parametre eller skift datatype

"Batch requests are only valid for REST API with JSON format"

  • batchrequests virker kun, når format=json
  • Skift format til JSON eller fjern batchrequests-parameteren

"Workout settings are only valid for workouts data type"

  • includeroutes, includeworkoutmetadata og workoutsmetadatainterval virker kun med datatype=workouts
  • Skift datatype til workouts eller fjern disse parametre

"Metrics parameter is only valid for healthMetrics data type"

  • metrics parameter virker kun med datatype=healthMetrics
  • Skift datatype eller fjern metrics-parameteren

"Invalid metric name"

  • Brug nøjagtige MetricName rawValues (f.eks. "Step Count", "Heart Rate")
  • Tjek stavning og versalføls​​ning
  • Se appens målevælgerskærm for gyldige navne

"Invalid request timeout"

  • Skal være mellem 60 og 86400 sekunder
  • Brug en værdi inden for dette interval

"A name is required for the automation"

  • Sørg for, at name-parameteren er inkluderet
  • Tjek, at værdien ikke er tom efter URL-afkodning

URL-længdebegrænsninger

Meget lange URL'er (især med mange målinger eller headere) kan overstige systemgrænser. Overvej:

  • Brug af færre målinger i metrics-parameteren
  • Reduktion af antallet af headere
  • Brug af kortere parameterværdier, hvor det er muligt
  • Opdeling af komplekse konfigurationer i flere enklere automatiseringer

Parameterpræcedens

Når flere parametre er i konflikt:

  1. Datatypevalg (datatype) nulstiller automatisk inkluderingsflags
  2. CSV-format (format=csv) indstiller automatisk aggregatedata=true
  3. Realtidsperiode (period=realtime) kræver syncinterval=seconds
  4. Valideringsfejl vil blive kastet for inkompatible kombinationer

Bedste praksis

  1. Altid URL-kod parameterværdier med specialtegn
  2. Test med simple URL'er først, tilføj derefter kompleksitet
  3. Brug beskrivende navne for lettere identifikation
  4. Valider URL'er før oprettelse af deep links programmatisk
  5. Håndter fejl elegant, når deep links parses
  6. Dokumenter dine deep link-formater, hvis du bygger værktøjer, der genererer dem
  7. Overvej URL-længde, når der inkluderes mange målinger eller headere
  8. Test på faktiske enheder samt simulatorer

Relateret dokumentation

Support

Hvis du støder på problemer, der ikke er dækket i denne vejledning:

  1. Tjek fejlmeddelelsen for specifikke parameterproblemer
  2. Bekræft, at din URL-kodning er korrekt
  3. Test med en minimal URL først
  4. Brug knappen Chat Support i appen for at få hjælp