Newer
Older
web-services / biblio-tools / v2 / openalex / works / expand.ini
# OpenAPI Documentation - JSON format (dot notation)
mimeType = application/json

post.operationId = post-v2-openalex-works-expand
post.description = Récupération des métadonnées associées à un DOI dans openAlex
post.summary = Récupération à partir d'un tableau d'objets avec à minima un champ value contenant le DOI
post.tags.0 = biblio-tools
post.requestBody.content.application/json.example.0.id = 1
post.requestBody.content.application/json.example.0.value = 10.4000/edc.9014
post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream
post.requestBody.required = true
post.responses.default.content.application/json.example.0.id = 1
post.responses.default.content.application/json.example.0.value = { ... }
post.responses.default.content.application/json.schema.$ref =  #/components/schemas/JSONStream
post.responses.default.description = Les prefixes DOI en version textuel
post.parameters.0.description = Indenter le JSON résultant
post.parameters.0.in = query
post.parameters.0.name = indent
post.parameters.0.schema.type = boolean


# Necessary plugins
[use]
plugin = basics
plugin = analytics
plugin = storage

# Flow configuration
[JSONParse]

[expand]
path = value
cacheName = post-v2-openalex-works-expand

[expand/URLFetch]
url = get('value').prepend('https://api.openalex.org/works/doi:')
json = true
target = fix('value')
timeout = 30000
retries = 5
; évite l'arret du traitement, en cas d'erreur, on retourne la valeur non traitée
noerror = true

# On marque les réponses qui n'ont pas abouties
[swing]
test = has('value.doi')
reverse = true

[swing/assign]
path = value
value = fix('n/a')

[dump]
indent = env('indent', false)