尝试使用SugarCRM API获取关系

时间:2014-12-29 18:08:39

标签: php api sugarcrm suitecrm

我正在尝试使用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,
);

2 个答案:

答案 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社区论坛上回答。如果有的话,这更像是一种解决方法。