Σύνδεση

Άδειες

API επικύρωσης και ενεργοποίησης αδειών και διαχείρισης συσκευών

Διαχειριστείτε την επικύρωση και την ενεργοποίηση των αδειών, καθώς και την παρακολούθηση των συσκευών.

Περιορισμός ρυθμού αιτημάτων: Τα endpoints αδειών έχουν όριο ρυθμού ανά IP σε σταθερό παράθυρο 60 δευτερολέπτων. Αν ξεπεράσετε το όριο, επιστρέφεται 429 Too Many Requests με κεφαλίδα Retry-After: 60 μέχρι να μηδενιστεί το παράθυρο.

Επικύρωση άδειας

Επικυρώστε και ενεργοποιήστε ένα κλειδί άδειας. Αυτό το endpoint έχει όριο 5 αιτημάτων ανά λεπτό ανά διεύθυνση IP.

Endpoint: POST /api/licenses/validate

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
license_keystringΝαιΤο κλειδί άδειας προς επικύρωση
device_idstringΝαιΣταθερό, μοναδικό αναγνωριστικό της συσκευής που ενεργοποιείται. Στέλνετε πάντα την ίδια τιμή για μια συγκεκριμένη συσκευή, καθώς με αυτή η συσκευή δεσμεύει και ξαναδεσμεύει τη θέση της
curl -X POST "$BASE_URL/api/licenses/validate" \
  -H "Content-Type: application/json" \
  -d '{"license_key":"XXXX-XXXX-XXXX-XXXX","device_id":"device_abc123"}'

Απόκριση (επιτυχία):

{
  "valid": true,
  "license": {
    "id": "uuid",
    "status": "active",
    "product": { "id": "uuid", "name": "studio", "features": ["client_api", "api_keys"] },
    "activation_date": "2024-01-01T00:00:00Z",
    "expiration_date": "2025-12-31T23:59:59Z",
    "current_activations": 1
  }
}

Απόκριση (σφάλμα):

{
  "statusCode": 400,
  "statusMessage": "Invalid licence key or validation failed"
}
ΚατάστασηΠότε
400Το license_key ή το device_id λείπει, είναι κενό ή υπερβολικά μεγάλο, ή το κλειδί είναι άγνωστο, ανενεργό ή έχει λήξει
409Όλες οι θέσεις της άδειας είναι ήδη δεσμευμένες από άλλες συσκευές και καμία δεν έμεινε ανενεργή αρκετό χρόνο ώστε να ανακτηθεί
429Υπέρβαση ορίου ρυθμού, δείτε Περιορισμός ρυθμού αιτημάτων
Για λόγους ασφαλείας, όλα τα σφάλματα επικύρωσης άδειας επιστρέφουν το ίδιο γενικό μήνυμα, ώστε να αποτρέπονται επιθέσεις απαρίθμησης. Επομένως, ένα 400 δεν αναφέρει ποτέ ποιο πεδίο ήταν λανθασμένο: πριν δοκιμάσετε ξανά, βεβαιωθείτε ότι τα license_key και device_id υπάρχουν και δεν είναι κενά.

Απενεργοποίηση άδειας

Authentication Required

Απαιτείται το cookie συνεδρίας session_token του κατόχου της άδειας (δείτε Έλεγχος ταυτότητας): μπορείτε να απενεργοποιήσετε μόνο άδεια που σας ανήκει.

Απενεργοποιήστε μια άδεια σε μια συγκεκριμένη συσκευή ή σε όλες τις συσκευές.

Endpoint: POST /api/licenses/deactivate

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
license_keystringΝαιΤο κλειδί άδειας προς απενεργοποίηση
device_idstringΌχιΗ συγκεκριμένη συσκευή προς απενεργοποίηση (παραλείψτε το για όλες τις συσκευές)
curl -X POST "$BASE_URL/api/licenses/deactivate" \
  -b cookies.txt \
  -H "Content-Type: application/json" \
  -d '{"license_key":"XXXX-XXXX-XXXX-XXXX","device_id":"device_abc123"}'

Απόκριση:

{
  "success": true,
  "message": "Device deactivated successfully",
  "deactivated_count": 1,
  "remaining_activations": 4
}
Παρά το όνομά του, το remaining_activations είναι ο αριθμός των θέσεων που παραμένουν σε χρήση μετά την απενεργοποίηση, δηλαδή το πλήθος των διακριτών συσκευών που μένουν ενεργές στην άδεια. Δεν είναι ο αριθμός των ελεύθερων θέσεων. Συνεπώς, η απενεργοποίηση όλων των συσκευών επιστρέφει 0. Υπολογίστε τις ελεύθερες θέσεις ως activation_limit - remaining_activations, χρησιμοποιώντας το activation_limit από το GET /api/licenses/status. Χωρίς device_id, το μήνυμα είναι «All devices deactivated successfully»· το deactivated_count είναι ο αριθμός των θέσεων που αποδέσμευσε η συγκεκριμένη κλήση.

Κατάσταση άδειας

Authentication Required

Απαιτείται το cookie συνεδρίας session_token του κατόχου της άδειας (δείτε Έλεγχος ταυτότητας): μπορείτε να ελέγξετε μόνο άδεια που σας ανήκει.

