我正在尝试使用SugarCRM的旧版REST API提取单个结算记录和一些特定字段。我正在使用SuiteCRM,他们使用相同的旧REST API调用。我有另一个类似于这个工作得很好的foreach。唯一的问题是这个只返回请求的信息,而不是我在link_name_to_fields_array中调用的关系。
提前致谢。如果需要更多信息,请告诉我。
我按照这个例子here
我的代码如下
foreach ( $uids as $uid ) {
//retrieve records -----------------------------------
$get_entries_parameters = array(
//session id
'session' => $session,
//The name of the module from which to retrieve records
'module_name' => 'fs_payments',
//An array of SugarBean IDs
'ids' => array(
$uid
),
'query' => "",
'order_by' => "",
'offset' => "0",
'link_name_to_fields_array' => array(
array(
'name' => 'fs_billing_fs_payments_1',
'value' => array(
'first_name',
'qb_studentid'
),
),
),
);
刚刚进行了API调用以获取所有链接,我确实确认了链接名称应该是什么,并且没有理由它应该返回一个空数组。
Linked Fields for fs_payments
fs_billing_fs_payments_1
[name] -> 'fs_billing_fs_payments_1'
[type] -> 'link'
[relationship] -> 'fs_billing_fs_payments_1'
[module] -> 'fs_billing'
[bean_name] -> 'fs_billing'
有没有比this更好的例子(如下所示),因为它在我看来不是很有帮助,因为CRM中的真实关系/链接有'fs_billing_fs_payments_1'之类的名称,似乎不起作用如示例所示。
$get_entries_parameters = array(
//session id
'session' => $session_id,
//The name of the module from which to retrieve records
'module_name' => 'Accounts',
//An array of record IDs
'ids' => array(
'14b0c0ca-3ea2-0ee8-f3be-50aa57c11ee7',
),
//The list of fields to be returned in the results
'select_fields' => array(
'name',
'billing_address_state',
'billing_address_country'
),
//A list of link names and the fields to be returned for each link name
'link_name_to_fields_array' => array(
array(
'name' => 'email_addresses',
'value' => array(
'email_address',
'opt_out',
'primary_address'
),
),
),
//Flag the record as a recently viewed item
'track_view' => true,
);
答案 0 :(得分:0)
您在link_name_to_fields_array
中传递了错误的链接名称。
您的链接字段名称为fs_billing_fs_payments_1
,但您正在传递fs_billing_fs_payments_1_c
。
答案 1 :(得分:0)
我能够使用setCRM中内置的set_entry和bean关系来拉取 qb_studentid和accoutingclass并使用单独的函数将它们设置为隐藏字段,以便在实际api调用中使用get条目拉取它们时将显示在数组中以获取大数组。 使用逻辑挂钩调用此文件以确保提取所有qb_student ID 付款同步后。如果您需要更多细节,请随时告诉我。我在这个问题上挣扎了一段时间,并且仍然没有任何人在这里,也没有在sugarcrm或suitecrm社区论坛上回答。如果有的话,这更像是一种解决方法。