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 de l'API d'AGORHA
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.
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
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
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
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.
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
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
https://agorha.inha.fr/api/notice/autocomplete?terms={string}¬icePageSize={int}&lang={language}¬iceType={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¬icePageSize=5&lang=fre¬iceType=
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¬iceType=ARTWORK
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}
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
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
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
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
} ]
}
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"
}
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"
}
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
https://agorha.inha.fr/api/notice/search?terms={termes}&page={num_page}&pageSize={nbr_notices}¬iceType={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¬iceType=ARTWORK&selectionId=&filters=&withAttachment=false
https://agorha.inha.fr/api/notice/timeline?page&terms&pageSize¬iceType&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¬iceType=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¬iceType=ARTWORK&selectionId=NePyPZUBkyoicXMLnf-8
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=
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
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)
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
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.
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.
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
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