Utiliser l’API

eCorpus fournit une API complète qui couvre les besoins de DPO Voyager en y ajoutant des interfaces de gestion des utilisateurs, contrôle des droits d’accès, organisation des scènes en collections, etc…

Documentation de l'API

Authentification

Pour s’authentifier en ligne de commande, utiliser un header Authorization avec la valeur Basic <base64(username:password)>.

L’encodage du header est géré automatiquement par la plupart des utilitaires. Exemple avec curl :

curl -XGET -u "<username>:<password>" https://ecorpus.holusion.com/[...]

Organisation des scenes

Organisation des fichiers :

├── foo/
│   ├── scene.svx.json
│   ├── scene-image-thumb.jpg
│   ├── models/
│   │   └── foo.glb
│   └── articles/
│       └── foo-FR.html
└── bar/
    ├── scene.svx.json
    ├── scene-image-thumb.jpg
    ├── models/
    │   └── bar.glb
    └── articles/
        └── bar-FR.html

Exportation des données

Ainsi pour récupérer un modèle :

curl -XGET -u "${USERNAME}:${PASSWORD}" https://${HOSTNAME}/scenes/foo/models/foo.glb

Pour récupérer une ou plusieurs scènes :

curl -XGET https://${HOSTNAME}/scenes?name=${NAME}&format=zip

Vous pouvez ajouter autant de paramètres name="..." que nécessaire, séparés par des caractères &.

Importation des données

Pour importer une scène ou une collection de scènes exportées d’une instance eCorpus :

curl -XPOST https://${HOSTNAME}/scenes --data-binary "@${ZIP_FILE}" -u "${USERNAME}:${PASSWORD}" | jq .

Seul les comptes avec des droits d’administrateur peuvent effectuer cette requête.

Cette requête retourne une liste des changements effectués qui peut être assez longue. Vous pouvez filtrer les échecs en utilisant jq .fail ou si vous n’avez pas jq installé, vous pouvez utiliser curl en mode silencieux et inspecter uniquement le status de la réponse : curl -s --fail -o /dev/null -w "%{http_code}".

API REST et spécification

Les verbes GET PUT MOVE COPY DELETE MKCOL et PROPFIND sont supportés, avec un comportement se conformant généralement à la spécification. Attention tout de même : Il s’agit d’une implémentation partielle de la spécification.

L’API REST est documentée via un schéma OpenAPI v3.1.0, téléchargeable ici : openapi.yml. L’API est présentée sous forme lisible en anglais uniquement sur ce site à cette page : https://ecorpus.eu/en/doc/hosting/apiDoc.html.