Deep link-automatisering

Skapa automatiseringar programmatiskt med URL-scheman.

Last updated: April 5, 2026

PĂ„ denna sida

Deep link-automatiseringar lÄter dig skapa REST API-automatiseringar programmatiskt med URL-scheman. Det passar för automationsskript, konfigurationshantering eller integration med externa system som behöver konfigurera export av hÀlsodata.

Översikt

Deep link-automatiseringar anvÀnder ett anpassat URL-schema för att skapa och konfigurera REST API-automatiseringar utan att manuellt ange instÀllningar i appen. NÀr du öppnar en deep link-URL skapar appen automatiskt en ny automatisering med den angivna konfigurationen.

AnvÀndningsfall:

  • Programmatisk uppsĂ€ttning av automatiseringar frĂ„n skript eller verktyg
  • Masskonfiguration av automatiseringar
  • Integration med konfigurationssystem
  • Snabb uppsĂ€ttning frĂ„n externa appar eller webbplatser
  • Test- och utvecklingsflöden

Huvudfunktioner:

  • Skapa automatiseringar via URL-schema
  • Konfigurera alla instĂ€llningar för REST API-automatisering
  • TypsĂ€ker parametervalidering
  • Utförliga felmeddelanden

BegrÀnsningar

  • Deep links stöder endast REST API-automatiseringar (inte Dropbox, Google Drive med mera)
  • URL-lĂ€ngdbegrĂ€nsningar kan begrĂ€nsa mycket lĂ„nga parameterlistor
  • Alla begrĂ€nsningar frĂ„n REST API-automatiseringar gĂ€ller (bakgrundsbehandling, Ă„tkomst till hĂ€lsodata med mera)

URL-format

Deep link-URL:en följer denna struktur:

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

Bas-URL: com.HealthExport://automation

Parametrar: Alla parametrar Àr valfria utom name och url. Parameternamn skiljer inte mellan versaler och gemener.

Parameterreferens

Obligatoriska parametrar

url (obligatorisk)

  • Typ: StrĂ€ng (giltig URL)
  • Beskrivning: Slutpunkts-URL dit hĂ€lsodata skickas
  • Exempel: https://api.example.com/health-data
  • AnmĂ€rkning: MĂ„ste vara en giltig HTTP/HTTPS-URL

name (obligatorisk)

  • Typ: StrĂ€ng
  • Beskrivning: Ett beskrivande namn pĂ„ automatiseringen
  • Exempel: My%20Backend%20API (URL-kodat: «My Backend API»)
  • AnmĂ€rkning: MĂ„ste URL-kodas om namnet innehĂ„ller mellanslag eller specialtecken

GrundlÀggande konfiguration

format

  • Typ: Enum (json, csv)
  • Standard: json
  • Beskrivning: Exportformat för data
  • Exempel: format=json eller format=csv
  • AnmĂ€rkning: CSV-format aktiverar automatiskt dataaggregering

enabled

  • Typ: Boolesk (true, false, 1, 0, yes, no)
  • Standard: false
  • Beskrivning: Om automatiseringen ska aktiveras direkt efter skapande
  • Exempel: enabled=true

datatype

  • Typ: Enum (se datatyper nedan)
  • Standard: healthMetrics
  • Beskrivning: Typ av hĂ€lsodata att exportera
  • Exempel: datatype=workouts
  • AnmĂ€rkning: Endast en datatyp kan vĂ€ljas. Detta konfigurerar automatiskt rĂ€tt inkluderingsflaggor.

Giltiga datatyper:

  • healthMetrics – HĂ€lsomĂ€tningar (steg, puls, sömn med mera)
  • workouts – TrĂ€ning och aktiviteter
  • symptoms – Symptom och hĂ€lsotillstĂ„nd
  • ecg – EKG-mĂ€tningar
  • heartRateNotification – Hög/lĂ„g puls-hĂ€ndelser
  • stateOfMind – Humör och mental status (iOS 18.0+)
  • cycleTracking – Menstruationscykel och reproduktiv hĂ€lsa
  • medications – Medicinloggar och efterlevnad (iOS 26.0+)

ExportinstÀllningar

period

  • Typ: Enum
  • Standard: none
  • Beskrivning: Datumintervall för dataexport
  • Exempel: period=today