Ελέγξτε την τρέχουσα κατάσταση μιας άδειας. Όριο 30 αιτημάτων ανά λεπτό ανά IP.

Endpoint: GET /api/licenses/status

ΠαράμετροςΤύποςΥποχρεωτικήΠεριγραφή
license_keyqueryΝαιΤο κλειδί άδειας προς έλεγχο
curl -X GET "$BASE_URL/api/licenses/status?license_key=XXXX-XXXX-XXXX-XXXX" \
  -b cookies.txt

Απόκριση:

{
  "license": {
    "id": "uuid",
    "license_key": "XXXX-XXXX-XXXX-XXXX",
    "status": "active",
    "purchase_date": "2024-01-01T00:00:00Z",
    "activation_date": "2024-01-01T00:00:00Z",
    "expiration_date": "2025-12-31T23:59:59Z",
    "days_until_expiration": 365,
    "activation_limit": 5,
    "current_activations": 2,
    "available_activations": 3,
    "is_expired": false,
    "is_active": true,
    "product": { "id": "uuid", "name": "Studio 8K", "description": "...", "features": [] },
    "user": { "id": "uuid", "first_name": "Jane", "last_name": "Doe", "email": "user@example.com" }
  },
  "active_devices": [
    {
      "id": "uuid",
      "device_id": "device_abc123",
      "device_name": "Studio Mac",
      "platform": "macos",
      "app_version": "3.1.2",
      "activated_at": "2024-01-01T00:00:00Z",
      "last_seen_at": "2024-01-02T09:00:00Z",
      "ip_address": "192.168.1.1"
    }
  ]
}

Κύκλος ζωής άδειας

Περιορισμός ρυθμού αιτημάτων

Τα endpoints αδειών έχουν όριο ρυθμού ανά IP σε σταθερό παράθυρο 60 δευτερολέπτων. Σε απόκριση 429 επιστρέφεται μία κεφαλίδα:

ΚεφαλίδαΠεριγραφή
Retry-AfterΔευτερόλεπτα μέχρι να μηδενιστεί το παράθυρο (πάντα 60)

Όρια ρυθμού ανά endpoint

EndpointΑιτήματα / 60 δευτ.Βαθμίδα
/api/licenses/validate5Αυστηρή
/api/licenses/status30Τυπική
/api/licenses/deactivate30Τυπική

Το POST /api/licenses/validate εφαρμόζει το Αυστηρό όριο δύο φορές: μία ανά IP και μία με βάση το license_key που υποβάλλεται. Έτσι, ένα μεμονωμένο κλειδί δεν μπορεί να βομβαρδιστεί με αιτήματα από πολλές IP.

Αν ξεπεράσετε ένα όριο, επιστρέφεται 429 Too Many Requests για το υπόλοιπο του παραθύρου των 60 δευτερολέπτων. Δεν υπάρχει προοδευτική ή κλιμακούμενη διάρκεια αποκλεισμού.

Τύποι αδειών

Κάθε άδεια αντιστοιχεί σε μία από τις τρέχουσες βαθμίδες προγραμμάτων. Το έγκυρο σύνολο λειτουργιών και ορίων κάθε βαθμίδας είναι αυτό που εμφανίζεται στη σελίδα τιμών: δείτε Σύγκριση προγραμμάτων.

ΒαθμίδαΓια ποιους προορίζεταιΒασικές προσθήκες σε σχέση με την προηγούμενη βαθμίδα
freeΜόνιμο δωρεάν πρόγραμμα, χωρίς κάρτα, χωρίς λήξηΈνα απλό τηλεχειριστήριο παρουσιάσεων: ένα δωμάτιο, ένας ομιλητής, κοινή χρήση οθόνης με υδατογράφημα και Stream Deck· όλες οι υπόλοιπες λειτουργίες είναι κλειδωμένες
presenterΟμιλητέςTimer Pro, συνομιλία, σχεδίαση, πολλαπλοί οικοδεσπότες και NDI
pro (Studio HD)Μεμονωμένοι παραγωγοίΚαλούντες, προσαρμοσμένα δωμάτια, κοινή χρήση βίντεο και τα βασικά εργαλεία του Studio
ultra (Studio 4K)Προχωρημένοι χρήστες και streamersΑπεριόριστα δωμάτια, αποθηκευμένα θέματα με τα χρώματα της επωνυμίας σας, επίπεδα, εγγραφή ISO, replay και το ευρύτερο σύνολο εργαλείων του Studio
studio (Studio 8K)Ομάδες παραγωγήςΣχεδιαστής διάταξης δωματίων, επωνυμία white label, το Client API, κλειδιά API, προσαρμοσμένοι τομείς, κοινόχρηστες ομαδικές άδειες ανά θέση
enterpriseΜεγάλοι οργανισμοί και τμήματα προμηθειώνSSO, SCIM και προσαρμοσμένοι ρόλοι ομάδας, ετήσια συμβόλαια ανά θέση
Παλαιότερες άδειες ενδέχεται να φέρουν ακόμη παλαιά ονόματα προϊόντων. Αυτές διατηρούν τα δικαιώματα με τα οποία αγοράστηκαν, και το API τις αντιστοιχίζει στις παραπάνω βαθμίδες.