3

SugarCRM Pro 6.5.5 を使用しています。別のアプリケーションへの統合を試みているため、その別のアプリケーションからいくつかの API 呼び出しを行う必要があります。REST API v2 を使用しています。この時点で、アカウント ID を介してアカウントに関連付けられている連絡先を取得する必要があります。と の両方を試しましget_relationships()get_entry_list()が、どちらも機能しません。

に対する私の入力は次のget_relationships()とおりです。

{"session":"eujfbfsfjgni98m0mivl6jm6r2","module_name":"Accounts","module_id":"c03d0649-0525-2f90-1206-50881e87d7dd","link_field_name":"contacts"}

これの多くのバリエーションと他のいくつかのオプションを試しましたが、私が望むものは何もありませんでした. これは上記の出力です。

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":"Contacts","query":"accounts.id = 'c03d0649-0525-2f90-1206-50881e87d7dd'"}

accounts.id同様の質問を読んだので使用しています。それは正しいです。contacts.account_id、 など、他にも多くのことを試しましたaccount_id。いずれの場合も、列が無効であることを示す MySQL エラーがログに記録されます。

SugarCRM: REST API 経由でアカウントのすべての連絡先を取得する方法

この質問は関連性があり、まったく同じ問題のようです。入力にオプションを追加しようとしましたlink_name_to_fields_arrayが、どのような値を指定しても、ログに次の MySQL エラーが記録されます。

AND jt11.deleted=0 where (Array) AND contacts.deleted=0: MySQL error 1054: Unknown column 'Array' in 'where clause'

ダフク?

ありがとう。

4

2 に答える 2

4

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、さまざまなデータを取得できます。

于 2012-10-25T16:46:12.007 に答える
1

sugarcrm/tests/service/RESTAPI4Test.phpを見てください。REST API の使用方法に関する例がたくさんあります。ライブラリ/フレームワーク/API の使用方法に関するコード例については、テスト コードを参照するのが一般的な方法です。この意味で、テストは非常に優れたドキュメントです。

それが役立つことを願っています。

于 2012-10-25T10:28:20.173 に答える