DesenvolupadorsAPI PÚBLICA DE CONTINGUTS

REST i JSON senzills. Tancats fins que els obres.

La configuració de l’API pública per lloc controla exactament què s’exposa i a qui. Obtén contingut publicat, sitemaps i redireccions amb la mateixa estructura JSON previsible arreu: cap esquema GraphQL per aprendre, cap client generat per mantenir sincronitzat. Totes les peticions d’aquí sota són reals: un blog construït amb CMSHub, cridat amb un simple curl.

01 / OBTÉN EL CONTINGUT PUBLICAT

Una petició GET, els registres publicats en JSON

Quan un lloc activa l’API i autoritza una col·lecció, els seus registres publicats són a l’abast d’un simple GET, resolts completament a partir de la capçalera Host, sense clau d’API per a les dades públiques.

  • Només es retornen registres PUBLICATS: els esborranys i les revisions no publicades no es filtren mai per la via pública.
  • Denegat per defecte: un host desconegut, un lloc desactivat o una col·lecció no autoritzada retornen tots el mateix 404.
  • ?locale=xx retorna la variant publicada en aquest idioma, amb l’idioma per defecte de l’espai de treball com a alternativa.
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 / DESCOBERTA AUTOMÀTICA

Un sitemap que sempre coincideix amb el que hi ha publicat

sitemap.xml i robots.txt es generen a partir del mateix inventari de pàgines que llegeix l’API de continguts: no hi ha cap configuració separada per sincronitzar ni res per regenerar a mà.

  • Reflecteix l’inventari de pàgines publicades a cada petició: publica una pàgina i ja és al sitemap.
  • Les alternatives hreflang s’afegeixen automàticament a qualsevol pàgina que tingui variants traduïdes.
  • /robots.txt dirigeix els rastrejadors a aquest mateix sitemap, per a cada lloc.
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 / TANCAT PER DEFECTE

Tu decideixes què exposa un lloc

Les API públiques de continguts es mantenen tancades fins que configures explícitament què exposa un lloc: no hi ha cap endpoint obert per defecte que serveixi d’amagat contingut no publicat o en esborrany.

Configuració per lloc

Activa i configura l’API pública de manera independent per a cada lloc d’un espai de treball.

Només contingut publicat

L’API pública serveix el que ha passat pel control de qualitat i està realment publicat; mai esborranys.

Versionada i estable

Cada ruta és sota un camí versionat, de manera que una integració construïda avui continua funcionant a mesura que CMSHub evoluciona.

CRIDA UN ENDPOINT REAL

Activa l’API pública per a un lloc.

Activa l’API pública de continguts per a un dels teus llocs i obtén una pàgina generada.