Giltiga vÀrden:

  • none – Standard (hela föregĂ„ende dag plus innevarande dag)
  • lastsync – Sedan senaste synkronisering
  • today – Idag
  • yesterday – IgĂ„r
  • previous7days – Senaste 7 dagarna
  • realtime – Realtidsuppdateringar (krĂ€ver synkroniseringsintervall i sekunder)

interval

  • Typ: Enum
  • Standard: none
  • Beskrivning: Tidsgrupperings-/aggregeringsintervall (endast giltigt för datatypen healthMetrics)
  • Exempel: interval=hours

Giltiga vÀrden:

  • none – Standard (ingen aggregering)
  • minutes – Gruppera per minut
  • hours – Gruppera per timme
  • days – Gruppera per dag
  • weeks – Gruppera per vecka
  • months – Gruppera per mĂ„nad
  • years – Gruppera per Ă„r

AnmÀrkning: Denna parameter Àr endast giltig nÀr datatype=healthMetrics. CSV-format aggregerar alltid data.

aggregatedata

  • Typ: Boolesk
  • Standard: true (för CSV), false (för JSON)
  • Beskrivning: Om data ska aggregeras/sammanfattas (endast giltigt för healthMetrics med JSON-format)
  • Exempel: aggregatedata=true
  • AnmĂ€rkning: SĂ€tts automatiskt till true nĂ€r format=csv

aggregatesleep

  • Typ: Boolesk
  • Standard: true
  • Beskrivning: Om sömn ska aggregeras
  • Exempel: aggregatesleep=true

exportversion

  • Typ: Enum (v1, v2, 1, 2)
  • Standard: v2
  • Beskrivning: Version av exportformatet
  • Exempel: exportversion=v2
  • AnmĂ€rkning: Version 2 inkluderar utökad trĂ€ningsdata och mer detaljerad metadata

batchrequests

  • Typ: Boolesk
  • Standard: false
  • Beskrivning: Skicka data i batcher över flera förfrĂ„gningar (endast giltigt för REST API med JSON-format)
  • Exempel: batchrequests=true
  • AnmĂ€rkning: Endast giltigt nĂ€r format=json och exportDestination=restApi

Synkroniseringsfrekvens

syncinterval

  • Typ: Enum
  • Standard: minutes
  • Beskrivning: Intervall för synkroniseringsfrekvens
  • Exempel: syncinterval=hours

Giltiga vÀrden:

  • minutes – Synkronisera var N:e minut
  • hours – Synkronisera var N:e timme
  • days – Synkronisera var N:e dag
  • weeks – Synkronisera var N:e vecka
  • seconds – Endast giltigt nĂ€r period=realtime

AnmÀrkning: För REST API-automatiseringar Àr endast minutes, hours, days och weeks giltiga om du inte anvÀnder realexport.

syncquantity

  • Typ: Heltal (positivt)
  • Standard: 5
  • Beskrivning: Antal intervall mellan synkroniseringar
  • Exempel: syncquantity=10 (synkronisera var 10:e minut om syncinterval=minutes)
  • AnmĂ€rkning: MĂ„ste vara större Ă€n 0

HTTP-konfiguration

headers

  • Typ: StrĂ€ng (kommaseparerade nyckel-vĂ€rde-par)
  • Standard: Ingen
  • Beskrivning: HTTP-rubriker för autentisering eller metadata
  • Exempel: headers=Authorization,Bearer%20token123,X-API-Key,abc123
  • Format: key1,value1,key2,value2,...
  • AnmĂ€rkning: VĂ€rden bör URL-kodas. Varje rubrik krĂ€ver bĂ„de nyckel och vĂ€rde.

Exempel pÄ rubriker:

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

requesttimeout

  • Typ: Heltal (60–86400)
  • Standard: 60
  • Beskrivning: Timeout för förfrĂ„gan i sekunder
  • Exempel: requesttimeout=300
  • AnmĂ€rkning: MĂ„ste vara mellan 60 och 86400 sekunder (1 minut till 24 timmar)

InstÀllningar per datatyp

InstÀllningar för hÀlsomÀtningar

metrics
  • Typ: StrĂ€ng (kommaseparerade MetricName rawValues)
  • Standard: Alla tillgĂ€ngliga mĂ€tningar
  • Beskrivning: Specifika hĂ€lsomĂ€tningar att inkludera (endast giltigt för healthMetrics)
  • Exempel: metrics=Step%20Count,Heart%20Rate,Active%20Energy
  • AnmĂ€rkning: AnvĂ€nd exakta MetricName rawValues. Om utelĂ€mnat inkluderas alla tillgĂ€ngliga mĂ€tningar.

