Copy {
"lam.execute": [
{
"lam.workflowId": 39,
"lam.payload": { /* payload data */ }
}
]
}
Copy {
"lam.execute": [
{
"lam.workflowId": Integer,
"lam.payload": { ... }
}
]
}
Copy (payload) => {
const { input } = payload;
const { Recipient, PackagesInfo } = input;
const packagePayloads = PackagesInfo.Packages.map(pkg => ({
"lam.workflowId": 39,
"lam.payload": {
address_1: Recipient.Address1,
address_2: Recipient.Address2,
EXT_FIELD_first_name: Recipient.Firstname,
EXT_FIELD_last_name: Recipient.Name,
EXT_FIELD_email: Recipient.Email,
EXT_FIELD_phone: Recipient.Tel,
EXT_FIELD_weight: pkg.Weight.Value,
custom_user_fields: [
{ order_custom_field_id: 1852 }
],
address_city: Recipient.City,
address_state_id: Recipient.CountryStateCode,
address_country_id: Recipient.CountryCode,
address_zip: Recipient.PostalCode,
tracking_number: pkg.PreAssignTrackingNumber.TrackingNumber
}
}));
return {
"lam.execute": packagePayloads
};
}
Copy .input |
.Recipient as $rcp |
.PackagesInfo.Packages as $pkgsInfo |
{
"lam.execute": $pkgsInfo | to_entries | map({
address_1: $rcp.Address1,
address_2: $rcp.Address2,
EXT_FIELD_first_name: $rcp.Firstname,
EXT_FIELD_last_name: $rcp.Name,
EXT_FIELD_email: $rcp.Email,
EXT_FIELD_phone: $rcp.Tel,
EXT_FIELD_weight: .value.Weight.Value,
custom_user_fields: [
{
order_custom_field_id: 1852,
}
],
address_city: $rcp.City,
address_state_id: $rcp.CountryStateCode,
address_country_id: $rcp.CountryCode,
address_zip: $rcp.PostalCode,
tracking_number: .value.PreAssignTrackingNumber.TrackingNumber
}) | map({
"lam.workflowId": 39,
"lam.payload": .
})
}
In this example we map an array of packages to the execute
keyword. Laminar will then invoke workflow 39 with each individual payload in sequence.