Skip to main content

Exposition des données

Les bases de données présentes sur la plateforme AGORHA sont exposées et moissonnables selon plusieurs protocoles :

  • en OAI-PMH, avec le standard de description de métadonnées Dublin Core (DCMES) ;
  • en json (.json), en json-ld (.jsonld) et en rdf (xml-rdf, .n3 et .n4) via la négotiation de contenu ;
  • en json via une API-REST spécifique.
Documentation API Agorha

Documentation de l'API d'AGORHA

URL :
https://agorha.inha.fr/api/database/list

Cette requête retourne la liste de toutes les bases de données publiées en indiquant pour chacune l'identifiant unique universel (uuid), la date de création, la date de dernière mise à jour, le permalien, le type de notice principal, le titre, la vignette et la description.

Une synthèse du nombre de bases de données par type de notices est indiqué dans l'objet Facettes.

URL :
https://agorha.inha.fr/api/database/{uuid}

Cette requête retourne les métadonnées d'une base de données à partir de son identifiant unique universel (uuid).

Exemple :

https://agorha.inha.fr/api/database/47

URL :
https://agorha.inha.fr/api/metamodeles?noticeType={noticeType}

Cette requête permet d'obtenir le JSON du métamodèle, selon le type de notice indiqué en paramètre :

  • ARTWORK
  • PERSON
  • EVENT
  • REFERENCE
  • COLLECTION

Exemple :

https://agorha.inha.fr/api/metamodeles?noticeType=ARTWORK

URL :
https://agorha.inha.fr/api/notice/geoPointField

Cette requête renvoie, pour chaque type de notices, la liste des chemins JSON des champs de notices contenant la valeur (le label) d'un lieu.

Attention :

Bien que l'API indique "geoPointField", elle renvoie bien au chemin JSON du label et non au champ des coordonnées géographiques.

Des mentions entre parenthèses indiquent s'il s'agit d'une ville, d'une adresse, d'un lieu d'exécution, d'un lieu de découverte ou de conservation, etc.

Pour obtenir le chemin vers les coordonnées géographiques du lieu recherché il faut donc (ex. dans un script de traitement de données) :

  • enlever la mention ("ville", "Lieu de découverte"...) entre parenthèses, l'espace et les parenthèses
  • rajouter ".geoPoint" à la fin du path récupéré via l'API

URL :
https://agorha.inha.fr/api/thesaurus/autocomplete?terms={terms}&thesaurusKey={thesaurusKey}&branchLabel={branchLabel}&limit={int}

Cette requête permet de rechercher des caractères ou un terme au sein des thésaurus AGORHA. Elle est très similaire à cette requête sur l'autocomplétion des thésuarus AGORHA.

Cette requête permet, lorsqu'elle est associée à un champ du métamodèle étant identifié comme portant la valeur (label) d'un concept de thésaurus, d'obtenir une liste de x suggestions de termes commençant par les caractères recherchés.

Cette requête prend 2 paramètres obligatoirement:

  • terms : le terme recherché, entier ou tronqué
  • thesaurusKey : la clé du thésaurus permettant de faire le lien entre la requête et le thésaurus AGORHA dans lequel les caractères ou le mot doivent être recherchés
      • Les thesaurusKey sont accessibles via la propriété JSON du même nom, pour chaque champ concerné dans chacun des cinq métamodèles
  • branchLabel (optionnel) : la valeur branchLabel est récupérable également dans les métamodèles, à la propriété du même nom. Elle est quasiment tout le temps nulle, sauf pour la table PERSON avec "rôle" et la table ARTWORK avec "degré d'attribution"
  • limit (optionnel): la limite qui indique le nombre de résultats par requêtes (par défaut : 10)

Exemple :

On recherche la chaîne "aut" dans le thésaurus AGORHA des Rôles d'auteurs, avec la branchLabel "rôle"

https://agorha.inha.fr/api/thesaurus/autocomplete?terms=aut&thesaurusKey=TH_ROLE_AUTEUR_CONCEPTS&limit=10&branchLabel=rôle

et sans la branchLabel :

