Multimédias privés (depuis sept. 2025)

Depuis septembre 2025, il est possible de renseigner sur une fiche des multimédias privés. Le fonctionnement est similaire à celui des descriptifs privés déjà en place : un membre peut créer ses propres types de médias privés (images privées, documents particuliers …), et les partager avec des tiers. Ce partage peut être en lecture seule ou en lecture et écriture.

Toute personne ayant un droit de lecture sur ces catégories de médias privés pourra les retrouver en API de lecture, et toute personne ayant un droit d’écriture pourra en modifier le contenu via API d’écriture.

Paramétrage du projet pour inclure les médias privés

Par défaut, les multimédias privés ne sont pas inclus dans les APIs de lecture. Pour les ajouter dans les flux, il faut aller dans la configuration technique du projet, la modifier et cocher la case « Exporter les multimédias privés » :

Placement et format du noeud en API de lecture

La structure des médias privés est très proche des multimédias classiques. Le nouveau noeud se nomme mediasPrives. Il est de la forme :

    "mediasPrives": [
        {
            "identifiant": ...,
            "link": false,
            "type": "...",
            "categorieMediasPrives": "...",
            "nom": {
                "libelleFr": "..."
            },
            "legende": {
                "libelleFr": "..."
            },
            "copyright": {
                "libelleFr": "..."
            },
            "traductionFichiers": [
                {
                    "locale": "fr",
                    "url": "...",
                    "urlListe": "...",
                    "urlFiche": "...",
                    "urlDiaporama": "...",
                    "extension": "...",
                    "fileName": "...",
                    "taille": ...,
                    "hauteur": ...,
                    "largeur": ...,
                    "lastModifiedDate": "...",
                    "checksum": "..."
                }
            ],
            "dateLimiteDePublication": "...",
            "locked": false
        }
    ]

Format des écritures

Toutes les écritures listées ci-dessous sont faites avec l’hypothèse d’avoir des droits en écriture sur la catégorie de médias privés ciblée. Si les droits d’écriture ne sont pas activés pour la catégorie visée, les modifications seront ignorées.

Le détail des champs disponibles est le suivant :
Attention : seuls les champs en gras sont modifiables par les API, les autres sont générés par Apidae :

  • identifiant (integer : généré par Apidae)
  • identifiantExterne (string : votre identifiant si vous le souhaitez)
  • categorieMediasPrives (string : le code de la catégorie de médias privés)
  • link (boolean)
  • type (string / enum : IMAGE, DOCUMENT, VIDEO, PLAN…)
  • nom (object : liste de libelleFr, libelleEn… pour les traductions)
    • libelleFr
    • libelleEn
  • legende (object : liste de libelleFr, libelleEn… pour les traductions)
  • copyright (object : liste de libelleFr, libelleEn… pour les traductions)
  • traductionFichiers (array : liste des fichiers de l’item `multimedia`)
    • locale (string)
    • url (string)
    • urlListe (string : généré par Apidae)
    • urlDiaporama (string : généré par Apidae)
    • urlQHD? (à venir) (string : généré par Apidae)
    • extension (string : généré par Apidae)
    • fileName (string)
    • taille (integer : généré par Apidae)
    • hauteur (integer : généré par Apidae)
    • largeur (integer : généré par Apidae)
    • lastModifiedDate (string, date-time : généré par Apidae)
  • dateLimiteDepublication (string date-time)
  • locked (boolean) : l’image est verrouillée en modification IHM seulement (provenance de passerelles) : ce champ est modifiable en API d’écriture, et le lock n’empêche pas la modification de l’illustration par API : il ne concerne que l’IHM, pour empêcher l’utilisateur de modifier une illustration qui a été écrite par API et qu’on souhaite verrouiller.
  • identifiantTemporaire (integer)
  • modificationMode (string, enum : MODIFICATION_FICHIERS, MODIFICATION_METADONNEES)

Modification d’un média privé existant

