Avec votre chatbot, vous avez sûrement déjà voulu récupérer une date auprès de vos utilisateurs. Sa date de naissance par exemple. Vous avez donc du créer une compétence action avec une ressource de collecte pour la date. Vous avez ensuite paramétré cette ressource avec un format de réponse imposé qui peut être dans ce cas  de deux types : date ou entity>time.

Ces deux formats ont chacun leur qualités et leurs défauts :

Format date

  • Limite l'utilisateur à un seul format accepté (JJ/MM/AAAA)
  • Permet de mettre des limitations de dates minimum et maximum

Format entity>time :

  • Permet à l'utilisateur d'écrire sa date sous le format qu'il souhaite grâce à l'intelligence artificielle.
  • Propose un format de sortie peu lisible (avec des informations jusqu'à la milliseconde)

Bien souvent, la liberté de l'utilisateur est un critère très important pour un chatbot, donc on se tournera plus facilement vers la solution entity>time.

Les questions suivantes se posent donc  : Comment utiliser le format de sortie peu lisible dans mon API ? Comment proposer une écriture lisible à mes utilisateurs au moment où ils valident leurs réponses ? 

En clair, comment éviter ça :

C'est très simple ! Il suffit de créer un workflow de modification de date qui sera déclenché dès lors que votre ressource date est définie !

Rendez-vous donc dans l'onglet workflows et créez un nouveau workflow. Puis ajoutez une étape "Modifier le format d'une date".

Pour paramétrer cette étape de workflow il vous suffit de définir :

  • l'attribut qui correspond à la date dont vous souhaitez modifier le format
  • le nouveau format souhaité
  • le pays qui fait fois pour les dates (comme vous le savez les américains ou britanniques n'écrivent pas les dates comme nous).
  • l'attribut dans lequel sera sauvegardé la nouvelle date formatée.

Enfin, il vous suffit d'appeler cet attribut ("date-formated") plutôt que l'attribut "date" et vous obtiendrez visuellement votre date au bon format.

A vous de jouer !

Avez-vous trouvé votre réponse?