Table of Contents |
---|
Interface d’import
Règles de gestion relatives à l’import :
Pour le BO Offre Théorique :
Les jeux de données importés seront restreints à une période calendaire maximale autorisée à compter du jour de l’import (actuellement fixée à 1 ans). Les calendriers sortants de cette période seront tronqués et s’ils se réduisent à aucun jour valide, ils ne seront pas importés, de même que les objets de l’offre qui leur sont strictement rattachées (courses, missions, itinéraires).
De même, un début de période inférieur à la date T du jour sera tronqué au-delà d’une limite d’un nombre de jours (ce seuil sera fixé par Ile-de-France Mobilités). Une alerte simplifiée précisera la réduction du jeu de donnée à l’import.
Si au final, aucune donnée n’est importée, le jeu de données sera rejeté.
Les données importées sont regroupées dans un fichier ZIP, la taille de celui-ci ne devra pas excéder 80Mo.
Info |
---|
IBOO met à disposition de ses utilisateurs la possibilité d’importer ses données par une API. La description et l’utilisation de cette API (parmi d’autres) est disponible dans de nombreux langages via notre notre documentation Postman. Postman permet l’utilisation de toutes les requêtes fournies si vous voulez créez votre propre espace (Voir le bouton “Run in Postman“ en haut à droite). |
Import via l’IHM
Lors d’un import manuel par l’IHM, l’opérateur doit fournir un fichier contenant l’offre à importer sous la forme d’un fichier ZIP tel qu’il est défini dans le chapitre B 1 Organisation des imports. Dans le cas de l'import Offre Théorique, le ZIP ne pourra contenir qu’une seule offre.
API RESTful pour les SI Fournisseurs
Cette API permet en particulier d’alimenter les espaces de travail via des opérations d’imports automatisés (ces espaces de travail vont contenir les jeux de données).
...
Cet identifiant est accessible en même temps que les clés d’accès API comme ci-dessous.
...
Protocole
Les requêtes utilisent les différentes méthodes HTTP :
...
Exemple : http://mon_domaine/{mes_ressources} : la partie {mes_ressources} nécessite de renseigner une chaîne non vide.
Sécurité
L’authentification est réalisée en utilisant une “basic authentification” comme définit par la RFC2617. L’appelant doit utiliser :
...
curl --basic --user organisation-code:bae26d4c1a358c7fdaf7b5e1277e5219
Import
Un import se caractérise par :
Attribut | Description |
id | Identifiant unique appelé aussi ‘code import’ |
name | Nom de l’import |
status | Statut de l’import :
|
referential_ids | Identifiants des jeux de données transporteur |
Créer un import :
Méthode http
...
name: nom de l’import [obligatoire]
file: fichier à importer [obligatoire]
notification_target: la destination des notifications à la fin de l’import
valeurs :
workbench
tous les utilisateurs de l’espace de travail reçoivent une notificationnone
pas de notification envoyée (défaut)
options:
automatic_merge: booléen permettant de définir si la finalisation s’effectue automatiquement après un import réussi.
archive_on_fail : booléen permettant de définir si l’import a échoué d’archiver le jeu de données créé
merge_method : chaîne de caractère permettant de définir quelle finalisation utiliser :
legacy : finalisation historique
experimental : finalisation V2 contenant de nombreuses optimisations
Pour soumettre des attributs dans form-data il faut utiliser la syntaxe workbench_import[attribute name], par exemple workbench_import[name].
...
Exemple de réponse :
Code Block |
---|
{ "id": 559, "status": "running", "workbench_id": 218, "referential_id": null, "name": "Test", "created_at": "2019-10-07T08:57:22.131+02:00", "updated_at": "2019-10-07T08:57:22.131+02:00", "started_at": "2019-10-07T08:57:22.146+02:00", "options": {"automatic_merge": true}, import 1", "status": "running", "referential_ids": [892428, 8256828], } |
Obtenir la liste des imports d’un espace de travail d’une Organisation :
...
Exemple de réponse :
Code Block |
---|
[ { "id": 12384984, "name": "import 1", "status": "running", "referential_ids": [892428, 8256828], }, { "id": 3302929, "name": "import 2", "status": "running", "referential_ids": [892728, 8223828], }] |
Récupérer un import par son code :
...
HTTP 200 (OK) : la demande est acceptée et retourne le détail d’un import de l’espace de travail avec son identifiant et son état
Exemple :
Code Block |
---|
{ "id": 12384984559, "name": "import 1", "status": "running", "referential_ids": [8 { "id": 12384984, "name": "import 1", "status": "running", "referential_ids": [892428, 8256828], }92428, 8256828], } |