在 Netsuite REST API 中,可以通过此端点查询特定订阅的价格间隔:
/record/v1/subscription/{SUBSCRIPTION_ID}/priceInterval
这将返回每个订阅行的价格区间列表。例如,以下是有关订阅行号 16 的响应摘录:
{
"links": [
{
"rel": "self",
"href": "https://XXXXXXXXX.suitetalk.api.netsuite.com/services/rest/record/v1/subscription/123456/priceInterval/subscriptionPlanLineNumber=16,startDate=2024-06-05"
}
]
},
{
"links": [
{
"rel": "self",
"href": "https://XXXXXXXXX.suitetalk.api.netsuite.com/services/rest/record/v1/subscription/123456/priceInterval/subscriptionPlanLineNumber=16,startDate=2024-08-01"
}
]
},
{
"links": [
{
"rel": "self",
"href": "https://XXXXXXXXX.suitetalk.api.netsuite.com/services/rest/record/v1/subscription/123456/priceInterval/subscriptionPlanLineNumber=16,startDate=2024-08-11"
}
]
},
然后,通过访问相关的URL,我可以获取该时间点的订阅线状态的详细信息(例如数量、金额、状态等)。
在 SuiteScript 1.0 中,可以通过首先加载订阅来完成类似的操作:
let subscriptionId = 123456;
let subscription = nlapiLoadRecord('subscription', subscriptionId, {
"recordmode": "dynamic"
});
然后查询该行,例如:
let lineNumber = 16;
let quantity = subscription.getLineItemValue('subscriptionline', 'quantity', lineNumber);
但是 - 这是我的问题 - 这似乎总是返回订阅的第 first 价格区间的数量(startDate=2024-06-05 的那个)。如何使用SuiteScript 1.0查询订阅特定时间间隔的数量,即startDate=2024-08-11的最后一个数量?
非常感谢任何帮助或想法。
SuiteScript 1.0 API 不直接支持按日期查询价格区间,您必须通过代码逻辑来处理。
加载订阅记录:使用
nlapiLoadRecord
加载订阅记录以访问其行项目和价格区间。
检索所有价格区间:迭代行项目的所有价格区间,以找到具有所需开始日期的价格区间。
提取所需间隔的信息:比较开始日期以确定正确的间隔并使用
getLineItemValue
检索必要的详细信息,例如数量。