Route
Cette route vous permet de récupérer des informations relatives à la configuration d'un agenda.
https://api.openagenda.com/v2/agendas/{agendaUid}
Important: Une authentification est nécessaire pour lire la configuration d'un agenda.
Paramètres:
- agendaUid: l'uid de l'agenda, visible dans la barre latérale droite de l'agenda.
- detailed: optionnellement pour récupérer la configuration des champs (mettre detailed=1)
La configuration des champs d'un formulaire est disponible à cette route, sous la clé schema.fields
Le schéma événement
Chaque agenda peut étendre le schéma standard événement d'OpenAgenda en le complétant de champs additionnels. Ceux-ci sont détaillés sous la clé schema.fields de sa configuration.
Chaque champ est défini par les clés suivantes:
- field: le nom du champ
- fieldType: le type du champ
- label, info, placeholder, sub: Des valeurs de labels utilisés pour l'affichage du champ sur le formulaire
- optional: le caractère optionnel du champ. Si celui-ci est 'false', le champ doit être informé pour toute création ou mise à jour de l'événement.
- options: liste des valeurs possibles pour les champs de type radio, checkbox ou select. Pour les création/mise à jour d'événement, c'est la sous-clé id de l'option à préciser qui doit être spécifiée dans le corps de requête en face du nom du champ.
- schemaType: Le type de schéma d'où provient le champ: event pour les champs standards, agenda ou network pour les champs additionnels.
{
...
"schema": {
"fields": [
...,
{
"field": "organisateur",
"label": {
"fr": "Organisateur"
},
"optional": true,
"fieldType": "checkbox",
"schemaType": "network",
"options": [
{
"id": 31,
"value": "collectivite",
"label": {
"fr": "Collectivité"
}
},
{
"id": 32,
"value": "association",
"label": {
"fr": "Association"
}
}
]
}
]
}
...
}
Les champs additionnels
Les champs présentés dans le schéma d'un agenda se déclinent en trois types "schema" (schemaType). Le premier type, "event", est associé aux champs standards d'un événement OpenAgenda. Ils sont détaillés ici et comprennent notamment le titre, la description, les horaires ainsi que les champs qui sont présentés sur tous les formulaires événements des agendas de la plateforme.
Les deux autres types "schema", agenda et network sont associés aux champs additionnels, particuliers à un agenda dans le premier cas et à un réseau d'agendas dans le second. Les types de ces champs se déclinent principalement en trois catégories:
- Les champs textuels: texte simple, texte multi-ligne, HTML, markdown, multilingue. Dans ces cas, les valeurs sont directement associées aux clés "field" des champs sans conversion particulière.
- Les champs à options: liste à choix unique, à choix multiple, select ou multi-select. Les valeurs associées aux clés dans ce cas sont les identifiants des options sélectionnées (voir exemple ci dessous).
- Les champs à fichiers: ceux-cis ne sont pas manipulables par API
En reprenant l'exemple du champ à choix donné dans la section précédente, voici à quoi ressemblera la donnée d'un événement associé à l'"organisateur" "Collectivité":
{
...
"organisateur": [31],
...
}
Si le champ est de type choix unique (radio, select), l'identifiant de l'option associée à l'événement sera directement associée au champ. Pour un champ additionnel "Catégorie" défini comme suit:
{
...
"schema": {
"fields": [
...,
{
"field": "categorie",
"label": "Catégorie",
"fieldType": "radio",
"options": [
{
"id": 112,
"value": "concert",
"label": "Concert"
},
{
"id": 113,
"value": "exposition",
"label": "Exposition"
}
]
}
]
}
...
}
La donnée dans un événement associé à la catégorie "Exposition" sera présentée comme ceci:
{
...
"categorie": 112,
...
}