Αυτοματισμός deep link

Δημιουργήστε αυτοματοποιήσεις μέσω προγραμματισμού με σχήματα URL.

Last updated: March 31, 2026

Σε αυτή τη σελίδα

Οι αυτοματοποιήσεις deep link σάς επιτρέπουν να δημιουργείτε αυτοματοποιήσεις REST API μέσω προγραμματισμού, χρησιμοποιώντας σχήματα URL. Ιδανικό για σενάρια αυτοματοποίησης, διαχείριση ρυθμίσεων ή ενσωμάτωση με εξωτερικά συστήματα που ρυθμίζουν εξαγωγές δεδομένων υγείας.

Επισκόπηση

Οι αυτοματοποιήσεις deep link χρησιμοποιούν προσαρμοσμένο σχήμα URL για να δημιουργούν και να ρυθμίζουν αυτοματοποιήσεις REST API χωρίς χειροκίνητη καταχώριση στην εφαρμογή. Όταν ανοίγετε ένα URL deep link, η εφαρμογή δημιουργεί αυτόματα νέα αυτοματοποίηση με την καθορισμένη ρύθμιση.

Περιπτώσεις χρήσης:

  • Προγραμματισμένη ρύθμιση αυτοματοποιήσεων από σενάρια ή εργαλεία
  • Μαζική ρύθμιση αυτοματοποιήσεων
  • Ενσωμάτωση με συστήματα διαχείρισης ρυθμίσεων
  • Γρήγορη ρύθμιση από εξωτερικές εφαρμογές ή ιστότοπους
  • Ροές δοκιμών και ανάπτυξης

Βασικά χαρακτηριστικά:

  • Δημιουργία αυτοματοποιήσεων μέσω σχήματος URL
  • Ρύθμιση όλων των επιλογών αυτοματοποίησης REST API
  • Επικύρωση παραμέτρων με ασφάλεια τύπων
  • Αναλυτικά μηνύματα σφάλματος

Περιορισμοί

  • Τα deep link υποστηρίζουν μόνο αυτοματοποιήσεις REST API (όχι Dropbox, Google Drive κ.λπ.)
  • Όρια μήκους URL μπορεί να περιορίζουν πολύ μεγάλες λίστες παραμέτρων
  • Ισχύουν όλοι οι περιορισμοί των αυτοματοποιήσεων REST API (παρασκήνιο, πρόσβαση σε δεδομένα υγείας κ.λπ.)

Μορφή URL

Το URL deep link ακολουθεί αυτή τη δομή:

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

Βασικό URL: com.HealthExport://automation

Παράμετροι: Όλες είναι προαιρετικές εκτός από name και url. Τα ονόματα παραμέτρων δεν εξαρτώνται από πεζά/κεφαλαία.

Αναφορά παραμέτρων

Υποχρεωτικές παράμετροι

url (υποχρεωτική)

  • Τύπος: Συμβολοσειρά (έγκυρο URL)
  • Περιγραφή: Το URL τελικού σημείου όπου θα σταλούν τα δεδομένα υγείας
  • Παράδειγμα: https://api.example.com/health-data
  • Σημείωση: Πρέπει να είναι έγκυρο URL HTTP/HTTPS

name (υποχρεωτική)

  • Τύπος: Συμβολοσειρά
  • Περιγραφή: Περιγραφικό όνομα για την αυτοματοποίηση
  • Παράδειγμα: My%20Backend%20API (κωδικοποιημένο URL: «My Backend API»)
  • Σημείωση: Απαιτείται κωδικοποίηση URL αν περιέχει κενά ή ειδικούς χαρακτήρες

Βασική ρύθμιση

format

  • Τύπος: Απαρίθμηση (json, csv)
  • Προεπιλογή: json
  • Περιγραφή: Μορφή εξαγωγής δεδομένων
  • Παράδειγμα: format=json ή format=csv
  • Σημείωση: Η μορφή CSV ενεργοποιεί αυτόματα συγκέντρωση δεδομένων

enabled

  • Τύπος: Λογική τιμή (true, false, 1, 0, yes, no)
  • Προεπιλογή: false
  • Περιγραφή: Αν η αυτοματοποίηση ενεργοποιείται αμέσως μετά τη δημιουργία
  • Παράδειγμα: enabled=true

