问题:如何通过SugarCRM rest api端点为帐户创建子面板记录?
到目前为止采取的步骤:
我正在使用NetSuite通过子面板“创建”选项将新发票推送到新模块的记录中。这是我正在使用的代码:
function createSugarTransaction(transaction, token) {
var url = 'https://crm.techsoft3d.com/rest/v10/Accounts/' + transaction.customer;
var headers = {
"Content-Type": "application/json",
"OAuth-Token": token
};
var now = (new Date()).toISOString();
var body = {transactionHistory_InvoiceHistory:
{
create: [{
name: transaction.docId,
transaction_date_c: transaction.date,
invoice_status_c: transaction.status,
due_date_c: transaction.duedate,
total_amount_c: transaction.total,
amount_due_c: transaction.remaining,
start_date_c: transaction.startdate,
end_date_c: transaction.enddate
}]
}
};
var response = nlapiRequestURL(url, JSON.stringify(body), headers, 'PUT');
return response;
}
事务对象已经过验证,create: []
数组中的json对象具有匹配的糖字段(键)和相应的事务对象值。
在对Sugar进行API调用时,我已成功通过身份验证并可以访问自定义模块和帐户 - 所以没问题。但是,当呼叫返回response
时,它显示以下错误:
{"error":"no_method","error_message":"Could not find a route with 1 elements"}
我不确定为了创建记录还需要什么。根据sugar的帮助文档和开发人员社区,这应该工作。我正在使用sugarcrm支持门户网站提供的基本信息:
根据开发者社区中的其他博客文章,它应该像添加子面板名称一样简单,然后是“create”对象下的一系列字段......类似于:
var requestBody = { package_module:create[{name:value}]};
我最初的想法是: 1.我的package_module名称不正确,但我无法在应用程序或帮助文档中的任何位置找到它。 2.请求正文格式不正确,即使它的结构是从本文https://developer.sugarcrm.com/2014/02/28/sugarcrm-cookbook2/
复制而来的任何帮助都将不胜感激。
答案 0 :(得分:0)
尝试createRelatedRecord
api端点
键入{sugarurl} / rest / v10 / help查看要查看的端点列表,其中大部分都有文档和示例
https://crm.techsoft3d.com/rest/v10/help
除了POST有效内容中的值
之外,您的APIurl
应该具有所需的链接(关系)名称
https://crm.techsoft3d.com/rest/v10/Accounts/ {transaction.customer} / link / accounts_transactionhistory(或任何您的链接名称)
根据此端点的文档,您只需在有效负载
中指定字段值 {
"first_name":"Bill",
"last_name":"Edwards"
}