Comme pour les multimédias « classiques », en plus d’ajouter « mediasPrives » dans le rootFieldlist, il est nécessaire de transmettre « modificationMode », qui peut valoir MODIFICATION_METADONNEES ou MODIFICATION_FICHIERS.

Pour modifier les informations générales d’un média privé, il faut transmettre « modificationMode »: »MODIFICATION_METADONNEES ». Tous les champs d’informations sur le média peuvent alors être modifiés : type, categorieMediasPrives, nom, légende, copyright, date de publication …

Le format du JSON à transmettre est :

    "mediasPrives": [
        {
            "identifiant": 32187159,  //ID du média privé existant
            "modificationMode": "MODIFICATION_METADONNEES",
            "link": false,
            "type": "...",
            "categorieMediasPrives": "...",
            "nom": {
                "libelleFr": "..."
            },
            "traductionFichiers": [
                {
                 ...
                }
            ],
            "locked": false
        }
    ]

Pour modifier le fichier d’un média privé existant, il faut transmettre « modificationMode »: »MODIFICATION_FICHIERS ». Le média lui-même peut alors être remplacé par un nouveau média.

Le format du JSON à transmettre est très proche :

    "mediasPrives": [
        {
            "identifiant": 32187159,  //ID du média privé existant
            "modificationMode": "MODIFICATION_FICHIERS",
            "link": false,
            "type": "...",
            "categorieMediasPrives": "...",
            "nom": {
                "libelleFr": "..."
            },
            "traductionFichiers": [
                {
                    "locale": "fr",
                    "url": "MULTIMEDIA#illustration-1", //Bien penser à rajouter le fichier multimedia.illustration-1 dans le body de l'appel
                }
            ],
            "locked": false
        }
    ]

Ajout d’un nouveau multimédia privé

Pour ajouter un média privé à une fiche, il faut transmettre le média dans l’appel et y faire référence dans le root, comme lors du remplacement d’un fichier existant. Les champs requis pour ajouter un nouveau média privés sont : un type, une categorieMediasPrives et un item dans traductionFichiers avec un lien externe pour la version française.

Le JSON le plus simple serait donc :

    "mediasPrives": [
        {
            "link": false,
            "type": "IMAGE",
            "categorieMediasPrives": "1234_ImagePrivee",
            "nom": {
                "libelleFr": "Nouvelle image privée"
            },
            "traductionFichiers": [
                {
                    "locale": "fr",
                    "url": "MULTIMEDIA#image-privee-1"
                }
            ]
        }
    ]

Les autres champs (copyright, légende, date limite de publication …) sont également modifiables.

Suppression d’un multimédia privé

Comme pour les médias classiques, pour supprimer un média privé il suffit de transmettre le noeud mediasPrives sans le média en question.

Par exemple, avec comme données initiales :

    "mediasPrives": [
        {
            "identifiant": 1234,
            ...
        },
        {
            "identifiant": 12345,
            ...
        },
        {
            "identifiant": 123456,
            ...
        }
    ]

En renvoyant ce JSON, le média avec ID 123456 sera supprimé :

    "mediasPrives": [
        {
            "identifiant": 1234,
            ...
        },
        {
            "identifiant": 12345,
            ...
        }
    ]
FAQ

Je ne retrouve pas les multimédias privés saisis par l’office de tourisme, comment faire ?

Plusieurs points sont à vérifier :

  • Est-ce que le type de multimédia privés a bien été partagé avec ma structure ?
  • Est-ce que mon projet est paramétré pour inclure les multimédias privés ?
  • Est-ce que le noeud « multimediasPrives » fait partie des champs appelés ?

Si le problème persiste, n’hésitez pas à contacter le support sur support@apidae-tourisme.com.

Je retrouve les multimédias privés en API de lecture, mais n’arrive pas à les modifier.

Il existe 2 niveaux de partage pour une catégorie de multimédia privé : lecture seule, ou lecture et écriture. Il convient de vérifier que le multimédia privé ciblé est bien modifiable par le projet d’API d’écriture utilisé.