https://agorha.inha.fr/api/thesaurus/autocomplete?terms=aut&thesaurusKey=TH_ROLE_AUTEUR_CONCEPTS&limit=10

NB: Quand on est dans un formulaire, on peut donc lancer la requête à chaque nouveau caractères inscrits, ainsi la liste des suggestions s'affine au fur et à mesure.

URL :
https://agorha.inha.fr/api/thesaurus/list?thesaurusKey={thesaurusKey}

Cette requête permet de lister l'ensemble des termes d'un thésaurus en indiquant la clé dudit thésaurus.

Cette requête prend 1 paramètre :

  • thesaurusKey : la clé du thésaurus permettant de faire le lien entre la requête et le thésaurus AGORHA dans lequel les caractères ou le mot doivent être recherchés
      • Les thesaurusKey sont accessibles via la propriété JSON du même nom, pour chaque champ concerné dans chacun des cinq métamodèles

Exemple :

On liste tous les concepts du thésaurus AGORHA des Rôles d'auteurs

https://agorha.inha.fr/api/thesaurus/list?thesaurusKey=TH_ROLE_AUTEUR_CONCEPTS

URL :
https://agorha.inha.fr/api/thesaurus/prefLabel?conceptId={conceptId}

Cette requête permet de récupérer le terme préférentiel (prefLabel) d'un concept.

Elle prend 1 paramètre :

  • conceptId : UUID du concept

Exemple :

On récupère le label préférentiel du concept "abkhaze"

https://agorha.inha.fr/api/thesaurus/prefLabel?conceptId=79bf2b29-34e8-46da-8988-dbbad6728f0c

URL :
https://agorha.inha.fr/api/notice/autocomplete?terms={string}&noticePageSize={int}&lang={language}&noticeType={noticeType}

Cette requête permet d'afficher le JSON des suggestions de notices en fonction des caractères indiqués.

La requête peut prendre 4 paramètres :

  • terms : terme ou caractères recherchés
  • noticeType : ARTWORK, PERSON, REFERENCE, EVENT, COLLECTION
  • lang : norme ISO de la langue dans laquelle la recherche est effectuée : fre, ger, spa...
  • noticePageSize : nombre de notices par page (non applicable)

Exemple :

On recherche la chaîne de caractères "leo"

https://agorha.inha.fr/api/notice/autocomplete?terms=leo&noticePageSize=5&lang=fre&noticeType=

URL :
https://agorha.inha.fr/api/notice/advAutocomplete

Permet d'obtenir une liste de suggestions selon les caractères insérés dans les champs de recherche avancée

Prend 3 paramètres :

  • field : chemin JSON du champ requêté
  • query : termes ou caractères recherchés (2 caractères minimum obligatoires)
  • noticeType : ARTWORK, EVENT, PERSON, REFERENCE ou COLLECTION

Exemple :

https://agorha.inha.fr/api/notice/advAutocomplete?field=content.identificationInformation.type.thesaurus&query=amp&noticeType=ARTWORK

URL :
https://agorha.inha.fr/api/notice/exportjson?noticeType={noticeType}&database={uuid}

Cette requête exporte au format JSON les notices d'une base de données et d'une table choisies.

Elle prend 2 paramètres

  • noticeType : ARTWORK, PERSON, EVENT, REFERENCE ou COLLECTION
  • database : identifiant à 1 ou 2 chiffres de la base de données AGORHA

Note :

Le résultat est paginé par ensemble de 1000 notices maximum. Lorsque le résultat de la requête dépasse les 1000 résultats, un "token" unique est présent dans le JSON de la requête. Ce jeton ("token") permet d'exporter toutes les notices en incrémentant la pagination. Il doit être récupéré au premier envoi de la requête, intégré comme paramètre à la requête et renvoyé autant de fois qu'il y a de réponse.

Exemple d'une requête sans token (1er envoi) :

https://agorha.inha.fr/api/notice/exportjson?noticeType=ARTWORK&database=47

Exemple de la même requête avec son token (à partir du 2ème envoi) :