datatype

  • Τύπος: Απαρίθμηση (βλ. τύπους δεδομένων παρακάτω)
  • Προεπιλογή: healthMetrics
  • Περιγραφή: Τύπος δεδομένων υγείας προς εξαγωγή
  • Παράδειγμα: datatype=workouts
  • Σημείωση: Μόνο ένας τύπος. Η ρύθμιση ενημερώνει αυτόματα τα αντίστοιχα σημεία συμπερίληψης.

Έγκυροι τύποι δεδομένων:

  • healthMetrics — Μετρικές υγείας (βήματα, καρδιακός ρυθμός, ύπνος κ.λπ.)
  • workouts — Άσκηση και δραστηριότητες φυσικής κατάστασης
  • symptoms — Συμπτώματα και καταστάσεις υγείας
  • ecg — Καταγραφές ηλεκτροκαρδιογραφήματος
  • heartRateNotification — Συμβάντα υψηλού/χαμηλού καρδιακού ρυθμού
  • stateOfMind — Καταχωρήσεις διάθεσης και ψυχικής κατάστασης (iOS 18.0+)
  • cycleTracking — Εμμήνιος κύκλος και αναπαραγωγική υγεία
  • medications — Ημερολόγια φαρμάκων και συμμόρφωση (iOS 26.0+)

Ρυθμίσεις εξαγωγής

period

  • Τύπος: Απαρίθμηση
  • Προεπιλογή: none
  • Περιγραφή: Εύρος ημερομηνιών για εξαγωγή
  • Παράδειγμα: period=today

Έγκυρες τιμές:

  • none — Προεπιλογή (πλήρης προηγούμενη ημέρα και τρέχουσα ημέρα)
  • lastsync — Από τον τελευταίο συγχρονισμό
  • today — Τρέχουσα ημέρα
  • yesterday — Προηγούμενη ημέρα
  • previous7days — Προηγούμενες 7 ημέρες
  • realtime — Ενημερώσεις σε πραγματικό χρόνο (απαιτεί διάστημα συγχρονισμού σε δευτερόλεπτα)

interval

  • Τύπος: Απαρίθμηση
  • Προεπιλογή: none
  • Περιγραφή: Διάστημα ομαδοποίησης/συγκέντρωσης (ισχύει μόνο για healthMetrics)
  • Παράδειγμα: interval=hours

Έγκυρες τιμές:

  • none — Προεπιλογή (χωρίς συγκέντρωση)
  • minutes — Ομαδοποίηση ανά λεπτό
  • hours — Ομαδοποίηση ανά ώρα
  • days — Ομαδοποίηση ανά ημέρα
  • weeks — Ομαδοποίηση ανά εβδομάδα
  • months — Ομαδοποίηση ανά μήνα
  • years — Ομαδοποίηση ανά έτος

Σημείωση: Ισχύει μόνο όταν datatype=healthMetrics. Η μορφή CSV πάντα συγκεντρώνει δεδομένα.

aggregatedata

  • Τύπος: Λογική τιμή
  • Προεπιλογή: true (για CSV), false (για JSON)
  • Περιγραφή: Αν θα συγκεντρώνονται/συνοψίζονται δεδομένα (μόνο για healthMetrics με JSON)
  • Παράδειγμα: aggregatedata=true
  • Σημείωση: Ορίζεται αυτόματα true όταν format=csv

aggregatesleep

  • Τύπος: Λογική τιμή
  • Προεπιλογή: true
  • Περιγραφή: Αν θα συγκεντρώνονται δεδομένα ύπνου
  • Παράδειγμα: aggregatesleep=true

exportversion

  • Τύπος: Απαρίθμηση (v1, v2, 1, 2)
  • Προεπιλογή: v2
  • Περιγραφή: Έκδοση μορφής εξαγωγής
  • Παράδειγμα: exportversion=v2
  • Σημείωση: Η έκδοση 2 περιλαμβάνει ενισχυμένα δεδομένα προπόνησης και πιο λεπτομερή μεταδεδομένα

batchrequests

  • Τύπος: Λογική τιμή
  • Προεπιλογή: false
  • Περιγραφή: Αποστολή δεδομένων σε δέσμες μέσω πολλαπλών αιτημάτων (μόνο REST API με JSON)
  • Παράδειγμα: batchrequests=true
  • Σημείωση: Ισχύει μόνο όταν format=json και exportDestination=restApi

Ρυθμός συγχρονισμού

