Syvälinkkiautomaatio
Luo automaatioita ohjelmallisesti URL-skeemojen avulla.
Last updated: April 1, 2026
Tällä sivulla
- Yleiskatsaus
- URL-muoto
- Parametrireferenssi
- Pakolliset parametrit
- Perusmääritys
- Viennin asetukset
- Synkronoinnin tiheys
- HTTP-määritys
- Datatyypin kohtaiset asetukset
- Ilmoitukset
- Esimerkit
- Perus REST API -automaatio
- Todennusotsikoilla
- Health Metrics tietyillä mittareilla
- Harjoitukset reittidatalla
- Täydellinen määritysesimerkki
- CSV-muodon esimerkki
- URL-koodaus
- Syvälinkkien testaus
- Safarista (iOS)
- Terminaalista (macOS/iOS Simulator)
- Xcodesta
- Oikopolut-sovelluksesta (Shortcuts)
- Ongelmanratkaisu
- Yleisiä ongelmia
- URL:n pituusrajoitukset
- Parametrien etusijajärjestys
- Parhaat käytännöt
- Liittyvä dokumentaatio
- Tuki
Syvälinkki-automaatiot antavat sinun luoda REST API -automaatioita ohjelmallisesti URL-skeemojen avulla. Tämä sopii automaatioskripteille, määritysten hallinnalle tai ulkoisiin järjestelmiin integroitumiseen, joiden täytyy määrittää terveysdatan vientiä.
Yleiskatsaus
Syvälinkki-automaatiot käyttävät mukautettua URL-skeemaa REST API -automaatioiden luomiseen ja määritykseen ilman, että asetukset syötetään käsin sovelluksessa. Kun avaat syvälinkin URL-osoitteen, sovellus luo automaattisesti uuden automaation annetulla määrityksellä.
Käyttötapaukset:
- Automaation ohjelmallinen määritys skripteillä tai työkaluilla
- Automaatioiden massamääritys
- Integraatio määritysten hallintajärjestelmiin
- Nopea määritys ulkoisista sovelluksista tai verkkosivuilta
- Testaus- ja kehitystyönkulut
Keskeiset ominaisuudet:
- Automaatioiden luonti URL-skeeman kautta
- Kaikkien REST API -automaatioasetusten määritys
- Tyhjentävä parametrien validointi
- Kattavat virheilmoitukset
Rajoitukset
- Syvälinkit tukevat vain REST API -automaatioita (ei Dropboxia, Google Drivea jne.)
- URL:n pituusrajoitukset voivat rajoittaa hyvin pitkiä parametrilistoja
- Kaikki REST API -automaatioiden rajoitukset pätevät (taustakäsittely, terveysdatan käyttö jne.)
URL-muoto
Syvälinkin URL noudattaa tätä rakennetta:
com.HealthExport://automation?parameter1=value1¶meter2=value2&...
Perus-URL: com.HealthExport://automation
Parametrit: Kaikki parametrit paitsi name ja url ovat valinnaisia. Parametrien kirjainkoolla ei ole merkitystä.
Parametrireferenssi
Pakolliset parametrit
url (pakollinen)
- Tyyppi: Merkkijono (kelvollinen URL)
- Kuvaus: Päätepiste-URL, johon terveysdata lähetetään
- Esimerkki:
https://api.example.com/health-data - Huom: Oltava kelvollinen HTTP- tai HTTPS-URL
name (pakollinen)
- Tyyppi: Merkkijono
- Kuvaus: Kuvaava nimi automaatiolle
- Esimerkki:
My%20Backend%20API(URL-koodattuna: My Backend API) - Huom: URL-koodattava, jos nimessä on välilyöntejä tai erikoismerkkejä
Perusmääritys
format
- Tyyppi: Enum (
json,csv) - Oletus:
json - Kuvaus: Datan vientimuoto
- Esimerkki:
format=jsontaiformat=csv - Huom: CSV-muoto ottaa automaattisesti käyttöön datan koostamisen
enabled
- Tyyppi: Totuusarvo (
true,false,1,0,yes,no) - Oletus:
false - Kuvaus: Onko automaatio käytössä heti luonnin jälkeen
- Esimerkki:
enabled=true
datatype
- Tyyppi: Enum (katso datatyypit alapuolelta)
- Oletus:
healthMetrics - Kuvaus: Vietävän terveysdatan tyyppi
- Esimerkki:
datatype=workouts - Huom: Vain yksi datatyyppi voidaan valita. Tämä asettaa automaattisesti vastaavat sisällytysliput.
Kelvolliset datatyypit:
healthMetrics– Terveysmittaukset (askeleet, syke, uni jne.)workouts– Liikunta- ja kuntoaktiviteetitsymptoms– Terveysoireet ja tilatecg– EKG-mittauksetheartRateNotification– Korkea/matala syke -tapahtumatstateOfMind– Mielialan ja mielentilan merkinnät (iOS 18.0+)cycleTracking– Kuukautiskierto ja lisääntymisterveysdatamedications– Lääkkeiden kirjaukset ja noudattaminen (iOS 26.0+)
Viennin asetukset
period
- Tyyppi: Enum
- Oletus:
none - Kuvaus: Aikaväli datan viennille
- Esimerkki:
period=today
Kelvolliset arvot:
none– Oletus (koko edellinen päivä plus kuluva päivä)lastsync– Edellisestä synkronoinnistatoday– Kuluva päiväyesterday– Edellinen päiväprevious7days– Edelliset 7 päiväärealtime– Reaaliaikaiset päivitykset (vaatii sekuntitason synkronointivälin)
interval
- Tyyppi: Enum
- Oletus:
none - Kuvaus: Aikaryhmittely/koostamisväli (vain kelvollinen
healthMetrics-datatyypille) - Esimerkki:
interval=hours
Kelvolliset arvot:
none– Oletus (ei koostamista)minutes– Ryhmittele minuuteittainhours– Ryhmittele tunneittaindays– Ryhmittele päivittäinweeks– Ryhmittele viikoittainmonths– Ryhmittele kuukausittainyears– Ryhmittele vuosittain
Huom: Tämä parametri on kelvollinen vain, kun datatype=healthMetrics. CSV-muoto koostaa datan aina.
aggregatedata
- Tyyppi: Totuusarvo
- Oletus:
true(CSV),false(JSON) - Kuvaus: Koostetaanko/yhteenvetäänkö data (vain kelvollinen
healthMetrics+ JSON-muoto) - Esimerkki:
aggregatedata=true - Huom: Asetetaan automaattisesti
true, kunformat=csv
aggregatesleep
- Tyyppi: Totuusarvo
- Oletus:
true - Kuvaus: Koostetaanko unidata
- Esimerkki:
aggregatesleep=true
exportversion
- Tyyppi: Enum (
v1,v2,1,2) - Oletus:
v2 - Kuvaus: Viennin muotoversio
- Esimerkki:
exportversion=v2 - Huom: Versio 2 sisältää laajennetun harjoitusdatan ja yksityiskohtaisempaa metatietoa
batchrequests
- Tyyppi: Totuusarvo
- Oletus:
false - Kuvaus: Lähetä data erissä useissa pyynnöissä (vain kelvollinen REST API + JSON-muoto)
- Esimerkki:
batchrequests=true - Huom: Kelvollinen vain, kun
format=jsonjaexportDestination=restApi
Synkronoinnin tiheys
syncinterval
- Tyyppi: Enum
- Oletus:
minutes - Kuvaus: Synkronoinnin tiheyden väli
- Esimerkki:
syncinterval=hours
Kelvolliset arvot:
minutes– Synkronoi N minuutin väleinhours– Synkronoi N tunnin väleindays– Synkronoi N päivän väleinweeks– Synkronoi N viikon väleinseconds– Kelvollinen vain, kunperiod=realtime
Huom: REST API -automaatioissa vain minutes, hours, days ja weeks ovat kelvollisia, ellei käytetä reaaliaikaista vientiä.
syncquantity
- Tyyppi: Kokonaisluku (positiivinen)
- Oletus:
5 - Kuvaus: Intervallien lukumäärä synkronointien välillä
- Esimerkki:
syncquantity=10(synkronoi 10 minuutin välein, jossyncinterval=minutes) - Huom: Oltava suurempi kuin 0
HTTP-määritys
headers
- Tyyppi: Merkkijono (pilkulla erotetut avain-arvo-parit)
- Oletus: Ei mitään
- Kuvaus: HTTP-otsikot todennusta tai metatietoja varten
- Esimerkki:
headers=Authorization,Bearer%20token123,X-API-Key,abc123 - Muoto:
key1,value1,key2,value2,... - Huom: Arvot tulisi URL-koodata. Jokainen otsikko vaatii sekä avaimen että arvon.
Esimerkkiotsikoita:
Authorization, Bearer your-tokenX-API-Key, your-api-keyContent-Type, application/json
requesttimeout
- Tyyppi: Kokonaisluku (60–86400)
- Oletus:
60 - Kuvaus: Pyynnön aikakatkaisu sekunteina
- Esimerkki:
requesttimeout=300 - Huom: Oltava 60–86400 sekunnin välillä (1 minuutista 24 tuntiin)
Datatyypin kohtaiset asetukset
Health Metrics -asetukset
metrics
- Tyyppi: Merkkijono (pilkulla erotetut MetricName rawValues -arvot)
- Oletus: Kaikki saatavilla olevat mittarit
- Kuvaus: Mitkä terveysmittarit sisällytetään (vain kelvollinen
healthMetrics-datatyypille) - Esimerkki:
metrics=Step%20Count,Heart%20Rate,Active%20Energy - Huom: Käytä täsmälleen MetricName rawValues -arvoja. Jos ei määritetä, kaikki saatavilla olevat mittarit sisältyvät.
Yleisiä mittarinimiä:
Step CountHeart RateActive EnergyApple Exercise TimeSleep AnalysisWalking + Running Distance
Katso sovelluksen mittarinvalinnan näytöstä täydellinen luettelo saatavilla olevista mittareista.
Workout-asetukset
includeroutes
- Tyyppi: Totuusarvo
- Oletus:
true - Kuvaus: Sisällytä reittidata harjoituksiin (vain kelvollinen
workouts-datatyypille) - Esimerkki:
includeroutes=true
includeworkoutmetadata
- Tyyppi: Totuusarvo
- Oletus:
true - Kuvaus: Sisällytä harjoitusmittarit (syke, kalorit jne.) harjoituksen aikana kerättynä (vain kelvollinen
workouts-datatyypille) - Esimerkki:
includeworkoutmetadata=true
workoutsmetadatainterval
- Tyyppi: Enum (
minutes,seconds) - Oletus:
minutes - Kuvaus: Aikaryhmittely harjoitusmittareille (vain kelvollinen
workouts+ exportVersion v2) - Esimerkki:
workoutsmetadatainterval=seconds - Huom: Kelvollinen vain, kun
datatype=workoutsjaexportversion=v2
workouttypes
- Tyyppi: Merkkijono (pilkulla erotetut UInt-arvot)
- Oletus: Tyhjä (kaikki harjoitustyypit)
- Kuvaus: Mitkä harjoitustyypit sisällytetään (vain kelvollinen
workouts-datatyypille) - Esimerkki:
workouttypes=1,2,3 - Huom: Käyttää HealthKitin harjoitustyyppitunnisteita
Ilmoitukset
notifyonupdate
- Tyyppi: Totuusarvo
- Oletus:
true - Kuvaus: Ilmoitus, kun välimuistidata päivittyy
- Esimerkki:
notifyonupdate=true
notifywhenrun
- Tyyppi: Totuusarvo
- Oletus:
true - Kuvaus: Ilmoitus joka kerta, kun automaatio suoritetaan
- Esimerkki:
notifywhenrun=false
Esimerkit
Perus REST API -automaatio
com.HealthExport://automation?url=https://api.example.com/health&name=My%20Automation&format=json&enabled=true
Luo perusautomaation, joka lähettää JSON-dataa määritettyyn päätepisteeseen.
Todennusotsikoilla
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
Luo automaation mukautetuilla todennusotsikoilla.
Health Metrics tietyillä mittareilla
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
Luo automaation, joka vie vain askeleet ja sykkeen, koostettuna tunneittain.
Harjoitukset reittidatalla
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
Luo harjoitusautomaation reittidatalla ja harjoitusmittareilla, viennin versio 2.
Täydellinen määritysesimerkki
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¬ifyonupdate=true¬ifywhenrun=false&enabled=true
Kattava esimerkki, jossa kaikki keskeiset parametrit on määritetty.
CSV-muodon esimerkki
com.HealthExport://automation?url=https://api.example.com/csv&name=CSV%20Export&format=csv&datatype=healthMetrics&period=yesterday&enabled=true
Luo CSV-vientiautomaation. Huomaa, että CSV-muoto ottaa automaattisesti käyttöön datan koostamisen.
URL-koodaus
Parametriarvojen erikoismerkit on URL-koodattava. Yleisiä koodeja:
- Välilyönti:
%20 - Pilkku:
%2C - Kaksoispiste:
%3A - Puolipiste:
%3B - Yhtäläisyysmerkki:
%3D - &-merkki:
%26 - Plus:
%2B
Esimerkki:
- Alkuperäinen:
My Automation Name - Koodattu:
My%20Automation%20Name
Otsikoiden esimerkki:
- Alkuperäinen:
Authorization, Bearer token123 - Koodattu:
Authorization,Bearer%20token123
Useimmat ohjelmointikielet ja työkalut tarjoavat URL-koodausfunktioita:
- Swift:
addingPercentEncoding(withAllowedCharacters:) - JavaScript:
encodeURIComponent() - Python:
urllib.parse.quote()
Syvälinkkien testaus
Safarista (iOS)
- Avaa Safari iOS-laitteellasi
- Kirjoita syvälinkin URL osoitepalkkiin
- Napauta Siirry
- Sovelluksen pitäisi avautua ja luoda automaatio
Terminaalista (macOS/iOS Simulator)
xcrun simctl openurl booted "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true"
Xcodesta
Lisää katkaisupiste tai käytä debugger-konsolia:
let url = URL(string: "com.HealthExport://automation?url=https://api.example.com/health&name=Test&enabled=true")!
try DataModel.shared.handleAPIDeepLink(url)
Oikopolut-sovelluksesta (Shortcuts)
- Luo uusi oikopolku
- Lisää Avaa URL-osoitteet -toiminto
- Syötä syvälinkin URL
- Suorita oikopolku
Ongelmanratkaisu
Yleisiä ongelmia
"Could not parse the URL"
- Varmista, että URL-skeema on oikein:
com.HealthExport://automation - Tarkista, että kaikki parametriarvot on URL-koodattu oikein
- Varmista, että parametrien nimet on kirjoitettu oikein (kirjainkoolla ei merkitystä)
"Invalid URL parameter value"
- Varmista, että URL on kelvollinen HTTP/HTTPS-URL
- Tarkista URL-koodaus
- Varmista, että URL ei sisällä virheellisiä merkkejä
"Invalid data type"
- Käytä täsmälleen näitä datatyyppiarvoja:
healthMetrics,workouts,symptoms,ecg,heartRateNotification,stateOfMind,cycleTracking,medications - Tarkista kirjoitusasu (kirjainkoolla ei silti merkitystä)
"Invalid sync cadence interval"
- REST API:lle käytä vain:
minutes,hours,days,weeks - Käytä
secondsvain, kunperiod=realtime
"Aggregation settings are only valid for healthMetrics data type"
- Parametrit
aggregatedatajaintervaltoimivat vaindatatype=healthMetrics-tilanteessa - Poista nämä parametrit tai vaihda datatyyppiä
"Batch requests are only valid for REST API with JSON format"
batchrequeststoimii vain, kunformat=json- Vaihda muodoksi JSON tai poista
batchrequests
"Workout settings are only valid for workouts data type"
includeroutes,includeworkoutmetadatajaworkoutsmetadataintervaltoimivat vaindatatype=workouts-tilanteessa- Vaihda datatyypiksi workouts tai poista nämä parametrit
"Metrics parameter is only valid for healthMetrics data type"
metricstoimii vaindatatype=healthMetrics-tilanteessa- Vaihda datatyyppiä tai poista
metrics
"Invalid metric name"
- Käytä täsmälleen MetricName rawValues -arvoja (esim. "Step Count", "Heart Rate")
- Tarkista kirjoitusasu ja isot kirjaimet
- Katso kelvolliset nimet sovelluksen mittarinvalinnan näytöstä
"Invalid request timeout"
- Oltava 60–86400 sekunnin välillä
- Käytä arvoa tältä väliltä
"A name is required for the automation"
- Varmista, että
name-parametri on mukana - Tarkista, että arvo ei ole tyhjä URL-dekoodauksen jälkeen
URL:n pituusrajoitukset
Hyvin pitkät URL-osoitteet (erityisesti monilla mittareilla tai otsikoilla) voivat ylittää järjestelmärajoituksia. Harkitse:
- Vähemmän mittareita
metrics-parametrissa - Vähemmän otsikoita
- Lyhyempiä parametriarvoja mahdollisuuksien mukaan
- Monimutkaisten määritysten jakamista useampaan yksinkertaisempaan automaatioon
Parametrien etusijajärjestys
Kun parametrit ovat ristiriidassa:
- Datatyypin valinta (
datatype) nollaa sisällytysliput automaattisesti - CSV-muoto (
format=csv) asettaa automaattisestiaggregatedata=true - Reaaliaikainen jakso (
period=realtime) vaatiisyncinterval=seconds - Yhteensopimattomista yhdistelmistä tulee validointivirheitä
Parhaat käytännöt
Automaattinen synkronointi (kun automaatiot käynnistetään syvälinkeillä):
- Lataa laitetta ja käytä iPhonen peilausta (iPhone Mirroring)
- Latauksen aikana iOS rajoittaa laitteen suorituskykyä vähemmän, jolloin data voi synkronoitua useammin
- Peilauksella laite käyttäytyy kuin lukitsemattomana, jolloin Health Auto Export voi käyttää terveysdataa automaattisten toimintojen suorittamiseen
- Lataa laitetta ja käytä iPhonen peilausta (iPhone Mirroring)
URL-koodaa aina parametriarvot, jotka sisältävät erikoismerkkejä
Testaa ensin yksinkertaisilla URL-osoitteilla, lisää sitten monimutkaisuutta
Käytä kuvaavia nimiä helpompaa tunnistamista varten
Validoi URL-osoitteet ennen syvälinkkien ohjelmallista luontia
Käsittele virheet hallitusti syvälinkkejä jäsennettäessä
Dokumentoi syvälinkkimuotosi, jos rakennat työkaluja, jotka generoivat niitä
Huomioi URL:n pituus, kun mukana on paljon mittareita tai otsikoita
Testaa oikeilla laitteilla simulaattoreiden lisäksi
Liittyvä dokumentaatio
- REST API -automaatio – Tarkemmin REST API -automaatioista
- Automaatiot – yleiskatsaus – Yleiset automaatiokäsitteet
- Manuaalinen vienti – Datan manuaalinen vienti
Tuki
Jos kohtaat ongelmia, joita ei käsitellä tässä oppaassa:
- Tarkista virheilmoitus parametrikohtaisia ongelmia varten
- Varmista URL-koodauksesi oikeellisuus
- Testaa ensin mahdollisimman lyhyellä URL-osoitteella
- Käytä sovelluksen Chat Support -painiketta avun saamiseksi