https://agorha.inha.fr/api/notice/exportjson?noticeType=ARTWORK&database=47&token={xxxx}

URL :
https://agorha.inha.fr/api/notice/selections/export/{idSelection}

Cette requête permet d'exporter le ou les CSV (si on souhaite exporter plusieurs tables) d'une sélection de notices AGORHA.

Elle prend 1 paramètre :

  • Identifiant de la sélection AGORHA

Exemple :

https://agorha.inha.fr/api/notice/selections/export/NePyPZUBkyoicXMLnf-8

URL :
https://agorha.inha.fr/api/notice/{uuid}

Cette requête permet d'obtenir les données JSON d'une notice AGORHA.

Prend 1 paramètre :

  • UUID de la notice AGORHA

Exemple :

https://agorha.inha.fr/api/notice/5266339f-f931-45bc-8e24-d23deaf95ae4

URL :
https://agorha.inha.fr/api/notice/{uuid}/media

Cette requête permet d'obtenir la liste, en format JSON, de la ou des notices média d'une notice AGORHA.

Prend 1 paramètre :

  • UUID de la notice AGORHA

Exemple :

https://agorha.inha.fr/api/notice/1d5356ef-9f77-4589-b12c-8b2c8a622306/media

URL :
https://agorha.inha.fr/api/media/{uuid_notice_media}

Permet d'obtenir le JSON d'une notice média : l'id Kibana, date de création, UUID, le lien ou non à une notice AGORHA, la légende, le type du média, l'uuid du média et les URLS IIIF des différents fichiers images (thumbnail et taille moyenne (medium)) et du manifest IIIF original.

Prend 1 paramètre :

  • l'UUID de la notice média

Exemple :

/!\ : Il s'agit bien de l'uuid de lanoticedu média, pas de l'uuid du média ni de l'uuid du fichier image

https://agorha.inha.fr/api/media/d4351e53-75af-4218-ae1b-8e36e0620b8b

Résultat :

{

"id" : "TbaLVn0BXUHeloXauVTN",

"internal" : {

"createdDate" : "2021-11-25T11:02:17",

"uuid" : "d4351e53-75af-4218-ae1b-8e36e0620b8b",

"linkedWithNotices" : "Non"

},

"caption" : "Musica, Février 1905, n° 29",

"files" : [ {

"uuid" : "2b656356-9e6a-43e7-80b8-07d32cda2d41",

"mediaType" : "IIIF",

"computedFacetMediaType" : "/Média externe/manifest IIIF",

"originFile" : "https://agorha.inha.fr/iiif/presentation/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41/manifest",

"thumbnail" : "https://agorha.inha.fr/iiif/image/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41_b65caca0-5947-4841-9bf3-56a952a29916/full/!200,200/0/default.jpg",

"mediumSizePicture" : "https://agorha.inha.fr/iiif/image/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41_b65caca0-5947-4841-9bf3-56a952a29916/full/!400,400/0/default.jpg",

"uniqueKey" : 138

} ]

}

URL :
https://agorha.inha.fr/api/media/{id}/picture?fileId={fileId}

Cette requête permet d'obtenir les métadonnées au format JSON d'une image : l'URL de l'image ou du manifest ainsi que le titre de l'image.

La requête prend ces deux paramètres :

  • Id : identifiant de la notice média
  • fieId : identifiant du média

Exemple :

A partir du résultat JSON decet exemple

{

"id" : "TbaLVn0BXUHeloXauVTN",

"internal" : {

"createdDate" : "2021-11-25T11:02:17",

"uuid" : "d4351e53-75af-4218-ae1b-8e36e0620b8b",

"linkedWithNotices" : "Non"

},

"caption" : "Musica, Février 1905, n° 29",

"files" : [ {

"uuid" : "2b656356-9e6a-43e7-80b8-07d32cda2d41",

"mediaType" : "IIIF",

"computedFacetMediaType" : "/Média externe/manifest IIIF",

"originFile" : "https://agorha.inha.fr/iiif/presentation/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41/manifest",

"thumbnail" : "https://agorha.inha.fr/iiif/image/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41_b65caca0-5947-4841-9bf3-56a952a29916/full/!200,200/0/default.jpg",

"mediumSizePicture" : "https://agorha.inha.fr/iiif/image/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41_b65caca0-5947-4841-9bf3-56a952a29916/full/!400,400/0/default.jpg",

"uniqueKey" : 138

} ]

}