syncinterval

  • Τύπος: Απαρίθμηση
  • Προεπιλογή: minutes
  • Περιγραφή: Βασική μονάδα για τον ρυθμό συγχρονισμού
  • Παράδειγμα: syncinterval=hours

Έγκυρες τιμές:

  • minutes — Συγχρονισμός κάθε Ν λεπτά
  • hours — Κάθε Ν ώρες
  • days — Κάθε Ν ημέρες
  • weeks — Κάθε Ν εβδομάδες
  • seconds — Μόνο όταν period=realtime

Σημείωση: Για αυτοματοποιήσεις REST API ισχύουν μόνο minutes, hours, days και weeks, εκτός αν χρησιμοποιείτε εξαγωγή πραγματικού χρόνου.

syncquantity

  • Τύπος: Ακέραιος (θετικός)
  • Προεπιλογή: 5
  • Περιγραφή: Πόσα διαστήματα μεταξύ συγχρονισμών
  • Παράδειγμα: syncquantity=10 (κάθε 10 λεπτά αν syncinterval=minutes)
  • Σημείωση: Πρέπει να είναι > 0

Ρύθμιση HTTP

headers

  • Τύπος: Συμβολοσειρά (ζεύγη κλειδιού-τιμής χωρισμένα με κόμμα)
  • Προεπιλογή: Καμία
  • Περιγραφή: Κεφαλίδες HTTP για πιστοποίηση ή μεταδεδομένα
  • Παράδειγμα: headers=Authorization,Bearer%20token123,X-API-Key,abc123
  • Μορφή: key1,value1,key2,value2,...
  • Σημείωση: Οι τιμές πρέπει να είναι κωδικοποιημένες κατά URL. Κάθε κεφαλίδα χρειάζεται κλειδί και τιμή.

Παραδείγματα κεφαλίδων:

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

requesttimeout

  • Τύπος: Ακέραιος (60–86400)
  • Προεπιλογή: 60
  • Περιγραφή: Χρονικό όριο αιτήματος σε δευτερόλεπτα
  • Παράδειγμα: requesttimeout=300
  • Σημείωση: Από 60 έως 86400 δευτερόλεπτα (1 λεπτό έως 24 ώρες)

Ρυθμίσεις ανά τύπο δεδομένων

Ρυθμίσεις μετρικών υγείας

metrics
  • Τύπος: Συμβολοσειρά (διαχωρισμένα rawValues ονομάτων μετρήσεων)
  • Προεπιλογή: Όλες οι διαθέσιμες μετρήσεις
  • Περιγραφή: Συγκεκριμένες μετρικές προς συμπερίληψη (μόνο για healthMetrics)
  • Παράδειγμα: metrics=Step%20Count,Heart%20Rate,Active%20Energy
  • Σημείωση: Ακριβή rawValues. Αν λείπει, συμπεριλαμβάνονται όλες.

Συνήθη ονόματα μετρήσεων:

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

Για πλήρη λίστα δείτε την οθόνη επιλογής μετρήσεων της εφαρμογής.

Ρυθμίσεις προπόνησης

includeroutes
  • Τύπος: Λογική τιμή
  • Προεπιλογή: true
  • Περιγραφή: Συμπερίληψη δεδομένων διαδρομής (μόνο για workouts)
  • Παράδειγμα: includeroutes=true
includeworkoutmetadata
  • Τύπος: Λογική τιμή
  • Προεπιλογή: true
  • Περιγραφή: Συμπερίληψη μετρικών προπόνησης (καρδιακός ρυθμός, θερμίδες κ.λπ.) κατά την προπόνηση (μόνο για workouts)
  • Παράδειγμα: includeworkoutmetadata=true
workoutsmetadatainterval
  • Τύπος: Απαρίθμηση (minutes, seconds)
  • Προεπιλογή: minutes
  • Περιγραφή: Ομαδοποίηση χρόνου για μετρικές προπόνησης (μόνο workouts με exportVersion v2)
  • Παράδειγμα: workoutsmetadatainterval=seconds
  • Σημείωση: Μόνο όταν datatype=workouts και exportversion=v2
workouttypes
  • Τύπος: Συμβολοσειρά (διαχωρισμένες τιμές UInt)
  • Προεπιλογή: Κενό (όλοι οι τύποι προπόνησης)
  • Περιγραφή: Συγκεκριμένοι τύποι προπόνησης (μόνο για workouts)
  • Παράδειγμα: workouttypes=1,2,3
  • Σημείωση: Χρησιμοποιεί αναγνωριστικά τύπου προπόνησης HealthKit

