esup-multi

Arborescence des pages

Vous regardez une version antérieure (v. /wiki/spaces/ESUPMULTI/pages/1425801229/Connecteur+CMS+Headless) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 6) afficher la version suivante »

Paramétrage

Le connecteur CMS a été pensé de manière à pouvoir s'interfacer avec plusieurs CMS. Actuellement, 2 modules permettent de communiquer avec Wordpress et Directus.

La configuration du CMS qui sera utilisé se fait au niveau du fichier .env

# CMS TO USE : directus | wordpress
DEFAULT_CMS=

# DIRECTUS
#DIRECTUS_API_URL=xxx
#DIRECTUS_API_TOKEN=xxx

# WORDPRESS
#WORDPRESS_API_URL=xxx
#WORDPRESS_API_USERNAME=xxx
#WORDPRESS_API_PASSWORD=xxx

Dans DEFAULT_CMS indiquez le CMS souhaité, puis dé-commentez les lignes de conf propres au CMS choisi.

Collections et leurs champs disponibles

Channels

Toutes les instances de la collection
query {
  channels {
    id
    code
    color
    icon
    routerLink
    filterable
    translations {
        languagesCode
        label
    }
  }
}
Récupérer une instance de la collection
query {
  channel(id: "1") {
    id
    code
    color
    icon
    routerLink
    filterable
    translations {
        languagesCode
        label
    }
  }
}
Exemple de réponse
{
    "data": {
        "channel": {
            "id": "1",
            "code": "ALERT",
            "color": "#EF154E",
            "icon": null,
            "routerLink": null,
            "filterable": false,
            "translations": [
                {
                    "languagesCode": "en",
                    "label": "ALERT"
                },
                {
                    "languagesCode": "fr",
                    "label": "ALERTE"
                }
            ]
        }
    }
}



Contact Us
query {
	contactUs{
        id
        to
        icon
        translations{
            languagesCode
            content
            title
        }
    }
}


Features
query {
	features(status: "published") {
        id
        description
        icon
        iconSvgDark
        iconSvgLight
        link
        menu
        position
        routerLink
        ssoService
        status
        type
        translations{
            languagesCode
            searchKeywords
            shortTitle
            title
        }
        authorization {
            roles
            authorization
        }
        settingsByRole{
            position
            role
        }
    }
}


Pages
query {
	pages(status: "published") {
        id
        status
        icon
        iconSvgDark
        iconSvgLight
        position
        statisticName
        translations {
            languagesCode
            content
            title
        }
    }
}


Widgets
query {
	widgets(status: "published") {
        id
		status
        description
        widget
        iconSvgDark
        iconSvgLight
        icon
        link
        position
        ssoService
		statisticName
        routerLink
        color
        type
        translations{
            languagesCode
            content
            title
        }
        authorization {
            roles
            authorization
        }
        settingsByRole{
            position
            role
        }
    }
}


Social Networks
query {
	socialNetworks{
        id
        icon
        link
        title
    }
}


Login
query {
	login{
        id
        translations {
            languagesCode
            connexionText
            notAuthenticatedText
        }
    }
}


Languages
query {
	languages{
        code
        direction
        name
    }
}


Important News
query {
	importantNews(status: "published"){
        id
        status
        image
        link
        color
        position
        statisticName
        translations{
            languagesCode
            content
            buttonLabel
            title
        }
        authorization {
            roles
            authorization
        }
    }
}


URL en méthode GET 

<host>/assets/<image-name>
  • host : adresse du serveur
  • image-name : nom de l'image 

Format de retour

Format attendu

  • Code HTTP 200 : si tout s'est bien passé

Cas d'erreur

  • Erreur HTTP 4xx ou 5xx : En cas de problème ou erreur

Exemple


URL en méthode POST
<host>/graphql


Body de la requête
query {
	languages{
        code
        direction
        name
    }
}


Réponse
{
    "data": {
        "languages": [
            {
                "code": "fr",
                "direction": "ltr",
                "name": "Français"
            },
            {
                "code": "en",
                "direction": "ltr",
                "name": "English"
            }
        ]
    }
}



  • Aucune étiquette