On formalise cette requête :

https://agorha.inha.fr/api/media/d4351e53-75af-4218-ae1b-8e36e0620b8b/picture?fileId=2b656356-9e6a-43e7-80b8-07d32cda2d41&format=thumbnail

Résultat :

{

"file" : "https://agorha.inha.fr/iiif/presentation/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41/manifest",

"title" : "Musica, Février 1905, n° 29"

}

URL :
https://agorha.inha.fr/api/media/{id}/media/{fileId}

Cette requête permet d'obtenir les métadonnées au format JSON d'une image : l'URL de l'image ou du manifest ainsi que le titre de l'image.

Elle prend 2 paramètres :

  • Identifiant (uuid) de la notice média
  • Identifiant (uuid) du média

Exemple :

/!\ : il faut indiquer l'uuid de la notice du média, puis l'uuid du média (et pas du fichier image)

https://agorha.inha.fr/api/media/d4351e53-75af-4218-ae1b-8e36e0620b8b/media/2b656356-9e6a-43e7-80b8-07d32cda2d41

Résultat :

{

"file" : "https://agorha.inha.fr/iiif/presentation/v2/2b656356-9e6a-43e7-80b8-07d32cda2d41/manifest",

"title" : "Musica, Février 1905, n° 29"

}

URL :
https://agorha.inha.fr/api/notice/referenceby/{uuid}

Cette requête permet d'obtenir la liste, en format JSON, des UUIDs des notices référençant une notice AGORHA choisie.

Elle prend 1 paramètre :

  • UUID de la notice AGORHA

Exemple :

https://agorha.inha.fr/api/notice/referenceby/1d5356ef-9f77-4589-b12c-8b2c8a622306

URL :
https://agorha.inha.fr/api/notice/search?terms={termes}&page={num_page}&pageSize={nbr_notices}&noticeType={type_notice}&selectionId={id_selection}&withAttachment={true ou false}

Cette requête retourne les résultats de recherche d'un ou plusieurs termes dans toutes les notices.

Elle peut prendre jusqu'à 6 paramètres :

  • page : le numéro de la page de résultats
  • terms : le terme ou les caractères recherchés
  • pageSize : le nombre de résultats par page (par défaut 20)
  • noticeType : le type de notice
  • selectionId : l'identifiant de sélection, dans le cas où la recherche est effectuée parmi des notices au sein d'une sélection
  • withAttachment : true ou false, selon si on souhaite rechercher dans les notices ayant des médias

https://agorha.inha.fr/agorha2-api/notice/search?terms=vinci&page=1&pageSize=20&fieldSort=&sort=ASCENDING&noticeType=ARTWORK&selectionId=&filters=&withAttachment=false

URL :
https://agorha.inha.fr/api/notice/timeline?page&terms&pageSize&noticeType&selectionId

Cette requête permet de générer le JSON des données à injecter dans une frise chronologique (avec la bibliothèque Timeline.js), à partir des résultats d'une recherche simple.

La requête prend jusqu'à 5 paramètres :

  • page : numéro de page de la liste de résultats
  • terms : caractères ou terme recherchés
  • pageSize : nombre de résultats par page
  • noticeType : type de notice - ARTWORK, PERSON, EVENT, REFERENCE ou COLLECTION
  • selectionId : identifiant de sélection AGORHA

Ex. Je cherche les notices d'oeuvres qui ont les caractères "qui", page 1, avec 20 résultats par page.

https://agorha.inha.fr/api/notice/timeline?page=1&terms=qui&pageSize=20&noticeType=ARTWORK

La requête avec un identifiant de sélection AGORHA

https://agorha.inha.fr/api/notice/timeline?selectionId=NePyPZUBkyoicXMLnf-8

