我有 JSON 有效负载,需要对其进行转换并调用 NetSuite。 有效负载:
[
{
"Netsuite Sales Order Id": "15922713",
"Project Number": "CSPRJ0018639",
"Project Sys Id": "54d948a11b680690fbe1535b234bcb26",
"Netsuite Sales Order Line Id": "1",
"Project Task Number": "CSPRJTASK0858566",
"Project Task Sys Id": "85d948a11b680690fbe1535b234bcb50"
},
{
"Netsuite Sales Order Id": "15922713",
"Project Number": "CSPRJ0018639",
"Project Sys Id": "54d948a11b680690fbe1535b234bcb26",
"Netsuite Sales Order Line Id": "3",
"Project Task Number": "CSPRJTASK0858567",
"Project Task Sys Id": "4ad9c4ad1b280290751bcaab234bcb8a"
}
]
我需要使用 NetSuite 销售订单 ID 并在正文级别字段上使用此有效负载更新销售订单。
我使用过但不起作用的代码:
%dw 2.0
output application/xml
ns ns0 urn:messages_2021_1.platform.webservices.netsuite.com
ns ns01 urn:relationships_2021_1.lists.webservices.netsuite.com
ns ns02 urn:core_2021_1.platform.webservices.netsuite.com
ns ns03 urn:sales_2021_1.transactions.webservices.netsuite.com
ns xsi http://www.w3.org/2001/XMLSchema-instance
---
{
ns0#update: {
(payload map((item,index) ->
ns0#record @(internalId: item."Netsuite Sales Order Id", "xmlns:ns03": ns03, xsi#"type": "ns03:SalesOrder"): {
ns03#customFieldList: {
StringCustomFieldRef__custbody_eb_mulesoft_data: {
ns02#value: { NetsuiteSalesOrderLineId: item."Netsuite Sales Order Line Id",
ProjectSysId: item."Project Sys Id",
ProjectNumber: item."Project Number",
ProjectTaskNumber: item."Project Task Number",
ProjectTaskSysId: item."Project Task Sys Id"
}
}
}
}
))
}
}
我需要将整个有效负载以 JSON 形式发送到 NetSuite 销售订单正文级别字段。 字段:custbody_eb_mulesoft_data
请帮忙。
如果你的物体看起来像这样:
{
"Payload": [
{
"Netsuite Sales Order Id": "15922713",
"Project Number": "CSPRJ0018639",
"Project Sys Id": "54d948a11b680690fbe1535b234bcb26",
"Netsuite Sales Order Line Id": "1",
"Project Task Number": "CSPRJTASK0858566",
"Project Task Sys Id": "85d948a11b680690fbe1535b234bcb50"
},
{
"Netsuite Sales Order Id": "15922713",
"Project Number": "CSPRJ0018639",
"Project Sys Id": "54d948a11b680690fbe1535b234bcb26",
"Netsuite Sales Order Line Id": "3",
"Project Task Number": "CSPRJTASK0858567",
"Project Task Sys Id": "4ad9c4ad1b280290751bcaab234bcb8a"
}
]
}
那么你的转变应该是这样的:
%dw 2.0
output application/xml
ns ns0 urn:messages_2021_1.platform.webservices.netsuite.com
ns ns01 urn:relationships_2021_1.lists.webservices.netsuite.com
ns ns02 urn:core_2021_1.platform.webservices.netsuite.com
ns ns03 urn:sales_2021_1.transactions.webservices.netsuite.com
ns xsi http://www.w3.org/2001/XMLSchema-instance
---
{
ns0#update: {
(payload.Payload map ((item,index) ->
ns0#record @(internalId: item."Netsuite Sales Order Id", "xmlns:ns03": ns03, xsi#"type": "ns03:SalesOrder"): {
ns03#customFieldList: {
StringCustomFieldRef__custbody_eb_mulesoft_data: {
ns02#value: { NetsuiteSalesOrderLineId: item."Netsuite Sales Order Line Id",
ProjectSysId: item."Project Sys Id",
ProjectNumber: item."Project Number",
ProjectTaskNumber: item."Project Task Number",
ProjectTaskSysId: item."Project Task Sys Id"
}
}
}
}
))
}
}
注意“payload.Payload”