# Utiliser l'API Vizir

Il faut toujours demander l'autorisation avant de se servir...

Toutes les requêtes présentées ici doivent comporter un en-tête d'autorisation :

Authorization: Bearer [your_bearer_token]

your_bearer_token peut être récupéré en naviguant sur le dashboard, et en observant dans les outils développeurs l'onglet Network pour intercepter une requête qui comporte ce fameux token.

# Exporter/Importer un chatbot

# Export

Route : https://developers.vizir.co/chatbots/<chatbotId>/export

(☝️ ça, c'est dans le cas où vous voulez exporter un bot depuis la prod. Si vous voulez exporter depuis la staging, la base de l'url sera https://staging.vizir.co/...)

  • Méthode à utiliser : POST

  • Exemple de corps (JSON) à utiliser :

{
  "bundles": ["content", "conversation"],
  "models": ["Workflow"],
  "excludedModels": ["Message"],
  "dryRun": true
}
  • Description des paramètres
    • bundles: les bundles permettent d'exporter un ensemble de modèles liés à un domaine : "content" (Compétences, Resources, ...), "conversation" (Répondants, Messages, ...), "automation" (Workflows, Actions, ...), "nlu" (Entités, Intentions, ...), "test" et "misc" (Applicationmodification et Applicationurl)
    • models: liste de modèles spécifiques à importer (peut être utilisé en combinaison avec le champ bundles)
    • excludedModels: liste des modèles à exclure de l'export
    • dryRun : permet de "tester" un export, c'est-à-dire d'extraire les modèles et générer l'archive mais sans uploader cette dernière vers l'espace de stockage en ligne

⚠️ Au moins un des champs bundles et models doit être défini.

  • Valeur de retour :
{
  "summary": {},
  "exportId": "abcde123/chatbots/xyz.tgz"
}

summary présente un compte rendu de l'export, en donnant, par modèle, le nombre de documents exportés et la taille du/des fichiers correspondants.

exportId est la valeur qui devra être utilisée au moment d'importer les données.

⚠️ les modèles Workflowhistory et Actionhistory sont exclus par défaut de leur bundle correspondant "automation", donc si vous souhaitez les exporter, il faut les inclure dans models

ℹ️ les modèles Chatbot, Application et Environnement sont exportés par défaut.

ℹ️ les données Elastic Search sont exportés automatiquement si les modèles Features et Resources font partie de l'export.

# Import

Route : https://staging.vizir.co/chatbots/import

(☝️ en supposant que vous voulez importer sur la staging, sinon il faudra modifier la base de l'url selon vos besoins)

  • Méthode à utiliser : POST

  • Exemple de corps (JSON) à utiliser :

{
  "exportId": "abcde123/chatbots/xyz.tgz",
  "dryRun": true
}
  • Description des paramètres
    • exportId: Identifiant de l'archive de l'export à importer, obtenu lors de l'appel à /export (cf. plus haut)
    • isUpdate: "true" ou "false". Si "true", ignore les erreurs en provenance de la BDD lors de la tentative d'insertion de documents déjà présents. Utile pour enrichir l'import d'un bot déjà effectué partiellement plus tôt.

A chaque serrure sa clé

Le Bearer token sera différent pour l'import et l'export (puisque ce n'est pas le même serveur et donc pas la même base de données qui est concerné pour ces deux étapes).