Βασική διεύθυνση URL, σχήματα πιστοποίησης, επίλυση μισθωτή και μοντέλο σφαλμάτων για το REST API του CMS.
Το REST API του Profound CMS εξυπηρετείται από την υπηρεσία Rust translation_manager. Παρέχει headless τελικά σημεία ανάγνωσης/ροής που χρησιμοποιούνται από τον renderer, καθώς και τελικά σημεία εγγραφής για περιεχόμενο, μετάφραση και εισαγωγή CSV.
Όλα τα παραδείγματα χρησιμοποιούν το {CMS_API_URL} ως τη βασική διεύθυνση URL του κεντρικού υπολογιστή του CMS API σας (για παράδειγμα https://cms.dev.tryprofound.com). Δεν υπάρχει καθολικό πρόθεμα διαδρομής — οι διαδρομές προσαρτώνται στη ρίζα, π.χ. {CMS_API_URL}/routes.
Το API χρησιμοποιεί δύο ξεχωριστά σχήματα ανάλογα με το τελικό σημείο.
Στείλτε το κλειδί ως κεφαλίδα x-api-key ή ως παράμετρο ερωτήματος api_key:
curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <your-api-key>'
Τα κλειδιά επικυρώνονται απέναντι στο WorkOS και αποθηκεύονται προσωρινά στη μνήμη. Για τελικά σημεία ανάγνωσης, ένα κλειδί API απαιτείται μόνο όταν ο διακομιστής ορίζει require_schema_api_key = true; διαφορετικά επιτρέπονται οι ανώνυμες αναγνώσεις. Η λειτουργία εισαγωγής/ενημέρωσης παραλλαγής (PATCH /dataset/{schema_name}) απαιτεί πάντα ένα έγκυρο κλειδί που φέρει το δικαίωμα content_write.
Χρησιμοποιεί έλεγχο ταυτότητας με κλειδί API: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.
Τα τελικά σημεία διαχείρισης απαιτούν ένα JWT χρήστη του WorkOS:
curl '{CMS_API_URL}/usage?orgId=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>'
Χρησιμοποιεί έλεγχο ταυτότητας Bearer: /translation, /translations, /usage, /csv.
Τα τελικά σημεία με κλειδί API επιλύουν τον προορισμό της ιστοσελίδας με αυτή τη σειρά:
?websiteId=<uuid>Host, που αντιστοιχίζεται σε ένα διαμορφωμένο domain ιστοσελίδαςCMS_WEBSITE_ID (single-tenant / τοπική ανάπτυξη)Αν κανένα δεν αντιστοιχεί σε έγκυρο UUID, το τελικό σημείο επιστρέφει 400.
| Κατάσταση | Σημασία |
|---|---|
400 | Εσφαλμένο αίτημα — λείπει/μη έγκυρο websiteId, μη έγκυρο UUID ή αποτυχία επικύρωσης |
401 | Ελλιπή ή μη έγκυρα διαπιστευτήρια |
403 | Έγινε έλεγχος ταυτότητας αλλά λείπει ένα απαιτούμενο δικαίωμα |
404 | Ο πόρος δεν βρέθηκε |
500 | Εσωτερικό σφάλμα / σφάλμα βάσης δεδομένων |
GET {CMS_API_URL}/health επιστρέφει { "status": "ok" } και δεν χρειάζεται πιστοποίηση — χρησιμοποιήστε το για ελέγχους ζωντάνιας.