编程语言
首页 > 编程语言> > php-SugarCRM REST API,如何获取与帐户相关的联系人

php-SugarCRM REST API,如何获取与帐户相关的联系人

作者:互联网

我正在使用SugarCRM Pro 6.5.5.我试图将其集成到另一个应用程序中,所以我需要从另一个应用程序进行一些API调用.我正在使用REST API v2.此时,我需要通过帐户ID获取与某个帐户相关的联系人.我已经尝试过get_relationships()和get_entry_list()了,但是我都不能使用它们.

这是我对get_relationships()的输入:

{“ session”:“ eujfbfsfjgni98m0mivl6jm6r2”,“ module_name”:“帐户”,“ module_id”:“ c03d0649-0525-2f90-1206-50881e87d7dd”,“ link_field_name”:“联系人”}

我已经尝试了许多这种变化以及其他几种选择,但是我没有做任何想要的事情.这是上面的输出:

stdClass Object
(
    [entry_list] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 
                    [module_name] => Contacts
                    [name_value_list] => stdClass Object
                        (
                            [deleted] => stdClass Object
                                (
                                    [name] => deleted
                                    [value] => 0
                                )

                            [do_not_call] => stdClass Object
                                (
                                    [name] => do_not_call
                                    [value] => 0
                                )

                        )

                )

        )

    [relationship_list] => Array
        (
        )

)

我看不到这些信息怎么会有用.

接下来,我尝试使用get_entry_list()进行查询,以仅选择具有给定帐户ID的联系人.这是我的输入:

{“ session”:“ 8mol33e7kdq6girugu30dnt074”,“ module_name”:“联系人”,“ query”:“ accounts.id =’c03d0649-0525-2f90-1206-50881e87d7dd’”}

我使用account.id是因为我读过类似的问题,这是正确的.我尝试了许多其他操作,例如:contacts.account_id,account_id等.在每种情况下,我都会在日志中收到一个MySQL错误,指出该列无效.

SugarCRM: how to get all contacts for an account via REST API

这个问题是相关的,并且似乎是完全相同的问题.我尝试将link_name_to_fields_array选项添加到输入中,但是无论我提供什么值,它都会在日志中导致以下MySQL错误:

AND jt11.deleted = 0 where(Array)AND contact.deleted = 0:MySQL错误1054:’where子句’中的未知列’Array’

大夫?

谢谢.

解决方法:

多亏了ychaouche,我才知道了.

毕竟,我能够使用get_relationships()方法.在将related_fields添加到我的输入之前,我曾尝试过,但是所做的一切都导致结果集为空.答案?将related_module_query设置为空字符串…现在结果集不为空.是的,我昨晚3个小时对Google的狂怒是因为这个原因.

因此,以下是一些可行的代码,以防其他人遇到此问题:

{
    "session": "iov9pg9kvvl60librung1h5fh6",
    "module_name": "Accounts",
    "module_id": "c03d0649-0525-2f90-1206-50881e87d7dd",
    "link_field_name": "contacts",
    "related_module_query": "",
    "related_fields": [
        "first_name",
        "last_name"
    ],
    "deleted": false
}

这给了我以下结果集:

stdClass Object
(
    [entry_list] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 
                    [module_name] => Contacts
                    [name_value_list] => stdClass Object
                        (
                            [first_name] => stdClass Object
                                (
                                    [name] => first_name
                                    [value] => John
                                )

                            [last_name] => stdClass Object
                                (
                                    [name] => last_name
                                    [value] => Smith
                                )

                        )

                )

        )

    [relationship_list] => Array
        (
        )

)

当然,您可以在related_fields中指定不同的字段并获取不同的数据.

标签:sugarcrm,php
来源: https://codeday.me/bug/20191031/1977979.html