On peut mettre tous les paramètres dans une même requête : on cherchera le terme "qui" dans la sélection indiquée

https://agorha.inha.fr/api/notice/timeline?page=1&terms=qui&pageSize=20&noticeType=ARTWORK&selectionId=NePyPZUBkyoicXMLnf-8

URL :
https://agorha.inha.fr/api/notice/advSearch?filters={requête JSON encodée en base64}

Composition de la requête :

  • noticeType : ARTWORK ou PERSON ou REFERENCE ou COLLECTION ou EVENT
  • filters : liste qui contiendra tous les champs requêtés, avec pour chacun
      • field : indiquer le JSON Path du champ requêté. Attention : certaines anomalies subsistent notamment pour les requêtes des dates : certaines données requêtables et spécifiques à certains champs sont à requêter dans un champ différent (cf. requête Recherche avancée champ date)
      • op : l'opérateur du bloc/filtre : ANY pour ET, NONE pour SAUF
      • values : contient les valeurs requêtées
          • si on cherche plusieurs valeurs à la fois, les chaînes de caractères sont dans la même liste/array, entre double guillemets, et sont séparées par des virgules.
          • si on cherche valeur X et valeur Y SAUF valeur Z : X et Y seront dans le même filtre ayant l'opérateur ANY, dans la même liste de valeurs (séparées par une virgule), mais Z sera dans un autre filtre, avec l'opérateur NONE, et indiqué dans sa liste/array propre (cf exemples).

Exemple 1 de requête :

Je recherche toutes les notices d'oeuvres ayant le nom "Vinci" pour créateur de l'oeuvre.

{

"pageSize": "20",

"noticeType": "ARTWORK",

"selectionId": "",

"sort": "",

"page": 1,

"aggregations": {},

"contentTarget": "NOTICE",

"filters": [

{

"field": "content.creationInformation.creation.person.value",

"boost": 1,

"op": "ANY",

"values": [

"Vinci"

]

}

]

}

Requête complète avec le filtre encodé en Base 64 :

https://agorha.inha.fr/api/notice/advSearch?filters=eyJwYWdlU2l6ZSI6IjIwIiwibm90aWNlVHlwZSI6IkFSVFdPUksiLCJzZWxlY3Rpb25JZCI6IiIsInNvcnQiOiIiLCJwYWdlIjoxLCJhZ2dyZWdhdGlvbnMiOnt9LCJjb250ZW50VGFyZ2V0IjoiTk9USUNFIiwiZmlsdGVycyI6W3siZmllbGQiOiJjb250ZW50LmNyZWF0aW9uSW5mb3JtYXRpb24uY3JlYXRpb24ucGVyc29uLnZhbHVlIiwiYm9vc3QiOjEsIm9wIjoiQU5ZIiwidmFsdWVzIjpbIlZpbmNpIl19XX0=

Exemple 2 de requête :

Je recherche toutes les notices d'oeuvres comprenant "Amphore" ou "Coupe" dans leur titre, sauf les notices appartenant à la base du "Digital Muret".

{

"pageSize": "20",

"noticeType": "ARTWORK",

"selectionId": "",

"sort": "",

"page": 1,

"aggregations": {},

"contentTarget": "NOTICE",

"filters": [

{

"field": "content.recordManagementInformation.databaseLabel.value",

"boost": 1,

"op": "NONE",

"values": [

"Digital Muret"

]

},

{

"field": "content.identificationInformation.title.label.value",

"boost": 1,

"op": "ANY",

"values": [

"Amphore",

"Coupe"

]

}

]

}

Requête complète avec le filtre encodé en Base 64 :

