API de lliurament

Llegeix contingut publicat amb peticions GET simples sota /api/p/{ref}/. Sense autenticació, CORS obert, només s'exposa el contingut publicat (no arxivat). {ref} és un id de projecte o slug.

Nodes

GET /api/p/{ref}/nodes/by-path/*

Resol un node per la seva ruta de slug, p. ex. /nodes/by-path/blog/about. Accepta ?locale=xx (per defecte el default_locale del projecte; 400 invalid_locale en cas contrari).

Retorna el node renderitzable:

{ "data": {
  "id", "parent_id?", "slug", "type", "title", "locale", "path",
  "blocks": [ { "id", "type", "order", "data" } ],  // locale overrides merged
  "seo": { canonical, robots, og, twitter, hreflang, jsonld, breadcrumbs },
  "translated": true|false
} }

GET /api/p/{ref}/nodes/{id}

La mateixa forma renderitzable, resolta per id de node. També accepta ?locale.

GET /api/p/{ref}/nodes

Llista tots els nodes publicats (files en brut).

Entrades de col·lecció

GET /api/p/{ref}/entries

Entrades publicades paginades d'una col·lecció. Consulta: collection (obligatori, ruta de slug), page (1), per_page (20, màx. 100), q, sort.

{ "data": [ { "id", "slug", "title", "path", "updated_at" } ],
  "total", "page", "per_page" }

Lectura localitzada (mòdul de traduccions)

GET /api/p/{ref}/translations/nodes/{nodeId}

El node publicat fusionat amb les metadades d'un locale + les anul·lacions per bloc. Consulta ?locale=xx (obligatori).

SEO i marca

GET /api/p/{ref}/sitemap.xml

Un urlset (o un sitemapindex que referencia fragments sitemap-{n}.xml per sobre de 5000 nodes). Una entrada per locale amb alternatives hreflang. Necessita el public_base_url del projecte.

GET /api/p/{ref}/robots.txt

Robots estàndard amb una línia Sitemap: quan s'estableix una URL base.

GET /api/p/{ref}/theme

Marca de l'inquilí per a la pantalla d'inici de sessió (prèvia a l'autenticació): { logo_url, favicon_url, accent_color, name_override }.