Détails catalogue & géo (JSON:API « 360° »)
Ces endpoints exposent le détail d’une ressource unique des domaines adossés à Meilisearch (lecture seule, aucune table MySQL côté Hydrogen). Tous suivent la convention JSON:API 1.1 : strict superset du GET /api/<domaine>/{id} public — même type/id/attributes (via le *HitFormatter partagé) + les mêmes enrichissements (descriptions Markdown, blocs hiérarchiques…) que le public, plus tous les champs bruts de l’index Meili rétro-remplis dans data.attributes via le trait MergesRawHit (une clé déjà émise par le formatter n’est jamais écrasée).
Robustesse commune : id malformé → 404 (erreur JSON:API) ; index Meili injoignable → 503 ; aucun hit → 404.
| Endpoint | type | id (path & data.id) | Enrichissements (comme le public) |
|---|---|---|---|
GET /admin/establishments/{id} | establishments | 32 hex minuscules | images + description (assets statiques) |
GET /admin/offers/{id} | offers | 32 hex minuscules | — (champs bruts index uniquement) |
GET /admin/countries/{code} | countries | code ISO minuscule (Meili stocke en MAJ) | description (Markdown) |
GET /admin/regions/{code} | regions | ISO 3166-2 minuscule | description (Markdown) + bloc country |
GET /admin/subregions/{code} | subregions | ISO 3166-2 minuscule | description (Markdown) + blocs country + region |
GET /admin/cities/{id} | cities | UUID dashé | blocs country + region + subregion |
Exemple
curl -s -H "Authorization: Bearer $ADMIN_API_TOKEN" \ -H "Accept: application/vnd.api+json" \ "http://hydrogen.dev.com/admin/countries/fr"{ "jsonapi": { "version": "1.1" }, "data": { "type": "countries", "id": "fr", "attributes": { "name": "France", "slug": "france", "continent": "Europe", "description": "# France\n…", "…": "+ tous les champs bruts de l'index Meili countries (rétro-remplis)" } }}