Aller au contenu principal

Obtenir une page par URL

Dans cet exemple, nous démontrons comment récupérer une seule page CMS par son identifiant d'URL en utilisant l'API OneEntry.

✅ Objectif du scénario :

  • Se connecter à l'API OneEntry
  • Récupérer une page par son identifiant d'URL
  • Accéder au contenu de la page via localizeInfos et attributeValues

✅ Ce dont vous avez besoin :

  • Un PROJECT_URL et un APP_TOKEN valides pour l'authentification avec l'API OneEntry.
  • Une page configurée dans OneEntry avec une URL connue (par exemple, "home_web")

📌 Important :

  • Ces exemples n'incluent pas la gestion des erreurs.
  • Vous pouvez gérer les erreurs en utilisant un bloc try-catch ou en employant une construction comme await Promise.catch((error) => error).

📚 Voir dans la documentation :

📦 Référence SDK :

Essayez-le en direct

Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — connectez votre Project URL et App Token lors de votre première visite, puis ouvrez :

  • Obtenir une page par URL — Dans cet exemple, nous démontrons comment récupérer une seule page CMS par son identifiant d'URL en utilisant l'API OneEntry.

Scénario

1. Importer defineOneEntry depuis le SDK et définir PROJECT_URL et APP_TOKEN

Exemple :

import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

2. Créer un client API avec defineOneEntry()

Exemple :

const { Pages } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

3. Obtenir une page par URL avec Pages.getPageByUrl()

Exemple :

const page = await Pages.getPageByUrl('home_web');
console.log('Page: ', page);
Résultat :
{
"id": 9,
"parentId": null,
"pageUrl": "home_web",
"depth": 0,
"localizeInfos": {
"title": "Home web",
"menuTitle": "Home web",
"htmlContent": "",
"plainContent": ""
},
"isVisible": true,
"blocks": [],
"type": "common_page",
"templateIdentifier": null,
"attributeSetIdentifier": null,
"attributeValues": {},
"moduleFormConfigs": [],
"isSync": false
}

Exemple final

// 1. Import defineOneEntry from SDK and define PROJECT_URL and APP_TOKEN
import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

// 2. Creating an API client with [defineOneEntry()](/docs/index/#Installation)
const { Pages } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

// 3. Get page by URL with [Pages.getPageByUrl()](/docs/pages/getPageByUrl)
const page = await Pages.getPageByUrl('home_web');
console.log('Page: ', page);