Q&A

回答の並べ替え:
投稿新規に質問を投稿する

奉行クラウドのWebAPI呼び出し時の抽出条件について

nabe92 nabe92

2025-02-27 10:23

奉行クラウド連携時の抽出条件について質問させてください。

【内容】
任意項目の複数抽出条件でリクエストを送る場合はどのように記載するのが正しいでしょうか?
※任意項目となるため、ブランクの項目は条件に含めたくないです。
そもそも上記のようなリクエストは可能なのでしょうか。

例えば、以下の通り3つの項目がある場合、リクエストボディ(JSON)はどのように記載するのが正しいでしょうか?

日付項目=2025/02/28
抽出条件1=0001
抽出条件2=(空白)

※上記の場合は日付項目と抽出条件1のみをAND条件としてデータを取得したいです。
日付項目、抽出条件1、抽出条件2すべてをAND条件としてリクエストを送るケースもあります。

お手すきの際にご教授いただけると幸いです。
よろしくお願いいたします

nabe92 nabe92
ご回答いただきありがとうございます。
無事に解決いたしました!
大変助かりました。
続けての不躾な質問にも関わらずご丁寧にご対応いただき誠にありがとうございました。
nocs nocs
メダルベストアンサー
こんにちは
途中の条件で空白があり得る場合、退避させる際に各項目を固定のセルに退避させるのではなく、空の項目は退避させないようにしてCOUNTAを使用して可変の行に退避させればよろしいかと思います。

nabe92 nabe92
ご回答ありがとうございます!
そのようにすればいいのですね!大変勉強になります。
続けての質問で大変申し訳ないのですがもう一点よろしいでしょうか?
ご教示いただきました内容ですと、日付項目、抽出条件1、抽出条件2の内、
抽出条件1がブランクとなった場合に抽出条件2の値は取得しませんでした。
(1:2となるため当然ではあるのですが・・・)
この際、日付項目、抽出条件2を条件に含める方法として何か案はありませんでしょうか・・・
申し訳ありませんが、ご教授いただけますと幸いです。
nocs nocs
こんにちは
日付、抽出条件1 ~ 2 で行を分けて記入はその通りですが、itemKey、operator、valueも列を分けて退避いただけますでしょうか。
AA1:奉行_日付項目、AB1:eq、AC1:CELF_日付項目
AA2:奉行_抽出条件1、AB2:eq、AC2:CELF_抽出条件1
AA3:奉行_抽出条件2、AB3:eq、AC3:CELF_抽出条件2

退避先の件数をカウントし範囲指定することで退避させている項目数のみを条件としたAPIを実行できるかと思います。
nabe92 nabe92
nocs 様
こんにちは。ご回答ありがとうございます。
初歩的な確認となり申し訳ありませんが、以下のように設定するということでしょうか?
次の設定を行ってみたところ上手くいかなかったため確認させていただけますと幸いです。
①以下のような結果となる関数を組み込んだ別セルに日付項目、抽出条件1、抽出条件2を退避させる。
日付項目(AA1)→ {"itemKey":"奉行_日付項目", "operator":"eq", "value":"CELF_日付項目"}
抽出条件1(AA2)→ {"itemKey":"奉行_抽出条件1", "operator":"eq", "value":"CELF_抽出条件1"}
抽出条件2(AA3)→ {"itemKey":"奉行_抽出条件2", "operator":"eq", "value":"CELF_抽出条件2"}
※()内は退避先のセルをお考えください。

②リクエストボディ(JSON)のオブジェクトを配列(範囲指定)とし、行範囲を指定(AA1/AA3)する。

お手数をおかけしますがご教授いただけますと幸いです。
nocs nocs
こんにちは

リクエストボディで配列(範囲指定)を選択すれば可能です。
APIを実行させる前に検索条件を別に退避させ、リクエストボディの配列の範囲を退避させた条件数とするように記述すればブランクはAPIの記述に入れないよう実行できますのでご確認ください。