Vanliga mÀtningar:

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

Se appens skÀrm för val av mÀtningar för fullstÀndig lista.

InstÀllningar för trÀning

includeroutes
  • Typ: Boolesk
  • Standard: true
  • Beskrivning: Inkludera ruttdata för pass (endast giltigt för workouts)
  • Exempel: includeroutes=true
includeworkoutmetadata
  • Typ: Boolesk
  • Standard: true
  • Beskrivning: Inkludera trĂ€ningsmĂ€tningar (puls, kalorier med mera.) under passen (endast giltigt för workouts)
  • Exempel: includeworkoutmetadata=true
workoutsmetadatainterval
  • Typ: Enum (minutes, seconds)
  • Standard: minutes
  • Beskrivning: Tidsgruppering för trĂ€ningsmĂ€tningar (endast giltigt för workouts med exportversion v2)
  • Exempel: workoutsmetadatainterval=seconds
  • AnmĂ€rkning: Endast giltigt nĂ€r datatype=workouts och exportversion=v2
workouttypes
  • Typ: StrĂ€ng (kommaseparerade UInt-vĂ€rden)
  • Standard: Tom (alla trĂ€ningstyper)
  • Beskrivning: Specifika trĂ€ningstyper att inkludera (endast giltigt för workouts)
  • Exempel: workouttypes=1,2,3
  • AnmĂ€rkning: AnvĂ€nder HealthKit-identifierare för trĂ€ningstyp

Aviseringar

notifyonupdate

  • Typ: Boolesk
  • Standard: true
  • Beskrivning: Ta emot aviseringar nĂ€r cachad data uppdateras
  • Exempel: notifyonupdate=true

notifywhenrun

  • Typ: Boolesk
  • Standard: true
  • Beskrivning: Ta emot aviseringar varje gĂ„ng automatiseringen körs
  • Exempel: notifywhenrun=false

Exempel

GrundlÀggande REST API-automatisering

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

Skapar en enkel automatisering som skickar JSON-data till den angivna slutpunkten.

Med autentiseringsrubriker

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

Skapar en automatisering med anpassade autentiseringsrubriker.

HÀlsomÀtningar med specifika mÀtningar

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

Skapar en automatisering som endast exporterar steg och puls, aggregerat per timme.

TrÀning med ruttdata

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

Skapar en automatisering för trÀning med ruttdata och trÀningsmÀtningar, med exportversion 2.

Komplett konfigurationsexempel

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

Ett omfattande exempel med alla huvudparametrar konfigurerade.

CSV-formatexempel

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

Skapar en CSV-exportautomatisering. CSV-format aktiverar automatiskt dataaggregering.

URL-kodning

Specialtecken i parametervÀrden mÄste URL-kodas. Vanliga kodningar:

  • Mellanslag: %20
  • Komma: %2C
  • Kolon: %3A
  • Semikolon: %3B
  • Likhetstecken: %3D
  • Et-tecken: %26
  • Plus: %2B

Exempel:

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

Exempel med rubriker:

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

De flesta programmeringssprÄk och verktyg har funktioner för URL-kodning:

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

FrÄn Safari (iOS)

  1. Öppna Safari pĂ„ din iOS-enhet
  2. Ange deep link-URL:en i adressfÀltet
  3. Tryck pÄ GÄ
  4. Appen ska öppnas och skapa automatiseringen

FrÄn Terminal (macOS/iOS Simulator)

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

FrÄn Xcode

LÀgg till en brytpunkt eller anvÀnd debuggerkonsolen:

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

FrÄn appen GenvÀgar

  1. Skapa en ny genvÀg
  2. LĂ€gg till Ă„tgĂ€rden «Öppna URL:er»
  3. Ange din deep link-URL
  4. Kör genvÀgen

Felsökning

Vanliga problem

"Could not parse the URL"

  • Kontrollera att URL-schemat Ă€r korrekt: com.HealthExport://automation
  • Kontrollera att alla parametervĂ€rden Ă€r korrekt URL-kodade
  • Kontrollera stavningen av parameternamn (skiljer inte mellan versaler och gemener)

"Invalid URL parameter value"

  • Kontrollera att URL:en Ă€r en giltig HTTP/HTTPS-URL
  • Kontrollera URL-kodning
  • Se till att URL:en inte innehĂ„ller ogiltiga tecken