https://agorha.inha.fr/api/notice/advSearch?filters=eyJwYWdlU2l6ZSI6IjIwIiwibm90aWNlVHlwZSI6IkFSVFdPUksiLCJzZWxlY3Rpb25JZCI6IiIsInNvcnQiOiIiLCJwYWdlIjoxLCJhZ2dyZWdhdGlvbnMiOnt9LCJjb250ZW50VGFyZ2V0IjoiTk9USUNFIiwiZmlsdGVycyI6W3siZmllbGQiOiJjb250ZW50LnJlY29yZE1hbmFnZW1lbnRJbmZvcm1hdGlvbi5kYXRhYmFzZUxhYmVsLnZhbHVlIiwiYm9vc3QiOjEsIm9wIjoiTk9ORSIsInZhbHVlcyI6WyJEaWdpdGFsIE11cmV0Il19LHsiZmllbGQiOiJjb250ZW50LmlkZW50aWZpY2F0aW9uSW5mb3JtYXRpb24udGl0bGUubGFiZWwudmFsdWUiLCJib29zdCI6MSwib3AiOiJBTlkiLCJ2YWx1ZXMiOlsiQW1waG9yZSIsIkNvdXBlIl19XX0=

URL :
https://agorha.inha.fr/api/notice/advSearch?filters={requête JSON encodée en base64}

Composition de la requête :

  • noticeType : ARTWORK ou PERSON ou REFERENCE ou COLLECTION ou EVENT
  • filters : liste qui contiendra tous les champs requêtés, avec pour chacun
      • field : indiquer le JSON Path du champ requêté. Attention : certaines anomalies subsistent notamment pour les requêtes des dates : certaines données requêtables et spécifiques à certains champs sont à requêter dans un champ différent : ici on recherche la valeur "1500-01-01 AD" présente dans le champ "content.creationInformation.creation.date.startDateComputed", mais ce champ n'est pas requêtable en l'état, on doit requêter sur "content.creationInformation.creation.date" qui comprend dans le JSON des notices un format de date différent.
      • op : l'opérateur du bloc/filtre : ANY pour ET, NONE pour SAUF
      • values : contient les valeurs requêtées
          • si on cherche une date = à x : la liste des valeurs contient un objet JSON comprenant une valeur "min" et une valeur "max" identique
          • si on cherche une date < à x : la liste des valeurs contient un objet JSON comprenant une valeur "min" égale à "null" et une valeur "max" correspondant à la valeur recherchée (x)
          • si on cherche une date > à x : la liste des valeurs contient un objet JSON comprenant une valeur "min" correspondant à la valeur recherchée (x) et une valeur "max" égale à "null"
      • si on cherche un intervalle : la recherche est alors composée de deux filtres : un premier filtre avec un objet JSON comprenant une valeur "min" correspondant à la valeur recherchée (x) et une valeur "max" égale à "null", puis un second filtre avec un objet JSON comprenant une valeur "min" égale à "null" (x) et une valeur "max" égale à la deuxième valeur de l'intervalle
      • si on cherche plusieurs dates à la fois, les objets de date renfermant les valeurs min et max sont dans la même liste/array, séparés par des virgules.
      • si on cherche date X SAUF date Y : X sera dans un filtre ayant l'opérateur ANY, mais Y sera dans un autre filtre, avec l'opérateur NONE, et indiqué dans sa liste/array propre (cf exemples).

NB : Pour plus de praticité et de logique, la recherche de deux dates avec l'opérateur "OU" comme elle est disponible dans le cadre de la recherche textuelle simple a été empêchée.

Exemple 1 de requête :

Je recherche toutes les oeuvres créées le "01/01/1500"

{

"pageSize": "20",

"noticeType": "ARTWORK",

"selectionId": "",

"sort": "",

"page": 1,

"aggregations": {},

"contentTarget": "NOTICE",

"filters": [

{

"field": "content.creationInformation.creation.date",

"boost": 1,

"op": "ANY",

"values": [

{

"min": "1500-01-01 AD",

"max": "1500-01-01 AD"

}

]

}

]

}

Requête complète avec l'encodage du filtre en base 64 :

