BoothDock Studio poate anunța alte programe despre fiecare pas al unei sesiuni (webhook-uri) și se poate lăsa controlat de alte programe (API locală). Pe amândouă le găsești în zona de administrare, la Sistem → Automatizare.
În BoothDock Studio 1.4.0 și în versiunile mai vechi, webhook-urile se numesc acolo încă „Declanșatoare”.
Webhook-urile și exportul în timp real există doar pe Windows. API-ul local este disponibil începând cu versiunea 1.4.0 și pe iPad și iPhone.
Utilizări tipice: lumini sau DMX sincronizate cu numărătoarea inversă, un overlay pentru stream, un contor la intrare – sau un Stream Deck ca telecomandă pentru cabină.

Configurarea webhook-urilor
Completează câmpul Program, câmpul Adresă (URL) sau pe amândouă. La fiecare eveniment, cabina le apelează pe amândouă:
- Program – un
.exe,.batsau.cmd. Apel:program <eveniment> <param1> <param2> …. Fiecare valoare ajunge ca argument separat, chiar dacă conține spații. Programul pornește fără fereastră, în propriul folder. Un script PowerShell (.ps1) îl pornești printr-un mic.batpus în fața lui. - Adresă (URL) –
httpsauhttps, apelată prin GET:https://serverul-tau/hook?event_type=<eveniment>¶m1=…¶m2=…. Valorile sunt codificate URL; parametrii care există deja în adresa ta se păstrează.
Sesiunea nu așteaptă niciodată după webhook-ul tău: programul și apelul rulează în paralel, iar un apel poate dura cel mult 5 secunde. Trimite test trimite imediat un session_start – așa verifici conexiunea fără să pornești o sesiune.
Programul și adresa se pot seta doar direct la cabină, nu prin Hub: o cale de program înseamnă dreptul de a executa ceva pe calculator.
Evenimente
| Eveniment | Când | Parametri |
|---|---|---|
session_start | Un invitat pornește o sesiune, modul este stabilit | 1: mod (PrintOnly, PrintAndGIF, OnlyGIF, SlowMoOr360, Video), 2: mod BoothDock (photo, gif, boomerang, video, slowmo, ai) |
countdown_start | Începe numărătoarea inversă | 1: secunde |
countdown | Fiecare secundă a numărătorii inverse | 1: progres în procente (de la 0) |
capture_start | Numărătoarea s-a încheiat, începe captura | – |
file_download | Camera a salvat o fotografie | 1: nume de fișier, 2: cale completă |
processing_start | Începe procesarea | câte un nume de fișier pentru fiecare original al camerei, ca ultimă valoare fișierul de imprimare (momentan gol) |
sharing_screen | Apare ecranul cu rezultatul (o dată pe sesiune) | – |
printing | O foaie pleacă la o imprimantă | 1: fișier (momentan gol), 2: copii, 3: imprimantă |
file_upload | Un fișier a ajuns în Hub (pentru fiecare fișier) | 1: cale pe cabină, 2: link de galerie, 3: tip (print, photo, original, animation, boomerang, video), 4: album (numele evenimentului) |
session_end | Sesiunea se încheie – finalizată, anulată, expirată sau ștearsă | – |
Exemplu de .bat care notează fiecare eveniment: echo %DATE% %TIME% %* >> "%~dp0evenimente.log"
API locală
Alte programe controlează cabina prin HTTP – de exemplu un Stream Deck, un script propriu sau o comandă 360° de pe telefon.
- Activare: Sistem → Automatizare → Activează API. Din fabrică, API-ul este oprit. Port 1500, modificabil.
- Adresă:
http://localhost:1500/api/<comanda>(sau127.0.0.1). Din fabrică, cabina acceptă cereri doar de pe acest calculator. - Parolă: 16 caractere, afișată în aceeași secțiune – o copiezi sau generezi una nouă. O trimiți ca
?password=…, ca antetX-Api-Passwordsau caAuthorization: Bearer …. Doarpingmerge fără ea. - Răspuns: întotdeauna HTTP 200 cu JSON, de exemplu
{"ApiVersion":1,"Command":"cancel","IsSuccessful":true,"ErrorMessage":""}. Dacă a reușit afli dinIsSuccessful, iar motivul unei erori dinErrorMessage. Unele comenzi livrează în plusData.
Un apel complet: http://localhost:1500/api/start?mode=print&password=PAROLA-TA
Control din rețea (telefon, tabletă, 360°)
Activează în plus Accesibil și din rețea. Atunci cabina acceptă cereri de la dispozitive din aceeași rețea Wi-Fi/LAN – niciodată din internet.
- Adresa pentru telefon: apare în linia de stare, de exemplu
http://192.168.1.20:1500. Exemplul de dedesubt arată atunci direct adresa potrivită. - Fără introducerea IP-ului: cabina se anunță singură în rețea (mDNS/Bonjour, tip de serviciu
_boothdock._tcp, nume „BoothDock” plus numele calculatorului). Aplicațiile care o caută o găsesc automat. - Blocare: dacă un dispozitiv trimite de zece ori în zece minute o parolă greșită, este blocat 15 minute. Calculatorul cabinei nu este blocat niciodată.
- Doar în rețeaua proprie: parola circulă necriptată prin rețea. Folosește modul de rețea doar în propria rețea Wi-Fi protejată – nu în rețeaua Wi-Fi deschisă pentru invitați a locației.
- Paravanul de protecție (firewall): instalarea creează regula, doar pentru rețele private. Dacă linia de stare arată un avertisment despre paravanul de protecție, reinstalează BoothDock Studio sau permite-l în Windows la „Permiteți o aplicație prin paravanul de protecție”. Dacă Windows tratează rețeaua Wi-Fi ca publică, dispozitivele nu pot intra – setează profilul la Privată în proprietățile rețelei.
Comenzi
| Comandă | Efect |
|---|---|
start?mode=print | Pornește o sesiune. Moduri: print (foto), gif, boomerang, slowmo (360°; fără 360°, boomerang), video, ai. Funcționează doar din ecranul de start, doar cu modul activat și nu când cabina este blocată. |
cancel | Anulează sesiunea în curs și revine la ecranul de start. |
status | Livrează în Data: modul invitat pornit/oprit, ecranul curent, modul, blocată da/nu. |
print?count=1 | Tipărește încă o dată ultimul rezultat (1 până la 10 foi). Videoclipurile nu pot fi tipărite. |
lockscreen/show | Blochează cabina cu „Un moment – continuăm imediat.” Colțul de administrare rămâne accesibil. |
lockscreen/exit | Ridică blocarea. |
share/email?email=… | Trimite ultimul rezultat prin e-mail – necesită cuplarea cu Hub-ul și acțiunea pentru rezultat „Primește prin e-mail” (Sistem → Funcționare → Acțiuni pentru rezultat (invitat); până la 1.4.0, comutatorul „Fotografie prin e-mail (invitat)” de la Design → Ecrane). |
share/sms | Nu există; răspunsul o spune cinstit (IsSuccessful: false). |
createtestevent?name=… | Creează un eveniment de test și îl face activ. Data conține eventId și eventName. Fără nume primește unul cu data. |
deletetestevent?eventId=… | Șterge un eveniment de test creat prin API – niciodată alte evenimente. |
ping | Verifică fără parolă dacă API-ul rulează. |
Dacă cabina nu răspunde în 15 secunde, primești înapoi IsSuccessful: false cu o indicație.
Export în timp real
În aceeași filă alegi un Folder de export – de exemplu un stick USB sau un folder cloud (OneDrive, Dropbox). Fiecare fișier finalizat ajunge acolo imediat, sortat după eveniment și tip (Printuri, Originale, GIF-uri, Videoclipuri – fiecare se poate dezactiva separat). Dacă stick-ul lipsește pentru scurt timp, cabina copiază fișierele ulterior. Dacă un invitat își șterge sesiunea la cabină, dispar și copiile.
Pornire cu telecomanda
În aceeași filă, la Pornire cu telecomanda înveți o tastă. Telecomenzile de prezentare, butoanele USB și pedalele trimit de obicei bara de spațiu; aceasta este presetată. La Pornește alegi ce declanșează tasta pe ecranul de start: Ca la atingere (flux normal) sau direct un mod, de exemplu 360° pe platformă. În BoothDock Studio 1.4.0 și în versiunile mai vechi, tasta există doar pentru 360°, vezi 360° / încetinire.
Depanare
- Nu se întâmplă nimic: apare ceva în jurnal? Webhook-urile scriu în
webhooks.log(până la 1.4.0:ausloeser.log), API-ul înlokale-api.log– ambele în folderul%LocalAppData%\Boothdock Studio\logs. Cererile respinse (parolă greșită, dispozitiv străin) apar acolo cel mult o dată pe minut. - „Invalid password.” – copiază din nou parola; după Parolă nouă, cea veche nu mai este valabilă.
- „The booth is not on the start screen …” –
startmerge doar din ecranul de start. Întâicancel, apoistart. - „Too many failed attempts …” – dispozitivul a trimis prea des o parolă greșită. Așteaptă 15 minute și verifică parola.
- Telefonul nu ajunge la cabină, dar pe calculator merge totul: aproape întotdeauna e paravanul de protecție Windows sau o rețea Wi-Fi tratată ca publică – vezi mai sus. Linia de stare semnalează ambele cazuri.