JSONata Exerciser:https://try.jsonata.org/
JSONata 関数:文字列, 数値, オブジェクト, 配列
文字列型に強制変換: $string(Account.Order[0].Product[0].ProductID):"858383"
数値型に強制変換: $number(Account.Order[0].Product[0].SKU):406654608
日付と時刻
$now() > ISO 8601形式(例:2022-10-17T09:50:03.163Z)
$millis() > UNIXエポックからの経過時間(ミリ秒)(例:1666000139832)
Millis(UNIX × 1000)に変換(計算や比較を行う場合):
$toMillis(date)
> 例:1626335334767
日付がISO 8601形式でない場合でも、入力形式を指定することで、toMillis を使用できます。例: $toMillis('2020-09-09 00:00:00 +02:00', '[Y0001]-[M01]-[D01] [H01]:[m01]:[s01] [Z]')
Millis(UNIX × 1000)から変換(人間が読みやすい形式。出力パターンをパラメータとして渡します):
$fromMillis($toMillis(date), '[M01]/[D01]/[Y0001] [h#1]:[m01][P]')
>例:07/15/2021 7:48am
以下に例を示します。orderDate と now() の差分:
($millis() - $toMillis(orderDate))/1000/60 > 分単位に変換
($millis() - $toMillis(orderDate))/1000/60/60/24 > 日単位に変換
> 例:461日。これにより、条件分岐ブロックの数値演算子(<、>、=)で使用できるようになります。
複数の結果の集計:カードおよびカルーセル
(本番環境のCRMウィジェットでテストする際は、技術的な制限に留意してください。)
重要:対話ビルダー内のC&Cは配列を想定しています。JSONataでターゲット出力を [] として定義しない限り、代わりにオブジェクトが返され、技術エラーが発生する可能性があります。
AIエージェントのテキストメッセージとして出力する場合、ネストされていないオブジェクトは [object Object] として、配列は [object Object],[object Object] として表示されます。
エントリごとに新しいオブジェクトを作成する基本クエリ:
Account.Order.Product.{'Quantity': Quantity}
シンプルなC&C:
Account.Order.Product[[0..8]].{
'SKU': $substring(SKU, 0, 50), 'Quantity': Quantity} [[0..8]] > 結果の範囲。最初の項目のインデックスは0で、ほとんどのCRMでは最大10件までが上限です。
… $substring(SKU, 0, 50) > 文字列を先頭から50文字までに切り詰めます。先頭文字のインデックスは0です。
レスポンス本文が空または見つからない場合のフォールバックカード(任意):
Account.Order.Product ?
[Account.Order.Product[[0..8]].{
'SKU': $substring(SKU, 0, 50), 'Quantity': Quantity}] :
[{"SKU" : "Product Not Found"}]
複数の結果の集計:メールアドレス
$join(Account.Order.Product.(
"SKU: " & SKU & ", " & "Price: " & Price), '\n')… '\n' > CRMが基本的な書式設定に対応している場合、結果を区切るための改行としてレンダリングします。