ΠρογραμματιστέςΔΗΜΟΣΙΟ CONTENT API

Απλό REST και JSON. Κλειστό μέχρι να το ανοίξετε.

Η ρύθμιση του δημόσιου API ανά ιστότοπο ελέγχει ακριβώς τι εκτίθεται και σε ποιον. Ανακτήστε δημοσιευμένο περιεχόμενο, sitemaps και ανακατευθύνσεις με την ίδια προβλέψιμη μορφή JSON παντού — χωρίς σχήμα GraphQL να μάθετε, χωρίς παραγόμενο client να κρατάτε συγχρονισμένο. Κάθε αίτημα παρακάτω είναι πραγματικό: ένα blog χτισμένο στο CMSHub, που καλείται μόνο με curl.

01 / ΑΝΑΚΤΗΣΗ ΔΗΜΟΣΙΕΥΜΕΝΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ

Ένα αίτημα GET, δημοσιευμένες εγγραφές σε JSON

Μόλις ένας ιστότοπος ενεργοποιήσει τη λειτουργία και βάλει μια συλλογή στη λίστα επιτρεπόμενων, οι δημοσιευμένες εγγραφές της απέχουν ένα απλό GET — επιλύονται εξ ολοκλήρου από την κεφαλίδα Host, χωρίς κλειδί API για δημόσια δεδομένα.

  • Επιστρέφονται μόνο εγγραφές PUBLISHED — πρόχειρα και μη δημοσιευμένες αναθεωρήσεις δεν διαρρέουν ποτέ από τη δημόσια διαδρομή.
  • Άρνηση εξ ορισμού: άγνωστος host, απενεργοποιημένος ιστότοπος ή συλλογή εκτός λίστας επιτρεπόμενων επιστρέφουν όλα 404 με τον ίδιο τρόπο.
  • Το ?locale=xx επιστρέφει τη δημοσιευμένη εκδοχή σε εκείνη τη γλώσσα, με εναλλακτική την προεπιλεγμένη γλώσσα του χώρου εργασίας.
GEThttps://the-signal.blog/api/posts
curl https://the-signal.blog/api/posts
RESPONSE
{
  "siteId": "the-signal-4f2a",
  "siteName": "The Signal",
  "baseUrl": "https://the-signal.blog",
  "collection": {
    "id": "3b0d6f2a-9c41-4e8a-8f2e-1d4c9a7b6e11",
    "slug": "posts",
    "name": "Posts"
  },
  "data": [
    {
      "id": "a91f2e3c-7d5b-4a10-9c3e-6f8a2b1d0e44",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "Shipping a public content API without a GraphQL schema",
        "slug": "shipping-a-public-content-api",
        "excerpt": "Plain REST beats a bespoke query language when a frontend just needs JSON.",
        "category": "Engineering",
        "author": "Dana Osei",
        "published_at": "2026-09-10"
      }
    },
    {
      "id": "d2c5b8a1-4e3f-4c9d-8b7a-2f1e6d5c4b33",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "What the quality gate actually checks before you publish",
        "slug": "the-quality-gate-explained",
        "excerpt": "Every generated page passes the same checks, whether it's post 1 or post 10,000.",
        "category": "Product",
        "author": "Dana Osei",
        "published_at": "2026-09-04"
      }
    }
  ],
  "meta": {
    "locale": "en",
    "pagination": { "start": 0, "limit": 20, "total": 2, "nextCursor": null }
  }
}
02 / ΑΝΑΚΑΛΥΨΗ, ΑΥΤΟΜΑΤΑ

Ένα sitemap που ταιριάζει πάντα με ό,τι έχει δημοσιευτεί

Τα sitemap.xml και robots.txt παράγονται από τον ίδιο κατάλογο σελίδων που διαβάζει το content API — δεν υπάρχει ξεχωριστή ρύθμιση να συγχρονίζετε ούτε κάτι να ξαναπαράγετε με το χέρι.

  • Αντικατοπτρίζει τον ζωντανό κατάλογο σελίδων σε κάθε αίτημα — δημοσιεύετε μια σελίδα και είναι στο sitemap.
  • Οι εναλλακτικές hreflang προστίθενται αυτόματα σε κάθε σελίδα με μεταφρασμένες εκδοχές.
  • Το /robots.txt κατευθύνει τους crawlers στο ίδιο sitemap, ανά ιστότοπο.
GEThttps://the-signal.blog/sitemap.xml
curl https://the-signal.blog/sitemap.xml
RESPONSE
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url><loc>https://the-signal.blog/posts/shipping-a-public-content-api</loc><lastmod>2026-09-10T14:22:00.000Z</lastmod></url>
  <url><loc>https://the-signal.blog/posts/the-quality-gate-explained</loc><lastmod>2026-09-04T09:15:00.000Z</lastmod></url>
</urlset>
03 / ΚΛΕΙΣΤΟ ΕΞ ΟΡΙΣΜΟΥ

Εσείς αποφασίζετε τι εκθέτει ένας ιστότοπος

Τα δημόσια API περιεχομένου μένουν κλειστά μέχρι να ορίσετε ρητά τι εκθέτει κάθε ιστότοπος — δεν υπάρχει endpoint ανοιχτό εξ ορισμού που σερβίρει αθόρυβα αδημοσίευτο ή πρόχειρο περιεχόμενο.

Ρύθμιση ανά ιστότοπο

Ενεργοποιήστε και ρυθμίστε το δημόσιο API ανεξάρτητα για κάθε ιστότοπο ενός χώρου εργασίας.

Μόνο δημοσιευμένο περιεχόμενο

Το δημόσιο API σερβίρει μόνο ό,τι έχει περάσει την πύλη ποιότητας και έχει πράγματι δημοσιευτεί — ποτέ πρόχειρα.

Με εκδόσεις, σταθερό

Κάθε route βρίσκεται κάτω από διαδρομή με έκδοση, ώστε μια ενσωμάτωση που χτίζεται σήμερα να συνεχίζει να δουλεύει καθώς εξελίσσεται το CMSHub.

ΚΑΛΕΣΤΕ ΕΝΑ ΠΡΑΓΜΑΤΙΚΟ ENDPOINT

Ενεργοποιήστε το δημόσιο API για έναν ιστότοπο.

Ενεργοποιήστε το δημόσιο content API για έναν από τους ιστότοπούς σας και ανακτήστε μια παραγόμενη σελίδα.