質問:アカウントのSugarCRMレストAPIエンドポイントからサブパネルレコードを作成するにはどうすればよいですか?これまでに撮影したSugarCRMアカウントにREST APIを使用してサブパネルレコードを追加
ステップ:私は、「InvoiceHistory」SugarCRMのスタジオを使用して、指定されたモジュールと、「transactionHistory」と呼ばれる新しいパッケージを追加しました
- 。
- 私は、スタジオを使用してアカウントモジュールに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のサポートポータルが提供する基本的な情報を使用しています:
開発者コミュニティ内の他のブログの記事によると、それはサブパネル名を追加するのと同じくらい簡単である必要があり、下のフィールドの配列が続きますこれと同様の「作成」オブジェクト...: 1.私package_module名が正しくありませんが、私はどこにでも以内にそれを見つけることができませんよ:
var requestBody = { package_module:create[{name:value}]};
何が間違って私の最初の思考がありますアプリケーションまたはヘルプドキュメント。 2.リクエスト本文は、この記事の構造がコピーされているにもかかわらず、正しくフォーマットされていません。https://developer.sugarcrm.com/2014/02/28/sugarcrm-cookbook2/
助けてください。
のフィールド値を指定します独自の最初? – random