Ειδοποιήσεις

notifyonupdate

  • Τύπος: Λογική τιμή
  • Προεπιλογή: true
  • Περιγραφή: Ειδοποιήσεις όταν ενημερώνεται η προσωρινή μνήμη
  • Παράδειγμα: notifyonupdate=true

notifywhenrun

  • Τύπος: Λογική τιμή
  • Προεπιλογή: true
  • Περιγραφή: Ειδοποίηση σε κάθε εκτέλεση της αυτοματοποίησης
  • Παράδειγμα: notifywhenrun=false

Παραδείγματα

Βασική αυτοματοποίηση REST API

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

Δημιουργεί βασική αυτοματοποίηση που στέλνει JSON στο καθορισμένο τελικό σημείο.

Με κεφαλίδες πιστοποίησης

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

Δημιουργεί αυτοματοποίηση με προσαρμοσμένες κεφαλίδες πιστοποίησης.

Μετρικές υγείας με συγκεκριμένες μετρήσεις

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

Εξάγει μόνο βήματα και καρδιακό ρυθμό, συγκεντρωμένα ανά ώρα.

Προπονήσεις με δεδομένα διαδρομής

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

Αυτοματοποίηση προπονήσεων με διαδρομή και μετρικές προπόνησης, έκδοση εξαγωγής 2.

Πλήρες παράδειγμα ρύθμισης

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

Συνολικό παράδειγμα με τις κύριες παραμέτρους.

Παράδειγμα μορφής CSV

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

Αυτοματοποίηση εξαγωγής CSV. Η μορφή CSV ενεργοποιεί αυτόματα συγκέντρωση δεδομένων.

Κωδικοποίηση URL

Οι ειδικοί χαρακτήρες στις τιμές παραμέτρων πρέπει να κωδικοποιούνται κατά URL. Συνήθεις κωδικοποιήσεις:

  • Κενό: %20
  • Κόμμα: %2C
  • Άνω τελεία: %3A
  • Ερωτηματικό: %3B
  • Ίσον: %3D
  • Και (&): %26
  • Συν: %2B

Παράδειγμα:

  • Αρχικό: My Automation Name
  • Κωδικοποιημένο: My%20Automation%20Name

Παράδειγμα κεφαλίδων:

  • Αρχικό: Authorization, Bearer token123
  • Κωδικοποιημένο: Authorization,Bearer%20token123

Οι περισσότερες γλώσσες προγραμματισμού παρέχουν συναρτήσεις κωδικοποίησης URL:

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

Από Safari (iOS)

  1. Ανοίξτε το Safari στη συσκευή iOS
  2. Εισαγάγετε το URL deep link στη γραμμή διευθύνσεων
  3. Πατήστε Μετάβαση
  4. Η εφαρμογή πρέπει να ανοίξει και να δημιουργήσει την αυτοματοποίηση

Από τερματικό (macOS / Προσομοιωτής iOS)

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

Από το Xcode

Προσθέστε σημείο διακοπής ή χρησιμοποιήστε την κονσόλα του debugger:

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

Από την εφαρμογή Συντομεύσεις

  1. Δημιουργήστε νέα συντόμευση
  2. Προσθέστε την ενέργεια «Άνοιγμα URL»
  3. Εισαγάγετε το URL deep link σας
  4. Εκτελέστε τη συντόμευση

Αντιμετώπιση προβλημάτων

Συνήθη ζητήματα

«Could not parse the URL»

  • Επαληθεύστε το σχήμα URL: com.HealthExport://automation
  • Ελέγξτε ότι οι τιμές παραμέτρων είναι σωστά κωδικοποιημένες κατά URL
  • Βεβαιωθείτε για ορθογραφία ονομάτων παραμέτρων (αγνόηση πεζών/κεφαλαίων)

«Invalid URL parameter value»

  • Το URL πρέπει να είναι έγκυρο HTTP/HTTPS
  • Ελέγξτε την κωδικοποίηση URL
  • Μη έγκυροι χαρακτήρες στο URL

«Invalid data type»

  • Χρησιμοποιήστε ακριβείς τιμές: healthMetrics, workouts, symptoms, ecg, heartRateNotification, stateOfMind, cycleTracking, medications
  • Ορθογραφία (υποστηρίζεται αντιστοίχιση χωρίς εξάρτηση από πεζά/κεφαλαία)