https://agorha.inha.fr/api/notice/advSearch?filters=eyJwYWdlU2l6ZSI6IjIwIiwibm90aWNlVHlwZSI6IkFSVFdPUksiLCJzZWxlY3Rpb25JZCI6IiIsInNvcnQiOiIiLCJwYWdlIjoxLCJhZ2dyZWdhdGlvbnMiOnt9LCJjb250ZW50VGFyZ2V0IjoiTk9USUNFIiwiZmlsdGVycyI6W3siZmllbGQiOiJjb250ZW50LmNyZWF0aW9uSW5mb3JtYXRpb24uY3JlYXRpb24uZGF0ZSIsImJvb3N0IjoxLCJvcCI6IkFOWSIsInZhbHVlcyI6W3sibWluIjoiMTUwMC0wMS0wMSBBRCIsIm1heCI6IjE1MDAtMDEtMDEgQUQifV19XX0=

Exemple 2 de requête :

Je recherche toutes les notices d'oeuvres comprenant "Amphore" ou "Coupe" dans leur titre, sauf les notices appartenant à la base du "Digital Muret", et dont les oeuvres sont créés entre -500 et 500.

{

"pageSize": "20",

"noticeType": "ARTWORK",

"selectionId": "",

"sort": "",

"page": 1,

"aggregations": {},

"contentTarget": "NOTICE",

"filters": [

{

"field": "content.recordManagementInformation.databaseLabel.value",

"boost": 1,

"op": "NONE",

"values": [

"Digital Muret"

]

},

{

"field": "content.identificationInformation.title.label.value",

"boost": 1,

"op": "ANY",

"values": [

"Amphore",

"Coupe"

]

},

{

"field": "content.creationInformation.creation.date",

"boost": 1,

"op": "ANY",

"values": [

{

"min": "-500-01-01 AD",

"max": null

}

]

},

{

"field": "content.creationInformation.creation.date",

"boost": 1,

"op": "ANY",

"values": [

{

"min": null,

"max": "500-01-01 AD"

}

]

}

]

}

Requête complète avec le filtre encodé en Base 64 :

https://agorha.inha.fr/api/notice/advSearch?filters=eyJwYWdlU2l6ZSI6IjIwIiwibm90aWNlVHlwZSI6IkFSVFdPUksiLCJzZWxlY3Rpb25JZCI6IiIsInNvcnQiOiIiLCJwYWdlIjoxLCJhZ2dyZWdhdGlvbnMiOnt9LCJjb250ZW50VGFyZ2V0IjoiTk9USUNFIiwiZmlsdGVycyI6W3siZmllbGQiOiJjb250ZW50LnJlY29yZE1hbmFnZW1lbnRJbmZvcm1hdGlvbi5kYXRhYmFzZUxhYmVsLnZhbHVlIiwiYm9vc3QiOjEsIm9wIjoiTk9ORSIsInZhbHVlcyI6WyJEaWdpdGFsIE11cmV0Il19LHsiZmllbGQiOiJjb250ZW50LmlkZW50aWZpY2F0aW9uSW5mb3JtYXRpb24udGl0bGUubGFiZWwudmFsdWUiLCJib29zdCI6MSwib3AiOiJBTlkiLCJ2YWx1ZXMiOlsiQW1waG9yZSIsIkNvdXBlIl19LHsiZmllbGQiOiJjb250ZW50LmNyZWF0aW9uSW5mb3JtYXRpb24uY3JlYXRpb24uZGF0ZSIsImJvb3N0IjoxLCJvcCI6IkFOWSIsInZhbHVlcyI6W3sibWluIjoiLTUwMC0wMS0wMSBBRCIsIm1heCI6bnVsbH1dfSx7ImZpZWxkIjoiY29udGVudC5jcmVhdGlvbkluZm9ybWF0aW9uLmNyZWF0aW9uLmRhdGUiLCJib29zdCI6MSwib3AiOiJBTlkiLCJ2YWx1ZXMiOlt7Im1pbiI6bnVsbCwibWF4IjoiNTAwLTAxLTAxIEFEIn1dfV19

URL :
https://agorha.inha.fr/api/notice/advTimeline

Cette requête permet de générer le JSON des données à injecter dans une frise chronologique (avec la bibliothèque Timeline.js), à partir des résultats d'une recherche avancée.

La requête prend 1 paramètre :

  • filters : pour lequel on indique un payload JSON encodé en base64, sur le même modèle que pour la recherche avancée

Exemple :

