← Όλα τα άρθρα

BoothDock · Wiki

Webhooks και API

Το BoothDock Studio μπορεί να ενημερώνει άλλα προγράμματα για κάθε βήμα μιας συνεδρίας (Webhooks) και να ελέγχεται το ίδιο από άλλα προγράμματα (τοπικό API). Και τα δύο τα βρίσκεις στην περιοχή διαχείρισης κάτω από Σύστημα → Αυτοματισμός.

Στο BoothDock Studio 1.4.0 και σε παλαιότερες εκδόσεις τα webhooks εκεί ονομάζονται ακόμη «Εναύσματα».

Τα webhooks και η εξαγωγή σε πραγματικό χρόνο υπάρχουν μόνο σε Windows. Το τοπικό API υπάρχει από την έκδοση 1.4.0 και σε iPad και iPhone.

Τυπικές χρήσεις: φωτισμός ή DMX σε συγχρονισμό με την αντίστροφη μέτρηση, ένα overlay για stream, ένας μετρητής στην είσοδο – ή ένα Stream Deck ως τηλεχειριστήριο για το Box.

Σύστημα → Αυτοματισμός: εξαγωγή σε πραγματικό χρόνο, webhooks και τοπικό API
Σύστημα → Αυτοματισμός: εξαγωγή σε πραγματικό χρόνο, webhooks και τοπικό API

Ρύθμιση webhooks

Συμπλήρωσε το πεδίο Πρόγραμμα, το πεδίο Διεύθυνση (URL) ή και τα δύο. Σε κάθε συμβάν το Box καλεί και τα δύο:

  • Πρόγραμμα – ένα .exe, .bat ή .cmd. Κλήση: πρόγραμμα <συμβάν> <param1> <param2> …. Κάθε τιμή φτάνει ως ξεχωριστό όρισμα, ακόμη κι αν περιέχει κενά. Το πρόγραμμα ξεκινά χωρίς παράθυρο, στον δικό του φάκελο. Ένα σενάριο PowerShell (.ps1) το ξεκινάς μέσω ενός μικρού .bat που μπαίνει μπροστά του.
  • Διεύθυνση (URL) – http ή https, καλείται με GET: https://ο-διακομιστής-σου/hook?event_type=<συμβάν>&param1=…&param2=…. Οι τιμές είναι κωδικοποιημένες για URL· παράμετροι που υπάρχουν ήδη στη διεύθυνσή σου διατηρούνται.

Η συνεδρία δεν περιμένει ποτέ τα webhooks σου: το πρόγραμμα και η κλήση τρέχουν παράλληλα, και μια κλήση μπορεί να διαρκέσει το πολύ 5 δευτερόλεπτα. Η Αποστολή δοκιμής στέλνει αμέσως ένα session_start – έτσι ελέγχεις τη σύνδεση χωρίς να ξεκινήσεις συνεδρία.

Πρόγραμμα και διεύθυνση ρυθμίζονται μόνο απευθείας στο Box, όχι μέσω του Hub: μια διαδρομή προγράμματος είναι δικαίωμα εκτέλεσης κάποιου πράγματος στον υπολογιστή.

Συμβάντα

ΣυμβάνΠότεΠαράμετροι
session_startΈνας επισκέπτης ξεκινά συνεδρία, η λειτουργία έχει καθοριστεί1: λειτουργία (PrintOnly, PrintAndGIF, OnlyGIF, SlowMoOr360, Video), 2: λειτουργία BoothDock (photo, gif, boomerang, video, slowmo, ai)
countdown_startΞεκινά η αντίστροφη μέτρηση1: δευτερόλεπτα
countdownΚάθε δευτερόλεπτο της αντίστροφης μέτρησης1: πρόοδος σε ποσοστό (από 0)
capture_startΗ αντίστροφη μέτρηση τελείωσε, ξεκινά η λήψη–
file_downloadΗ κάμερα αποθήκευσε μια φωτογραφία1: όνομα αρχείου, 2: πλήρης διαδρομή
processing_startΞεκινά η επεξεργασίαένα όνομα αρχείου για κάθε πρωτότυπο της κάμερας, ως τελευταία τιμή το αρχείο εκτύπωσης (προς το παρόν κενό)
sharing_screenΕμφανίζεται η οθόνη αποτελέσματος (μία φορά ανά συνεδρία)–
printingΈνα φύλλο στέλνεται σε εκτυπωτή1: αρχείο (προς το παρόν κενό), 2: αντίτυπα, 3: εκτυπωτής
file_uploadΈνα αρχείο έφτασε στο Hub (ανά αρχείο)1: διαδρομή στο Box, 2: σύνδεσμος γκαλερί, 3: τύπος (print, photo, original, animation, boomerang, video), 4: άλμπουμ (όνομα εκδήλωσης)
session_endΗ συνεδρία τελειώνει – ολοκληρώθηκε, ακυρώθηκε, έληξε ή διαγράφηκε–

