通过 REST 添加子面板记录到 SugarCRM 帐户 API

Add a subpanel record to a SugarCRM account through REST API

问题:如何通过 SugarCRM rest api 端点为帐户创建子面板记录?

到目前为止采取的步骤:

  1. 我使用 SugarCRM studio 添加了一个名为 "transactionHistory" 的新包和一个名为 "InvoiceHistory" 的模块。
  2. 我使用 studio 向帐户模块添加了一对多关系。

我正在使用 NetSuite 通过子面板 "create" 选项将新发票推送到新模块的记录。这是我正在使用的代码:

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 支持门户提供的基本信息:

http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_7.6/API/Web_Services/Examples/v10/module_POST/

根据开发者社区内的其他博文,应该很简单,只需添加子面板名称,然后是 "create" 对象下的字段数组...类似于:

var requestBody = { package_module:create[{name:value}]};

我最初的想法是: 1. 我的 package_module 名字不正确,但我无法在应用程序或帮助文档中的任何地方找到它。 2. 请求正文的格式不正确,即使它的结构是从这篇文章中复制的 https://developer.sugarcrm.com/2014/02/28/sugarcrm-cookbook2/

如有任何帮助,我们将不胜感激。

尝试 createRelatedRecord api 端点

键入 {sugarurl}/rest/v10/help 查看要查看的端点列表,其中大部分都有文档和示例

https://crm.techsoft3d.com/rest/v10/help

你的 API url 应该有你想要的 link (关系)的名称,除了 POST payload[=15= 中的值]

https://crm.techsoft3d.com/rest/v10/Accounts/{transaction.customer}/link/accounts_transactionhistory(或者你的 link 的名字)

根据此端点的文档,您只需在有效负载中指定字段值

{ "first_name":"Bill", "last_name":"Edwards" }