Community

コミュニティをご利用の際は 【ガイドライン】を確認・同意いただいた上でご利用ください。

  • 投稿

    アバターs-abe

    取引先の取得について

    基幹業務システムとの連携のために、APIを利用して取引先の同期をさせようと考えております。

    取引先全件について全項目を参照しようとして/api/1/partners(取引先一覧の取得)での取得を試みましたが、/api/1/partners{id}(取引先の取得)のレスポンスに含まれているpayment_term_attributes(支払期日設定)とinvoice_payment_term_attributes(入金期日設定)が、/api/1/partners(取引先一覧の取得)のレスポンスにはありません。

    取引先は約3,000件あり/api/1/partners{id}(取引先の取得)に3,000回弱のリクエストを送信するのはAPIのコール数上限もあり躊躇しております。

    1:取引先全件全項目を取得する他の方法はありませんか。

    2:/api/1/partners(取引先一覧の取得)のアップデート等で支払期日設定と入金期日設定が追加される予定はありますか。

    以上、ご教示いただけますと幸いです。

    よろしくお願いいたします。

    回答

    freee dev-supportfreee dev-support

    ご質問ありがとうございます。

    > 1:取引先全件全項目を取得する他の方法はありませんか。

    お手数をおかけしてしまいますが id 毎に取得頂く必要がございます。
    初回以外は全件を同期する必要性は減ってくるかと思われますので、
    差分同期などでリクエスト数に関しては制御いただけると幸いです。

    > 2:/api/1/partners(取引先一覧の取得)のアップデート等で支払期日設定と入金期日設定が追加される予定はありますか。

    現在お伝えできる予定はございません。
    よろしければ要望としてフィードバックいたします。
    フィードバックにあたり、

    * ユースケース
    * コスト削減へのインパクト

    をご教示いただけると幸いです。

    引き続きどうぞよろしくお願いいたします。

    アバターs-abe

    全項目取得はid指定時のみである旨、承知いたしました。

    ご指摘のとおりリクエスト回数を減らす方向で運用したいと思います。

    ありがとうございました。

    アバターnikQ

    私も同様の問題を抱えているため、追加で質問させていただきます。

    > 初回以外は全件を同期する必要性は減ってくるかと思われますので、
    > 差分同期などでリクエスト数に関しては制御いただけると幸いです。

    パラメータに最終更新日等の条件がないのですが、”差分同期”をどうやって実現すればいいのでしょうか?
    WebAPIに1秒あたり10回の呼び出し制限があるので、取引先が多い場合はかなり待ち時間が増えることになります。

    freee dev-supportfreee dev-support

    ご質問ありがとうございます。

    GET /api/1/partners
    を用いることで1リクエストあたり3,000件の取引先を取得できるかと思います。
    取引先数にもよってしまいますが、上記を繰り返し取得したデータとローカルデータを突合し、
    詳細情報が不足・変更されている取引先を特定することでリクエスト数の削減は可能かと思います。

    > WebAPIに1秒あたり10回の呼び出し制限があるので

    こちらの制限は /reports エンドポイントに関する制限となっております。
    実際のリクエスト回数は、プランに応じたリクエスト制限を時間で割って算出ください。

    ご検討よろしくお願いいたします。

    アバターnikQ

    > GET /api/1/partners
    > を用いることで1リクエストあたり3,000件の取引先を取得できるかと思います。
    > 取引先数にもよってしまいますが、上記を繰り返し取得したデータとローカルデータを突合し、
    > 詳細情報が不足・変更されている取引先を特定することでリクエスト数の削減は可能かと思います。

    質問の元となる内容ですが、締日等に関する情報は一覧では取得できません。
    一覧で取得した内容では、そもそも変更されたかどうかが判別できないのです。
    だからこそ、一覧取得APIで締日等の情報を追加して欲しいという要望なのですが、理解されていますでしょうか?

    > こちらの制限は /reports エンドポイントに関する制限となっております。
    > 実際のリクエスト回数は、プランに応じたリクエスト制限を時間で割って算出ください。

    どちらにしても時間がかかる事は代わり映えしないということでよろしいでしょうか?

    freee dev-supportfreee dev-support

    ご確認ありがとうございます。

    > 質問の元となる内容ですが、締日等に関する情報は一覧では取得できません。
    > 一覧で取得した内容では、そもそも変更されたかどうかが判別できないのです。
    > だからこそ、一覧取得APIで締日等の情報を追加して欲しいという要望なのですが、理解されていますでしょうか?

    失礼しました。
    確かに一覧APIで取得できない情報に関しては変更の特定では出来かねます。
    要望としてフィードバックさせていただければと存じます。

    フィードバックにあたりもう少し詳しく情報をご教示いただけますか?
    具体的にどの程度の頻度で締日等の変更が発生していますでしょうか?
    差し支えない範囲で発生理由含め詳細いただけると幸いです。

    業務上重要な情報になってしまう可能性もあるため、コミュニティでの投稿が難しい場合は問い合わせページより、
    コミュニティに投稿した旨記載の上ご教示いただけると幸いです。

    引き続きどうぞよろしくお願いいたします。

    https://freeecommunity.force.com/HelpCenter/s/

    アバターnikQ

    > フィードバックにあたりもう少し詳しく情報をご教示いただけますか?
    > 具体的にどの程度の頻度で締日等の変更が発生していますでしょうか?
    > 差し支えない範囲で発生理由含め詳細いただけると幸いです。

    他のシステムと連携するにあたり、マスタ系データや取引データが必要となります。

    WebAPIのパラメータに更新日時や、更新者など、フィルター条件となるものがあれば別ですが、それがありません。
    そのため、仕方なく全件取得して更新するなどの方法で実装することを強いられます。
    更に明細で1件ずつAPI実行して取得してください、API呼び出し制限あります、となるととても不便です。

    具体的にどの頻度と言われましても、会計freeeで取引先情報が追加された時、締日等の登録間違いを修正したとき、になりますので不定です。webhookでイベント処理できれば理想であると思いますが、現状は手動で全件取り込みで実装しています。

    データ件数が増えてくるとAPI呼び出し制限にかからないように実行し、時間もかかります。

    freee dev-supportfreee dev-support

    ご教示ありがとうございます。
    フィードバックいたします。
    引き続きどうぞよろしくお願いいたします。