API

Le caractère unique d’une valeur sys.id générée par Contentful dépend du contexte spécifique de l’identifiant :

  • identifiants d’organisation : toujours uniques.

  • Identifiants d’espace : toujours uniques.

  • Identifiants d’environnement : toujours uniques dans un seul espace. Ceux-ci peuvent être réutilisés dans d’autres espaces.

  • Identifiants de ressources média ou d’entrées : uniques dans un seul environnement dans un seul espace. Si un environnement est dupliqué, les identifiants seront réutilisés pour toutes les ressources médias et entrées de cet environnement. De même, les identifiants de ressources média et d’entrées peuvent être réutilisés dans d’autres espaces ou environnements lorsqu’ils sont générés automatiquement.

  • Autres identifiants de ressources : uniques dans le contexte de la ressource. Par exemple, les identifiants de définition d’application sont une ressource organisationnelle et sont uniques au sein d’une organisation, tandis que les identifiants de clé API sont une ressource spatiale et sont uniques au sein d’un espace.

    Il est toujours recommandé de préciser le contexte de votre requête afin de garantir que les bonnes données soient renvoyées.

Si l’image est supérieure à 20 Mo, elle est considérée comme une ressource média selon la limite technique, de sorte que la transformation de l’image ne fonctionnera pas.

En outre, vous remarquerez également des changements au niveau du domaine des ressources média. Pour les ressources images <20 Mo, le point de terminaison sera images.ctfassets.net. Pour les ressources images de plus de 20 Mo, il s’agira de downloads.ctfassets.net. Pour les autres types de fichiers, il pointera vers assets.ctfassets.net.

Il n’existe pas de solution intégrée pour le moment. Cependant, vous pouvez configurer une tâche cron qui envoie un ping à Content Management API pour calculer l’utilisation des enregistrements (#records = #entries + #assets, l’utilisation actuelle peut être trouvée dans la propriété « total » dans la réponse de l’API), et déclenche une notification d’alerte une fois qu’un seuil est atteint.

Vous pouvez utiliser sys.publishedVersion[exists]=false dans Content Management API pour filtrer ces entrées. Les entrées qui ne sont jamais publiées n’ont pas d’attribut sys.publishedVersion.

Vous pouvez interroger une entrée et ses données associées en une seule requête avec le paramètre include, puisque le paramètre n’est disponible que pour le point de terminaison de la collection d’entrées, vous pouvez utiliser une requête comme : entries?sys.id={entry_id}&include=5

Vous pouvez utiliser l’opérateur d’inclusion, par exemple : ?sys.contentType.sys.id[in]=content_type1,content_type2,…

Il n’est pas directement possible de le faire via l’API REST, vous devrez effectuer deux requêtes pour y parvenir. Il est également possible d’utiliser GraphQL pour l’opération OR ; vous trouverez la documentation ici.

Vous pouvez utiliser Content Delivery API (API de diffusion) :

  1. Récupérez toutes les entrées/ressources.

  2. Effectuez un processus itératif à travers toutes les entrées/ressources média en utilisant les paramètres de requête links_to_entry et links_to_assets.

  3. Les entrées/ressources média qui ne sont liées à aucune entrée renvoient « total » : 0 dans la réponse de l’API.

Le processus peut être coûteux, mais il devrait rester réalisable s’il s’agit de tâches de maintenance.

Cela peut être dû au fait que le jeton d’API que vous utilisez n’a pas accès à l’environnement. Vous pouvez aller dans Paramètres → Clés API → Environnements pour le vérifier et le configurer.

You can query an entry and its related data in a single request, however, if the linked items are unpublished or deleted, they will not be retrievable through the Delivery API and, as a consequence, a notResolvable error is returned in the API response.

API | Contentful Help Center