Child pages
  • API Statistics - Requête sur les données

API Statistics est un service web de requête de données dont les paramètres ne doivent pas respecter un ordre spécifique comparé à l'API SDMX 2.1.

Le Service Web :

  • fournit les données dans le format JSON-stat 2.0 ;

  • support uniquement le protocole REST (REpresentation State Transfer) ;

  • fournit les réponses en anglais, français ou allemand.

Structure de la requête REST

La structure pour construire une requête REST est une URL : {host_url}/{service}/{version}/{response_type}/{datasetCode}?{format}&{lang}&{filters}

Partie URL

Exemple

Commentaire


Partie fixe (fixed part)


{host_url}/

https://ec.europa.eu/eurostat/api/dissemination/

https://ec.europa.eu/eurostat/api/comext/dissemination (ensembles de données Comext et Prodcom)

Partie fixe de la requête (site web)

{service}/

statistics/

Partie fixe de la requête qui indique le service

{version}/

1.0/

Partie fixe de la requête qui indique la version


Partie dynamique (dynamic part)


{response_type}/

data/

Seules les données statistiques sont actuellement retournées

{datasetCode}

nama_10_gdp

Code unique qui identifie les données recherchée (soit un set de données ou une extraction prédéfinie)

?{format}

?format=JSON

Paramètre optionel

&{lang}

&lang=FR

Paramètre optionel

&{filters}

&time=2019

Paramètres optionels

Les paramètres définis dans la requête REST

Les paramètres Filters

Les paramètres Filters (ou filtres) définis dans l’URL sont optionnels. Toutes les dimensions présentes dans le produit de données peuvent être utilisées comme filtre.

Les filtres commencent après le point d’interrogation ("?") dans l’URL. Ils sont séparés par "&" s’il y en a plusieurs.

La structure d’un paramètre filtre : <CODE_DIMENSION>=<VALEUR>

  • CODE_DIMENSION : le code de la dimension utilisée pour filtrer les données

    • le code de dimension doit exister dans le produit de données

    • l’ordre des filtres ne doit pas correspondre à l’ordre des dimensions dans le produit de données

  • VALEUR: la valeur du filtre est la position dans la dimension, par exemple

    • time=2019

    • geo=FR

  • CODE_DIMENSION et VALEUR peuvent être écrits en minuscule ou en majuscules ; la casse n’a pas d’importance dans l’URL de la requête.

Les paramètres de temps (Time)

Les paramètres "time" et "time_period" sont acceptés dans l’URL. Les deux ciblent la dimension TIME_PERIOD.

D’autres paramètres de temps peuvent être utilisés :

  • untilTimePeriod – filtre jusqu’à la valeur “TIME_PERIOD” définie

  • sinceTimePeriod – filtre depuis la valeur “TIME_PERIOD” définie

  • lastTimePeriod – valeur numérique qui filtre en partant de la fin le nombre de dimensions TIME_PERIOD

Il n’est pas autorisé d’utiliser plus d’un paramètre de temps dans la même requête.

La seule exception est d’utiliser sinceTimePeriod et untilTimePeriod ensemble. Ceci aura pour résultat de filtrer les valeurs sur l’intervalle de temps défini entre les deux valeurs.

Les paramètres de format et de langue

La seule valeur pour le paramètre « format » est "JSON".

Le paramètre de langue (« lang » ) peut avoir une de ces trois valeurs : “EN”, “FR”, ou “DE”. Si le paramètre n’est pas défini, la valeur “EN” est prise par défaut.

Messages d’erreur envoyé en cas de requêtes invalides

Code Erreur

Status HTTP

Description

Erreur client



100 Pas de résultats

400 Requête incorrecte

Les résultats de la requête est vide.

100 Pas de résultats

404 Non trouvé

La ressource demandée n’est pas disponible.

140 Erreur de syntaxe

400 Requête incorrecte

La requête est invalide.

150 Erreur de sémantique

400 Requête incorrecte

La requête est correcte au niveau syntaxique mais échoue à cause d’une validation sémantique ou un règle métier.

Erreur serveur



500 Erreur interne du serveur

500 Erreur interne du serveur

Le service web devrait renvoyer cette erreur quand aucun autre code d’erreur est capable de mieux décrire la cause de l’échec du service à fournir une réponse correcte.

Également utilise dans le cas où la requête ne respecte pas la définition du XSD.

Réponse asynchrone dans le cas de grandes extractions

Quand l’API reçoit une requête, elle détermine si la réponse peut être faite de manière synchrone ou asynchrone.

Dans le cas d’une réponse asynchrone, API renvoit la réponse suivante en JSON :

{"warning":{"status":413, "label":"ASYNCHRONOUS_RESPONSE. Your request will be treated asynchronously. Please try again later."}}

API Statistics ne notifie pas l’utilisateur quand le fichier est prêt, la requête doit être faite une nouvelle fois pour vérifier l’état.

_