# 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 champbundles
)excludedModels
: liste des modĂšles Ă exclure de l'exportdryRun
: 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).
# Extraire des répondants avec leurs attributs
Pour extraire la liste des répondants et leurs attributs sur une plage de dates et un environnement donnés.
# RequĂȘte
URL : https://developers.vizir.co/chatbots/<chatbotID>/environments/<environmentID>/respondents/with-attrs/? attributes=<attribut_1>,attribut_2>,...&start=<date_début>&end=<date_fin>
# Autenthification
Afin d'accéder à cette route API, vous devez disposer d'un "Bearer token" ayant
les droits en lecture sur ce bot et l'affecter Ă l'en-tĂȘte Authorization
.
Ex: Authorization: Bearer 1234abcd
# ParamĂštres d'URL
- chatbotID : l'ID du chatbot concerné
- environmentID : l'ID de l'environnement des répondants à récupérer
- attributes : liste des attributs des répondants à récupérer, séparés par des virgules.
Par ex:
email,device_type,current_year
- start et end : dĂ©finisse la pĂ©riode sur laquelle extraire les donnĂ©es, c'est-Ă -dire que ne seront extraits que les nouveaux rĂ©pondants sur la pĂ©riode donnĂ©e. La chaĂźne de caractĂšres utilisĂ©e doit ĂȘtre au format ISO 8601 (et attention, Ă moins que vous ne spĂ©cifiez le dĂ©calage correspondant Ă votre fuseau horaire, la date et l'heure sont ceux de l'UTC) Remarque : "start" est obligatoire, mais "end" est facultatif. Si vous omettez ce dernier, alors la date de fin sera le moment oĂč vous effectuez la requĂȘte.
Exemple de requĂȘte : https://developers.vizir.co/chatbots/60940f730910aa0011a0e824/environments/60940f730910aa0011a0e834/respondents/with-attrs/?attributes=email,device_type&start=2021-01-01T00:00:00&end=2022-01-25T23:59:59
# Réponse
La rĂ©ponse renvoyĂ©e est au format CSV ayant pour colonne : respondentID, environmentID, createdAt (date de crĂ©ation du rĂ©pondant) et tous les attributs spĂ©cifiĂ©s en paramĂštres. (Cette rĂ©ponse peut ĂȘtre enregistrĂ©e dans un fichier ".csv")
Exemple de réponse :
respondentID,realEnvID,createdAt,source,current_month,device_type
Dandelionrobin Storm,602e3f7abe4c0c6a5b50a8c3,2022-01-25T09:24:34.314Z,web,janvier,desktop
Platinumelf Rider,602e3f7abe4c0c6a5b50a8c3,2022-01-19T09:59:42.055Z,web,janvier,desktop
Malachitehugger Bat,602e3f7abe4c0c6a5b50a8c3,2022-01-19T09:56:38.849Z,web,janvier,desktop
Keenmare Glazer,602e3f7abe4c0c6a5b50a8c3,2022-01-10T10:25:15.453Z,web,janvier,desktop