Παράδειγμα ενός .bat που καταγράφει κάθε συμβάν: echo %DATE% %TIME% %* >> "%~dp0events.log"

Τοπικό API

Άλλα προγράμματα ελέγχουν το Box μέσω HTTP – για παράδειγμα ένα Stream Deck, ένα δικό σου σενάριο ή ένας χειρισμός 360° από το κινητό.

  • Ενεργοποίηση: Σύστημα → Αυτοματισμός → Ενεργοποίηση API. Από προεπιλογή το API είναι ανενεργό. Θύρα 1500, μπορεί να αλλάξει.
  • Διεύθυνση: http://localhost:1500/api/<εντολή> (ή 127.0.0.1). Από προεπιλογή το Box δέχεται αιτήματα μόνο από αυτόν τον υπολογιστή.
  • Κωδικός: 16 χαρακτήρες, εμφανίζεται στην ίδια ενότητα – αντίγραψέ τον ή δημιούργησε νέο. Δίνεται ως ?password=…, ως κεφαλίδα X-Api-Password ή ως Authorization: Bearer …. Μόνο το ping λειτουργεί χωρίς αυτόν.
  • Απάντηση: πάντα HTTP 200 με JSON, για παράδειγμα {"ApiVersion":1,"Command":"cancel","IsSuccessful":true,"ErrorMessage":""}. Αν πέτυχε, το δείχνει το IsSuccessful· σε περίπτωση σφάλματος ο λόγος βρίσκεται στο ErrorMessage. Ορισμένες εντολές επιστρέφουν επιπλέον Data.

Μια πλήρης κλήση: http://localhost:1500/api/start?mode=print&password=Ο-ΚΩΔΙΚΟΣ-ΣΟΥ

Έλεγχος από το δίκτυο (κινητό, tablet, 360°)

Ενεργοποίησε επιπλέον το Προσβάσιμο και από το δίκτυο. Τότε το Box δέχεται αιτήματα από συσκευές στο ίδιο Wi-Fi/LAN – ποτέ από το διαδίκτυο.

  • Διεύθυνση για το κινητό: εμφανίζεται στη γραμμή κατάστασης, για παράδειγμα http://192.168.1.20:1500. Το παράδειγμα από κάτω δείχνει τότε αμέσως τη σωστή διεύθυνση.
  • Χωρίς πληκτρολόγηση IP: Το Box δηλώνει μόνο του την παρουσία του στο δίκτυο (mDNS/Bonjour, τύπος υπηρεσίας _boothdock._tcp, όνομα «BoothDock» συν το όνομα του υπολογιστή). Οι εφαρμογές που το αναζητούν το βρίσκουν αυτόματα.
  • Φραγή: Αν μια συσκευή στείλει δέκα φορές μέσα σε δέκα λεπτά λάθος κωδικό, αποκλείεται για 15 λεπτά. Αυτός ο υπολογιστής δεν αποκλείεται ποτέ.
  • Μόνο στο δικό σου δίκτυο: Ο κωδικός ταξιδεύει στο δίκτυο χωρίς κρυπτογράφηση. Χρησιμοποίησε τη λειτουργία δικτύου μόνο στο δικό σου, προστατευμένο Wi-Fi – όχι στο ανοιχτό Wi-Fi επισκεπτών του χώρου.
  • Τείχος προστασίας: Η εγκατάσταση δημιουργεί τον κανόνα, μόνο για ιδιωτικά δίκτυα. Αν η γραμμή κατάστασης δείχνει προειδοποίηση τείχους προστασίας, εγκατάστησε ξανά το BoothDock Studio ή επίτρεψέ το στα Windows, στο «Να επιτρέπεται μια εφαρμογή μέσω του τείχους προστασίας». Αν τα Windows θεωρούν το Wi-Fi δημόσιο, οι συσκευές δεν μπορούν να συνδεθούν – όρισε το προφίλ σε Ιδιωτικό στις ιδιότητες δικτύου.

Εντολές