"Invalid data type"

  • AnvĂ€nd exakta datatypvĂ€rden: healthMetrics, workouts, symptoms, ecg, heartRateNotification, stateOfMind, cycleTracking, medications
  • Kontrollera stavning (matchning skiljer inte mellan versaler och gemener)

"Invalid sync cadence interval"

  • För REST API, anvĂ€nd endast: minutes, hours, days, weeks
  • AnvĂ€nd seconds endast nĂ€r period=realtime

"Aggregation settings are only valid for healthMetrics data type"

  • Parametrarna aggregatedata och interval gĂ€ller endast med datatype=healthMetrics
  • Ta bort dessa parametrar eller Ă€ndra datatyp

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

  • batchrequests fungerar endast nĂ€r format=json
  • Ändra format till JSON eller ta bort batchrequests

"Workout settings are only valid for workouts data type"

  • includeroutes, includeworkoutmetadata och workoutsmetadatainterval gĂ€ller endast med datatype=workouts
  • Ändra datatyp till workouts eller ta bort dessa parametrar

"Metrics parameter is only valid for healthMetrics data type"

  • metrics gĂ€ller endast med datatype=healthMetrics
  • Ändra datatyp eller ta bort metrics

"Invalid metric name"

  • AnvĂ€nd exakta MetricName rawValues (t.ex. «Step Count», «Heart Rate»)
  • Kontrollera stavning och versaler/gemener
  • Se appens mĂ€tvals-skĂ€rm för giltiga namn

"Invalid request timeout"

  • MĂ„ste vara mellan 60 och 86400 sekunder
  • AnvĂ€nd ett vĂ€rde inom detta intervall

"A name is required for the automation"

  • Se till att parametern name ingĂ„r
  • Kontrollera att vĂ€rdet inte Ă€r tomt efter URL-avkodning

BegrÀnsningar för URL-lÀngd

Mycket lĂ„nga URL:er (sĂ€rskilt med mĂ„nga mĂ€tningar eller rubriker) kan överskrida systemgrĂ€nser. ÖvervĂ€g:

  • FĂ€rre mĂ€tningar i parametern metrics
  • FĂ€rre rubriker
  • Kortare parametervĂ€rden dĂ€r det Ă€r möjligt
  • Att dela upp komplexa konfigurationer i flera enklare automatiseringar

Prioritet mellan parametrar

NĂ€r flera parametrar krockar:

  1. Val av datatyp (datatype) ÄterstÀller automatiskt inkluderingsflaggor
  2. CSV-format (format=csv) sÀtter automatiskt aggregatedata=true
  3. Realtidsperiod (period=realtime) krÀver syncinterval=seconds
  4. Valideringsfel kastas för inkompatibla kombinationer

BĂ€sta praxis

  1. Automatisk synkronisering (nÀr automatiseringar utlöses via deep links):

    • Ladda enheten och anvĂ€nd iPhone-spegling
      • NĂ€r enheten laddas sĂ€tter iOS fĂ€rre begrĂ€nsningar pĂ„ prestanda, sĂ„ data kan synkroniseras oftare
      • Med iPhone-spegling beter sig enheten som om den var upplĂ„st, sĂ„ Health Auto Export kan komma Ă„t hĂ€lsodata för automatiska Ă„tgĂ€rder
  2. URL-koda alltid parametervÀrden som innehÄller specialtecken

  3. Testa med enkla URL:er först, lÀgg sedan till komplexitet

  4. AnvÀnd beskrivande namn för enklare identifiering

  5. Validera URL:er innan du skapar deep links programmatiskt

  6. Hantera fel pÄ ett robust sÀtt vid parsning av deep links

  7. Dokumentera dina deep link-format om du bygger verktyg som genererar dem

  8. TÀnk pÄ URL-lÀngd nÀr du inkluderar mÄnga mÀtningar eller rubriker

  9. Testa pÄ riktiga enheter sÄvÀl som simulatorer

Relaterad dokumentation

Support

Om du stöter pÄ problem som inte tÀcks i denna guide:

  1. LÀs felmeddelandet för specifika parameterproblem
  2. Kontrollera att URL-kodningen Àr korrekt
  3. Testa först med en minimal URL
  4. AnvÀnd knappen Chattsupport i appen för hjÀlp