Je cherche les notices d'oeuvres dont le titre contient la chaîne de caractères "vierge"

{

"pageSize": "20",

"noticeType": "ARTWORK",

"selectionId": "",

"sort": "",

"page": 1,

"aggregations": {},

"contentTarget": "NOTICE",

"filters": [

{

"field": "content.identificationInformation.title.label.value",

"boost": 1,

"op": "ANY",

"values": [

"vierge"

]

}

]

}

La requête encodée en base 64 :

https://agorha.inha.fr/api/notice/advSearch?filters=eyJwYWdlU2l6ZSI6IjIwIiwibm90aWNlVHlwZSI6IkFSVFdPUksiLCJzZWxlY3Rpb25JZCI6IiIsInNvcnQiOiIiLCJwYWdlIjoxLCJhZ2dyZWdhdGlvbnMiOnt9LCJjb250ZW50VGFyZ2V0IjoiTk9USUNFIiwiZmlsdGVycyI6W3siZmllbGQiOiJjb250ZW50LmlkZW50aWZpY2F0aW9uSW5mb3JtYXRpb24udGl0bGUubGFiZWwudmFsdWUiLCJib29zdCI6MSwib3AiOiJBTlkiLCJ2YWx1ZXMiOlsidmllcmdlIl19XX0=

/!\ Pour plus de détails voir les requêtes de Recherche avancée (champ date)

URL :
https://agorha.inha.fr/api/users/authenticate?login&password

Cette requête permet de se connecter à son compte AGORHA. La requête prend deux paramètres :

  • login : l'identifiant utilisateur
  • password : le mot de passe du compte

URL :
https://agorha.inha.fr/api/users/isAuthenticated

Cette requête renvoie un booléen rendant compte de l'état de connexion de l'utilisateur AGORHA dans le navigateur:

  • "true" s'il est connecté
  • "false" s'il est déconnecté

Cette requête ne prend pas de paramètre.

URL :
https://agorha.inha.fr/api/users/current

Permet d'obtenir les informations de l'utilisateur / utilisatrice actuellement connecté à sa session AGORHA : Nom, prénom, adresse email et rôle sur AGORHA.

URL :
https://agorha.inha.fr/api/users/selections?terms={term}&page={int}&pageSize={int}&sort={asc ou desc}&sortType={NAME, CREATION_DATE...}

Cette requête permet de récupérer la liste de ses sélections si on est connecté à sa propre session AGORHA, en effectuant une recherche par terme ou caractère.

Cette requête ne se base pas sur l'identifiant de l'utilisateur ni l'identifiant de la sélection.

Elle prend 5 paramètres maximum :

  • terms : caractères ou termes recherché dans le titre ("title") du json de la sélection
  • page : numéro de la page de résultats
  • pageSize : nombre de résultats par page
  • sort : ASC ou DESC
  • sortType : critère de tri : NAME, CREATION_DATE ...

Exemple :

On recherche les sélections qui ont dans le titre la mention 'rva' (et 'RVA'), en les triant par date de création.

https://agorha.inha.fr/api/users/selections?terms=rva&page=1&pageSize=20&sort=asc&sortType=CREATION_DATE

URL :
https://agorha.inha.fr/api/users/savedSearches?terms={term}&page={int}&pageSize={int}&sort={asc ou desc}&sortType={NAME, CREATION_DATE...}

Cette requête permet de récupérer ses recherches enregistrées en effectuant une recherche par terme dans le titre attribué à ladite recherche, si on est connecté à sa propre session AGORHA.

Elle prend 5 paramètres maximum :

  • terms : caractères ou termes recherchés (dans le résumé du JSON de la recherche ?)
  • page : numéro de la page de résultats
  • pageSize : nombre de résultats par page
  • sort : ASC ou DESC
  • sortType : critère de tri : NAME, CREATION_DATE ...

Exemple :

On souhaite récupérer la valeur "qui" dans le titre des recherches enregistrées.

https://agorha.inha.fr/api/users/savedSearches?terms=qui&page=1&pageSize=20&sort=asc&sortType=CREATION_DATE