Aller au contenu principal

Servives Web

Il est possible de configurer des services web pour y faire appel durant les conversations.

Dirigez-vous sur la page Contenus > Web services pour accéder à la page de configuration.

Note : seuls les utilisateurs avec les droits Administrateur ou Super User peuvent y accéder.

Cette page permet de :

  • Créer un service web REST : cliquez sur le bouton Ajouter un service web puis sélectionnez Web service REST.

  • Créer un service web SOAP : cliquez sur le bouton Ajouter un service web puis sélectionnez Web service SOAP depuis un WSDL. Indiquez ensuite l'adresse du WSDL dans le champ dédié et cliquez sur Découvrir.

La configuration/modification d'un web service est divisée en plusieurs parties :

  • Configuration ;

  • Authentification au service web ;

  • Entêtes du service web ;

  • Paramètres ;

  • Variables de résultat ;

  • Boutons d'actions.

Configuration d'un webservice

Note : Une fois le service créé, il n'est pas possible de modifier le type du service web (REST ou SOAP). Cependant, tous les autres champs sont modifiables.

Le champ Nom permet de configurer le nom du service web, qui sera utilisé pour l'appeler dans la base de connaissances.

Le champ URL permet de configurer l'URL du service web. Ce doit toujours être une constante.

Le champ Cache permet de configurer la durée du cache du service web. La valeur 0 supprime le mécanisme de cache.

Le champ Timeout permet de configurer la durée du timeout du service web. La valeur 0 laisse un timeout standard d'une requête HTTP.

La case Asynchrone vous permet de définir votre service web comme étant asynchrone. Si vous activez le mode asynchrone, le processus de votre service web devient alors le suivant :

  1. Phrase utilisateur (déclenchant un service web asynchrone) ;

  2. Réponse des phrases générales (Contenus > Phrases générales) : dirigez-vous sur le sous menu Services Web puis configurez la phrase Réponse à donner à l'utilisateur lorsqu'un appel à un service web asynchrone a été réalisé ;

  1. Mode attente active (polling) côté bot ;

  2. Process du service web ;

  3. Réponse donnée en push ;

  4. Arrêt du mode attente active (polling) du bot.

Le champ Méthode HTTP permet de configurer le type de requête : GET / POST / PUT / DELETE. Ceci est surtout utile lors des appels REST.

Le champ Type de Réponse vous permet de configurer le type de réponse : XML / text / JSON.

Authentification au service web

Ici, vous pouvez choisir le type d'authentification pour votre service Web.

Une fois sélectionné, vous pouvez remplir les champs Nom d'utilisateur pour l'authentification et Mot de passe pour l'authentification. Toutefois, ces champs peuvent rester vides. Ils ne doivent être configurés que si cela est vraiment nécessaire.

Entêtes du service web

Cette section vous permet d'ajouter des en-têtes HTTP dans l'appel à un service.

Ceci est souvent utilisé pour l'authentification.

Paramètres

Le champ Nom permet de configurer le nom du paramètre.

Le champ Valeur permet de configurer la valeur du paramètre. Si cette valeur doit être récupérée dans une conversation, il faut indiquer ${capture.Xxx} avec Xxx qui est le nom de la variable dans la conversation.

Le champ Valeur de test permet de configurer une valeur pour le paramètre uniquement utilisée lors du test du service web sur la page de configuration (voir les boutons d'actions). Cette valeur n'est pas sauvegardée lorsque vous quittez la page.

Exemple : Dans une connaissance, si la question posée par l’internaute est « Quel temps fait-il à Paris ? » , il est possible de capturer la ville en indiquant dans la connaissance « Quel temps fait-il à ${capture.city} ? ». Des exemples plus complets sont listés en bas de cette page.

Les paramètres sont encodés en fonction de la méthode HTTP : dans l'URL en GET et dans le corps de la requête en POST / PUT / DELETE.

Variables de résultats

Il est possible de configurer des variables qui pourront être affichées dans une conversation avec l’utilisateur. Cette partie dépendra du champ Type de réponse.

  • Avec une réponse de type XML : il est possible de récupérer des valeurs depuis le résultat en appliquant des fonctions XPath ou XSLT.

Important : les fonctions XPath ou XSLT ne doivent renvoyer que du texte et jamais du XML pour être affichées dans les conversations.

  • Avec une réponse du type JSON : il est possible de récupérer des valeurs depuis le résultat en exécutant du javascript.

Important : il est nécessaire de créer au moins une fonction javascript nommée « dyduParseJSON » qui renvoie une chaîne de caractères ou un tableau de chaînes de caractères, et qui a pour paramètre le JSON renvoyé par la requête (voir l’exemple REST en bas de page).

Notez que vous pouvez également retourner un message général si le résultat JSON est invalide. La fonction JSON devra alors être :


function dyduParseJSON (json, text) {

return {result: json}

}

Boutons d'actions

Plusieurs actions sont disponibles en bas de page.

Le bouton Sauvegarder la configuration vous permet d'enregistrer les paramètres créés ou modifiés.

Le bouton Tester permet de tester le service web avec les données du champ Valeur de test. Le résultat de la requête s'affichera en dessous. Veuillez sauvegarder la configuration avant de tester.