2016-06-24 18 views
0

質問:アカウントのSugarCRMレストAPIエンドポイントからサブパネルレコードを作成するにはどうすればよいですか?これまでに撮影したSugarCRMアカウントにREST APIを使用してサブパネルレコードを追加

ステップ:私は、「InvoiceHistory」SugarCRMのスタジオを使用して、指定されたモジュールと、「transactionHistory」と呼ばれる新しいパッケージを追加しました

  1. 私は、スタジオを使用してアカウントモジュールに1対多の関係を追加しました。

私は、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オブジェクトは、対応するトランザクションオブジェクトの値を持つ砂糖フィールド(キー)に一致しています。

APIを砂糖に呼び出すと、正常に認証され、カスタムモジュールとアカウントにアクセスできるようになります。問題はありません。呼び出しがresponseに返されたときしかし、次のエラーを示しています:

{"error":"no_method","error_message":"Could not find a route with 1 elements"}

が、私はレコードが作成されるために必要とされている他に何がわからないんです。砂糖のヘルプドキュメントと開発者コミュニティによると、これはうまくいくはずです。私は、SugarCRMのサポートポータルが提供する基本的な情報を使用しています:

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

開発者コミュニティ内の他のブログの記事によると、それはサブパネル名を追加するのと同じくらい簡単である必要があり、下のフィールドの配列が続きますこれと同様の「作成」オブジェクト...: 1.私package_module名が正しくありませんが、私はどこにでも以内にそれを見つけることができませんよ:

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

何が間違って私の最初の思考がありますアプリケーションまたはヘルプドキュメント。 2.リクエスト本文は、この記事の構造がコピーされているにもかかわらず、正しくフォーマットされていません。https://developer.sugarcrm.com/2014/02/28/sugarcrm-cookbook2/

助けてください。

+0

のフィールド値を指定します独自の最初? – random

答えて

0

ドキュメントとサンプル

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

あなたが持っているほとんどがcreateRelatedRecord APIエンドポイント

タイプ{sugarurl} /残りを見るためにエンドポイントのリストを参照するには/ V10 /ヘルプを、してみてくださいAPI urlは、POSTペイロードの値に加えて、必要なリンク(リレーションシップ)の名前を持つ必要があります。

https://crm.techsoft3d.com/rest/v10/Accounts/ {トランザクション。顧客} /リンク/ accounts_transactionhistory(またはあなたのリンクの名前が何であれ)このエンドポイントのマニュアルに従って

、あなただけのペイロードので、サブパネルのレコードがすでに作成されている

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

関連する問題