ΕντολήΑποτέλεσμα
start?mode=printΞεκινά μια συνεδρία. Λειτουργίες: print (φωτογραφία), gif, boomerang, slowmo (360°· χωρίς 360° το Boomerang), video, ai. Λειτουργεί μόνο από την αρχική οθόνη, μόνο με ενεργοποιημένη λειτουργία και όχι όταν το Box είναι κλειδωμένο.
cancelΑκυρώνει την τρέχουσα συνεδρία και επιστρέφει στην αρχική οθόνη.
statusΕπιστρέφει στο Data: λειτουργία επισκεπτών ενεργή/ανενεργή, τρέχουσα οθόνη, λειτουργία, κλειδωμένο ναι/όχι.
print?count=1Εκτυπώνει ξανά το τελευταίο αποτέλεσμα (1 έως 10 φύλλα). Τα βίντεο δεν εκτυπώνονται.
lockscreen/showΚλειδώνει το Box με το μήνυμα «Ένα λεπτό – συνεχίζουμε αμέσως.» Η γωνία διαχείρισης παραμένει προσβάσιμη.
lockscreen/exitΑίρει το κλείδωμα.
share/email?email=…Στέλνει το τελευταίο αποτέλεσμα με e-mail – απαιτεί σύζευξη με το Hub και την ενέργεια αποτελέσματος «Λάβετε μέσω ηλεκτρονικού ταχυδρομείου» (Σύστημα → Λειτουργία → Ενέργειες αποτελέσματος (επισκέπτης)· έως την 1.4.0 τον διακόπτη «Φωτογραφία μέσω e-mail (επισκέπτης)» κάτω από Σχεδιασμός → Οθόνες).
share/smsΔεν υπάρχει· η απάντηση το λέει ειλικρινά (IsSuccessful: false).
createtestevent?name=…Δημιουργεί μια δοκιμαστική εκδήλωση και την ενεργοποιεί. Το Data περιέχει eventId και eventName. Χωρίς όνομα δημιουργείται ένα με ημερομηνία.
deletetestevent?eventId=…Διαγράφει μια δοκιμαστική εκδήλωση που δημιουργήθηκε μέσω του API – ποτέ άλλες εκδηλώσεις.
pingΕλέγχει χωρίς κωδικό αν το API λειτουργεί.

Αν το Box δεν απαντήσει μέσα σε 15 δευτερόλεπτα, επιστρέφεται IsSuccessful: false με μια επεξήγηση.

Εξαγωγή σε πραγματικό χρόνο

Στην ίδια καρτέλα επιλέγεις στο πεδίο Φάκελος εξαγωγής έναν προορισμό – για παράδειγμα ένα USB stick ή έναν φάκελο cloud (OneDrive, Dropbox). Κάθε ολοκληρωμένο αρχείο καταλήγει εκεί αμέσως, ταξινομημένο ανά εκδήλωση και τύπο (εκτυπώσεις, πρωτότυπα, GIF, βίντεο – απενεργοποιούνται ξεχωριστά). Αν το stick λείψει για λίγο, το Box αντιγράφει τα αρχεία αργότερα. Αν ένας επισκέπτης διαγράψει τη συνεδρία του στο μηχάνημα, εξαφανίζονται και τα αντίγραφα.

Έναρξη με τηλεχειριστήριο

Στην ίδια καρτέλα κάνεις εκμάθηση ενός πλήκτρου στο Έναρξη με τηλεχειριστήριο. Τα χειριστήρια παρουσιάσεων, τα κουμπιά USB και οι ποδοδιακόπτες στέλνουν συνήθως το πλήκτρο διαστήματος· αυτό είναι προρυθμισμένο. Στο Ξεκινά επιλέγεις τι ενεργοποιεί το πλήκτρο στην αρχική οθόνη: Όπως το άγγιγμα (κανονική ροή) ή κατευθείαν μια λειτουργία, για παράδειγμα 360° στην πλατφόρμα. Στο BoothDock Studio 1.4.0 και σε παλαιότερες εκδόσεις το πλήκτρο υπάρχει μόνο για το 360°, δες 360° / Αργή κίνηση.

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

  • Δεν συμβαίνει τίποτα: Υπάρχει κάτι στο αρχείο καταγραφής; Τα webhooks γράφουν στο webhooks.log (έως την 1.4.0: ausloeser.log), το API στο lokale-api.log – και τα δύο στον φάκελο %LocalAppData%\Boothdock Studio\logs. Τα απορριφθέντα αιτήματα (λάθος κωδικός, ξένη συσκευή) καταγράφονται εκεί το πολύ μία φορά το λεπτό.
  • «Invalid password.» – αντίγραψε ξανά τον κωδικό· μετά από Νέος κωδικός ο παλιός δεν ισχύει πια.
  • «The booth is not on the start screen …» – το start λειτουργεί μόνο από την αρχική οθόνη. Πρώτα cancel, μετά start.
  • «Too many failed attempts …» – η συσκευή έστειλε πάρα πολλές φορές λάθος κωδικό. Περίμενε 15 λεπτά και έλεγξε τον κωδικό.
  • Το κινητό δεν φτάνει στο Box, ενώ στον υπολογιστή όλα λειτουργούν: σχεδόν πάντα φταίει το Τείχος προστασίας των Windows ή ένα Wi-Fi που θεωρείται δημόσιο – δες παραπάνω. Η γραμμή κατάστασης αναφέρει και τις δύο περιπτώσεις.

Επόμενα βήματα