This component requires no authentication.
This component takes the incoming message body and applies the configured JSONata transformation on it. It uses a fact that JSONata expression is a superset of JSON document so that by default any valid JSON document is a valid JSONata expression.
For example let’s take this sample incoming message body:
{ "Account": { "Account Name": "Firefly", "Order": [ { "OrderID": "order103", "Product": [ { "Product Name": "Bowler Hat", "ProductID": 858383, "SKU": "0406654608", "Description": { "Colour": "Purple", "Width": 300, "Height": 200, "Depth": 210, "Weight": 0.75 }, "Price": 34.45, "Quantity": 2 }, { "Product Name": "Trilby hat", "ProductID": 858236, "SKU": "0406634348", "Description": { "Colour": "Orange", "Width": 300, "Height": 200, "Depth": 210, "Weight": 0.6 }, "Price": 21.67, "Quantity": 1 } ] } ] } } You can use following JSONata expressions to transform it:
{ "account": Account."Account Name", "orderCount" : $count(Account.Order) } result of that transofrmation will be the following JSON document:
{ "account": "Firefly", "orderCount": 1 } I hope you’ve got the idea. Now you can also do something more complicated, like this array-to-array transformation:
{ "account": Account."Account Name", "products": Account.Order.Product.({ "name": $."Product Name", "revenue": (Price * Quantity) }), "orderIDs": Account.Order[].(OrderID) } resulting in:
{ "account": "Firefly", "products": [ { "name": "Bowler Hat", "revenue": 68.9 }, { "name": "Trilby hat", "revenue": 21.67 } ], "orderIDs": [ "order103" ] } The technical notes page gives some technical details about Jsonata component like changelog.
This component has no trigger functions. This means it will not be accessible to select as a first component during the integration flow design.
Click here to learn more about the elastic.io iPaaS