Chers utilisatrices et utilisateurs,
Un changement important va avoir lieu dans une quinzaine de jours (semaine 50) au niveau de la sortie JSON de l’API. En effet, la structure actuelle des enrichissements est de la forme :

{
  hits: [{
    enrichments: [{
      type: "multicat",
      uri: "https://api.istex.fr/document/.../enrichments/multicat"
    }, {
      type: "refBibs",
      uri: "https://api.istex.fr/document/.../enrichments/refBibs"
    }]
  }]
}

Cette structure va évoluer pour la forme :

{
  hits: [{
    enrichments: {
      multicat: [{
        original: false,
        mimetype: "application/tei+xml",
        extension: "tei",
        uri: "https://api-dev.istex.fr/document/.../enrichments/multicat"
      }],
      refBibs: [{
        original: false,
        mimetype: "application/tei+xml",
        extension: "tei",
        uri: "https://api-dev.istex.fr/document/.../enrichments/refBibs"
      }]
    }
  }]
}

Comme on peut le voir, certains champs ont été rajoutés (original, mimetype, extension) pour garder une cohérence avec les autres types de données (metadata, fulltext, …).
Le changement majeur concerne la structure même : le tableau « enrichments » devient un objet et les types d’enrichissement deviennent des clés de l’objet « enrichments ».
Plusieurs raisons à cela :

  • Il est maintenant possible de lier plusieurs fichiers à un type d’enrichissement. Il sera par exemple ainsi possible, dans le futur, de garder des versions antérieures.
  • Il est également plus aisé de vous fournir des enrichissements mis à jour. En effet, il sera possible de remplacer directement le bloc concerné, là où avant une ré-ingestion entière était nécessaire.

A cela s’ajoute un nouveau champ enrichments.type : ce dernier permet de rechercher un type en particulier, ainsi que d’effectuer une facette sur les types d’enrichissement.
Ce changement de structure peut avoir des conséquences sur vos scripts. Par exemple, si vous avez un script pour récupérer l’URI d’un enrichissement refBibs :

if (enrichments) {
  for (enrichment of enrichments) {
    if (enrichment.type === 'refBibs') {
      return enrichment.uri;
    }
  }
}

deviendra

if (enrichments && enrichments.refBibs) {
  return enrichments.refBibs.uri;
}

Le changement ne concerne actuellement que le type de données enrichments, mais nous réfléchissons pour modifier les autres types de données sur le même format (avec les extensions en tant que clés par exemple). Les champs fulltext, metadata, covers et annexes connaîtront donc également un changement de même nature. Nous vous informerons de cette évolution.
N’hésitez pas à commenter et à donner vos différentes remarques !

besoin d'aideBesoin d'aide ?

Besoin d'aide ?

Consultez notre Faq, la documentation Istex ou nos tutoriels

N’hésitez pas à nous contacter si besoin, nous reviendrons rapidement vers vous !

Écrivez-nous

fermer la modale