Mon édition
Module supplémentaire Agents IA - avancé

Exercice JSONata : https://try.jsonata.org/
Fonctions JSONata : Chaîne, Nombre, Objet, Tableau

Type de chaîne de force : $string(Account.Order[0].Product[0].ProductID) : « 858383 »
Type de numéro de force : $number(Account.Order[0].Product[0].Sku) : 406654608

Jour et heure

$now() > ISO 8601, par ex. 17-10-2022T09:50:03.163Z
$millis() > UNIX Epoch en millisecondes, par ex. 1666000139832

En millisecondes (UNIX x 1 000)(pour toutes les conversions et comparaisons mathématiques) :

$toMillis(date)
> Par ex. 1626335334767

Si votre date n’est pas au format ISO 8601, vous pouvez quand même utiliser toMillis en spécifiant le format de saisie, par ex. $toMillis('09-09-2020 00:00:00 +02:00', '[A0001]-[M01]-[J01] [H01]:[m01]:[s01] [Z]')

FromMillis (UNIX x 1 000) (lisible par l’homme, modifiez le schéma de sortie comme paramètre :

$fromMillis($toMillis(date), '[M01]/[J01]/[A0001] [h#1]:[m01][P]')
> Par ex. 07/15//2021 7:48

Exemple : Différence entre orderDate et now() :

($millis() - $toMillis(orderDate))/1000/60 > En minutes
($millis() - $toMillis(orderDate))/1000/60/60/24 > En jours

> Par ex. 461 jours, qui peut désormais être utilisé avec les opérateurs de blocs conditionnels : <>=

 

Agrégation de plusieurs résultats : Fiches et carrousels

(N’oubliez pas les limitations techniques quand vous testez sur un widget CRM en direct.) 

IMPORTANT : Les modèles C&C dans le créateur de dialogue recherchent des tableaux. Si vous ne définissez pas votre sortie cible dans JSONata comme [], elle peut renvoyer un objet et générer une erreur technique.

Lors de la sortie d’un texte de l’agent IA, les objets (non imbriqués) seront rendus en tant que [objet objet], les tableaux en tant que [objet Objet],[objet Objet].

Requête élémentaire pour créer un nouvel objet par entrée :

Account.Order.Product.{'Quantity': Quantity}


C&C simple :

Account.Order.Product[[0..8]].{
'SKU': $substring(SKU, 0, 50), 'Quantity':
Quantity}

… [[0..8]] > Plage de résultats, le premier élément étant l'index 0, 10 objets au total étant la limite maximale pour la plupart des CRM
… $substring(SKU, 0, 50) > Coupe les lettres de la chaîne en excès, la première lettre étant l'indice 0


Carte de repli facultative si le corps de la réponse est vide / introuvable :

Account.Order.Product ? 
[Account.Order.Product[[0..8]].{
'SKU': $substring(SKU, 0, 50), 'Quantity': Quantity}] :
[{"SKU" : "Product Not Found"}]

 

Agrégation de plusieurs résultats : E-mail

$join(Account.Order.Product.(
"SKU: " & SKU & ", " & "Price: " & Price), '\n')

… « \n » > Produit une nouvelle ligne pour séparer les résultats si votre CRM prend en charge le formatage élémentaire

Réalisé par Zendesk