«Invalid sync cadence interval»

  • Για REST API μόνο: minutes, hours, days, weeks
  • seconds μόνο με period=realtime

«Aggregation settings are only valid for healthMetrics data type»

  • Οι παράμετροι aggregatedata και interval ισχύουν μόνο με datatype=healthMetrics
  • Αφαιρέστε τις παραμέτρους ή αλλάξτε τύπο δεδομένων

«Batch requests are only valid for REST API with JSON format»

  • Το batchrequests ισχύει μόνο με format=json
  • Αλλάξτε σε JSON ή αφαιρέστε το batchrequests

«Workout settings are only valid for workouts data type»

  • includeroutes, includeworkoutmetadata και workoutsmetadatainterval μόνο με datatype=workouts
  • Αλλάξτε τύπο ή αφαιρέστε τις παραμέτρους

«Metrics parameter is only valid for healthMetrics data type»

  • Η metrics μόνο με datatype=healthMetrics

«Invalid metric name»

  • Ακριβή rawValues (π.χ. «Step Count», «Heart Rate»)
  • Δείτε την οθόνη επιλογής μετρήσεων

«Invalid request timeout»

  • Από 60 έως 86400 δευτερόλεπτα

«A name is required for the automation»

  • Συμπεριλάβετε την παράμετρο name
  • Η τιμή δεν πρέπει να είναι κενή μετά την αποκωδικοποίηση URL

Περιορισμοί μήκους URL

Πολύ μεγάλα URL (ιδίως με πολλές μετρήσεις ή κεφαλίδες) μπορεί να ξεπεράσουν τα όρια του συστήματος. Εξετάστε:

  • Λιγότερες μετρήσεις στην metrics
  • Λιγότερες κεφαλίδες
  • Συντομότερες τιμές όπου είναι δυνατόν
  • Διαχωρισμό σύνθετων ρυθμίσεων σε πολλαπλές απλούστερες αυτοματοποιήσεις

Προτεραιότητα παραμέτρων

Όταν οι παράμετροι συγκρούονται:

  1. Η επιλογή datatype επαναρυθμίζει τα σημεία συμπερίληψης
  2. Το format=csv ορίζει αυτόματα aggregatedata=true
  3. Το period=realtime απαιτεί syncinterval=seconds
  4. Ασύμβατοι συνδυασμοί εμφανίζουν σφάλματα επικύρωσης

Βέλτιστες πρακτικές

  1. Αυτόματος συγχρονισμός (όταν οι αυτοματοποιήσεις ενεργοποιούνται μέσω deep links):

    • Φορτίστε τη συσκευή και χρησιμοποιήστε Κατοπτρισμό iPhone
      • Κατά τη φόρτιση το iOS επιβάλλει λιγότερους περιορισμούς
      • Με Κατοπτρισμό iPhone η συσκευή συμπεριφέρεται σαν ξεκλείδωτη, ώστε το Health Auto Export να έχει πρόσβαση σε δεδομένα υγείας
  2. Πάντα κωδικοποιήστε τις τιμές με ειδικούς χαρακτήρες

  3. Δοκιμάστε πρώτα με απλά URL, μετά προσθέστε πολυπλοκότητα

  4. Χρησιμοποιήστε περιγραφικά ονόματα

  5. Επαληθεύστε τα URL πριν τη δημιουργία deep links μέσω κώδικα

  6. Χειριστείτε τα σφάλματα ομαλά κατά την ανάλυση deep links

  7. Τεκμηριώστε τις μορφές deep link αν κατασκευάζετε εργαλεία που τα παράγουν

  8. Λάβετε υπόψη το μήκος URL με πολλές μετρήσεις ή κεφαλίδες

  9. Δοκιμάστε σε πραγματικές συσκευές, όχι μόνο σε προσομοιωτές

Σχετική τεκμηρίωση

Υποστήριξη

Αν αντιμετωπίζετε θέματα εκτός αυτού του οδηγού:

  1. Διαβάστε το μήνυμα σφάλματος για συγκεκριμένα ζητήματα παραμέτρων
  2. Επαληθεύστε την κωδικοποίηση URL
  3. Δοκιμάστε πρώτα ένα ελάχιστο URL
  4. Χρησιμοποιήστε το κουμπί Υποστήριξη συνομιλίας στην εφαρμογή