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

时间:2016-06-24 01:38:20

标签: rest sugarcrm

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

到目前为止采取的步骤:

  1. 我使用SugarCRM工作室添加了一个名为“transactionHistory”的新软件包,其中包含一个名为“InvoiceHistory”的模块。
  2. 我使用studio为Accounts模块添加了One to Many关系。
  3. 我正在使用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支持门户网站提供的基本信息:

    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/

    复制而来的

    任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试createRelatedRecord api端点

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

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

除了POST有效内容中的值

之外,您的API url应该具有所需的链接(关系)名称

https://crm.techsoft3d.com/rest/v10/Accounts/ {transaction.customer} / link / accounts_transactionhistory(或任何您的链接名称)

根据此端点的文档,您只需在有效负载

中指定字段值

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