/crm/v3/objects/contacts/searchにてInvalid input JSON発生

@assi @吉田成一

  1. “sorts”:[“email”] でもリクエストは通ります(タイプミスがあっても通りますが)。デフォルトではASCENDINGなので、

"direction"

はDESCENDINGにしたい場合に利用するイメージだと思っています。

  • すでにご覧になっていると思いますが、海外CommunityでもPHPライブラリのエラーが報告されていますね。PHPは全く知らないのですが、[]のCollectionとArrayの区別がライブラリがうまくつけられていないようです。解決策も結局「curlのwrapperを使った」というのが最終的なようです。
    https://community.hubspot.com/t5/APIs-Integrations/Api-search-contact-by-email-in-php-invalid-json/td-p/496462
    https://community.hubspot.com/t5/APIs-Integrations/Problem-with-API-contacts-search-using-php-client-library/m-p/575002
    コミュニティの報告にも関わらず放置されているところを見ると、ライブラリを諦めて、httpクライアントを使用した方がいい気がします。
    ちなみに、curlとPythonでは、「空プロパティが時々入り込む」という以外は今のところバグに当たったことはないので、JavaScriptとPythonの方が力が入っているのでしょうか??と勘ぐってしまいます。

  • もしSearchの値がテストでemailにしているだけでなく本当にemailなのであれば、V1で

    Get a contact by email address

    というエンドポイントがあります。
    https://legacydocs.hubspot.com/docs/methods/contacts/get_contact_by_email
    SearchのRate Limitは4 Req/Secなので、こちらの方がお勧めです。

  • 余談ですが、VS Codeお使いであれば、Thunder ClientRapid API Clientというaddonがいいですよ!
    - PostManのようにリクエストを設定でき、
    - PostManのWorkspace=>新しいタブを開く=>TEXT->Raw->JSONを選択
    というのが若干邪魔くさかったのが省略され
    - リクエストを各言語に変換できます。
    過去のリクエスト履歴も勝手に残していってくれるので再利用しやすいです。