Αυτοματισμός μέσω API

Το GFX Manager CG παρέχει HTTP API για αυτοματοποίηση, ολοκλήρωση με άλλα συστήματα και απομακρυσμένο έλεγχο του CG. Η πρόσβαση γίνεται με κλειδί δικτύου (remote key) και τα endpoints επιστρέφουν JSON.

1) Βασικές έννοιες

  • Network: το μοναδικό αναγνωριστικό του τηλεοπτικού δικτύου/σταθμού.

  • Output: κάθε έξοδος CG (Output 1, Output 2, κ.λπ.).

  • Template: το γραφικό πακέτο που είναι φορτωμένο σε ένα output.

  • Capabilities: οι διαθέσιμες εντολές/controls ενός template.

2) Απόκτηση κλειδιού API

Ζητήστε κλειδί για το δίκτυό σας:

GET /api/generateRemoteKey?network=NETWORK_ID

Η απάντηση περιλαμβάνει το remoteKey. Το key χρησιμοποιείται στις κλήσεις /api/remote και /api/capabilities.

3) Λίστα templates & μεταδεδομένα

  • Λίστα templates ανά network

    • GET /api/graphics/list

    • Επιστρέφει όλα τα διαθέσιμα templates και περιγραφές από τα GDD manifests.

  • Λεπτομέρειες template

    • GET /api/graphic/:network/:template

    • Επιστρέφει gdd.json και showStyleDefinition.json.

4) Capabilities (Τι μπορεί να ελέγξει το API)

  • Capabilities API (v2)

    • GET /api/capabilities?key=REMOTE_KEY&id=OUTPUT_INDEX

    • Επιστρέφει διαθέσιμες εντολές και macros για το template του συγκεκριμένου output.

    • Προτείνεται να χρησιμοποιείτε αυτό το endpoint ώστε να γνωρίζετε ακριβώς τα fields που υποστηρίζει το template.

  • Συνολική πληροφορία δικτύου

    • GET /api/network/info?network=NETWORK_ID

    • Επιστρέφει templates, output configs και embedded capabilities.

5) Εκτέλεση εντολών (Remote Control)

  • Εκτέλεση εντολών

    • GET /api/remote?key=REMOTE_KEY&id=OUTPUT_INDEX&COMMAND=VALUE&...

    • Κάθε query parameter (π.χ. strapText, strapState, tickerState) μετατρέπεται σε εντολή.

    • Υποστηρίζεται πολλαπλή αποστολή εντολών σε ένα request.

Επιλογές

  • id: Output index (π.χ. 1).

  • template: Προαιρετικά, φορτώνει άλλο template πριν την εκτέλεση εντολών.

  • immediate=1: Εκτέλεση χωρίς waiting queue (όπου υποστηρίζεται).

6) Διαχείριση Outputs

  • Ανάγνωση configs

    • GET /api/outputConfigs?network=NETWORK_ID

  • Αποθήκευση configs

    • POST /api/outputConfigs (body: { network, configs })

  • Αλλαγή template ενός output

    • POST /api/outputConfigs/updateTemplate (body: { network, outputIndex, template })

7) Βοηθητικά endpoints

  • Status: GET /api/status

  • Ανάγνωση δεδομένων: GET /api/get?id=OBJECT_ID

    • Χρησιμοποιείται για δεδομένα όπως showStyles_..., ticker_..., polls_..., windowLayouts_....

8) Ασφάλεια & περιορισμοί

  • Τα endpoints είναι διαθέσιμα σε CORS για χρήση από εσωτερικά συστήματα.

  • Το remoteKey πρέπει να διατηρείται ιδιωτικό.

  • Για multi-output περιβάλλοντα, χρησιμοποιείτε πάντα το id.

9) Παραδείγματα χρήσης (λογική)

  1. Παίρνετε remoteKey.

  2. Καλείτε /api/capabilities για να δείτε ποιες εντολές υπάρχουν.

  3. Στέλνετε /api/remote με τις εντολές που θέλετε να εκτελεστούν.

Εάν θέλετε βοήθεια για συγκεκριμένες εντολές, στείλτε μας το template που χρησιμοποιείτε και θα σας δώσουμε το ακριβές command map.

Last updated