メインコンテンツへスキップ
バージョン: 最新版

検索クエリとフィルター

Search APIを使用すると、指定されたデータタイプ(スコープ)内のレコードをクエリできます。複数のフィールドにわたるテキスト検索にはクエリパラメータを使用し、特定の属性への正確なマッチングにはフィルターを使用します。

基本検索

基本検索にはscopeパラメータが必要で、ページネーションされた結果(デフォルトで1ページあたり30件)が新しいものから順に返されます。

curl https://api.omise.co/search?scope=charge \
-u $OMISE_SECRET_KEY:

クエリパラメータ

queryパラメータは、スコープ固有のテキスト属性を検索します:

# 検索可能なフィールドに「somchai」が含まれる課金を検索
curl https://api.omise.co/search?scope=charge&query=somchai \
-u $OMISE_SECRET_KEY:

クエリはスコープに応じて複数のフィールドを検索します。課金の場合、idcard_bankcard_namedescriptionfailure_messagemetadataを検索します。

フィルターパラメータ

filtersパラメータは、特定の条件に一致するオブジェクトをマッチングします:

# 正確に1000 THBの課金を検索
curl "https://api.omise.co/search?scope=charge&filters[amount]=1000&filters[currency]=THB" \
-u $OMISE_SECRET_KEY:

ブール値

ブールフィルターは自然言語の同等表現を受け入れます:

真の値偽の値
yesno
onoff
truefalse
# キャプチャ済みの課金を検索
curl "https://api.omise.co/search?scope=charge&filters[captured]=yes" \
-u $OMISE_SECRET_KEY:

範囲構文

数値フィールドと日付フィールドに範囲を指定するには..を使用します:

数値範囲:

# 1000から5000の間の課金を検索(基本通貨単位)
curl "https://api.omise.co/search?scope=charge&filters[amount]=1000..5000" \
-u $OMISE_SECRET_KEY:

日付範囲:

# 2025年1月に作成された課金を検索
curl "https://api.omise.co/search?scope=charge&filters[created]=2025/01/01..2025/01/31" \
-u $OMISE_SECRET_KEY:

相対日付範囲:

説明
today当日
yesterday前日
this_week今週
last_week先週
this_month今月
last_month先月
# 今月作成された課金を検索
curl "https://api.omise.co/search?scope=charge&filters[created]=this_month" \
-u $OMISE_SECRET_KEY:
金額の単位

金額フィールドを検索する際は、最小単位/補助単位(例:10000サタン)ではなく、通貨の基本単位(例:100 THBの場合は100)を使用してください。

追加パラメータ

オブジェクトの展開

IDフィールドを完全なオブジェクトとして返すにはexpand=trueを使用します:

curl "https://api.omise.co/search?scope=charge&expand=true" \
-u $OMISE_SECRET_KEY:

結果のエクスポート

エクスポートを作成するにはexport=truefilter_typeを使用します:

curl "https://api.omise.co/search?scope=charge&export=true&filter_type=monthly_captured" \
-u $OMISE_SECRET_KEY:

利用可能なフィルタータイプ:

  • monthly_captured - 月間のキャプチャ済み課金
  • monthly_created - 月間の作成された課金
  • monthly_date - 月間の日付別課金

検索可能なスコープ

charge

課金と支払いを検索します。

フィルター可能な属性:

属性説明
amountinteger基本通貨単位での課金金額
authorizedboolean課金が承認されているかどうか
captureboolean自動キャプチャが有効かどうか
capturedboolean課金がキャプチャされたかどうか
captured_atdatetime課金がキャプチャされた日時
credit_card_brandstringカードブランド(visa、mastercardなど)
card_last_digitsstringカードの下4桁
createddatetime課金が作成された日時
currencystring通貨コード
disputedboolean課金が異議申し立てされているかどうか
failure_codestring失敗した場合の失敗コード
fraudboolean不正としてフラグ付けされているかどうか
is_installmentboolean分割払いかどうか
refundedboolean課金が返金されたかどうか
refund_amountinteger返金総額
scheduledbooleanスケジュールされた課金かどうか
source_of_fundstring資金源
source_typestring支払いソースタイプ
statusstring課金ステータス
voidedboolean課金が無効化されたかどうか
installment_termsinteger分割回数

クエリ可能な属性: idcard_bankcard_namedescriptionfailure_messagemetadata

customer

顧客レコードを検索します。

フィルター可能な属性:

属性説明
createddatetime顧客が作成された日時

クエリ可能な属性: iddescriptionemailmetadata

dispute

異議申し立てレコードを検索します。

フィルター可能な属性:

属性説明
amountinteger異議申し立て金額
card_first_digitsstringカードの上6桁
card_last_digitsstringカードの下4桁
charge_idstring関連する課金ID
closed_atdatetime異議申し立てが終了した日時
createddatetime異議申し立てが作成された日時
currencystring通貨コード
fraudboolean不正としてフラグ付けされているかどうか
statusstring異議申し立てステータス

クエリ可能な属性: idcard_brandcard_idcard_namemetadatamessagereason_codereason_message

支払いリンクを検索します。

フィルター可能な属性:

属性説明
amountintegerリンク金額
createddatetimeリンクが作成された日時
currencystring通貨コード
multipleboolean複数回の支払いが許可されているかどうか
usedbooleanリンクが使用されたかどうか
used_atdatetimeリンクが使用された日時

クエリ可能な属性: iddescriptionlink_referencetitle

receipt

領収書レコードを検索します。

フィルター可能な属性:

属性説明
createddatetime領収書が作成された日時

クエリ可能な属性: id

recipient

振込受取人を検索します。

フィルター可能な属性:

属性説明
activeboolean受取人がアクティブかどうか
activated_atdatetime受取人がアクティブ化された日時
bank_last_digitsstring銀行口座の下桁
createddatetime受取人が作成された日時
deletedboolean受取人が削除されたかどうか
failure_codestring検証失敗コード
typestring受取人タイプ(individual/corporation)
verifiedboolean受取人が検証されたかどうか
verified_atdatetime受取人が検証された日時

クエリ可能な属性: idbank_namebank_branddescriptionemailmetadatanametax_id

refund

返金レコードを検索します。

フィルター可能な属性:

属性説明
amountinteger返金金額
card_first_digitsstringカードの上6桁
card_last_digitsstringカードの下4桁
charge_idstring関連する課金ID
createddatetime返金が作成された日時
statusstring返金ステータス
voidedboolean返金が無効化されたかどうか

クエリ可能な属性: idcard_bankcard_brandcard_idcard_namecharge_descriptioncurrencymetadata

transfer

振込レコードを検索します。

フィルター可能な属性:

属性説明
amountinteger振込金額
createddatetime振込が作成された日時
currencystring通貨コード
feeinteger振込手数料
paidboolean振込が支払われたかどうか
paid_atdatetime振込が支払われた日時
sentboolean振込が送信されたかどうか
sent_atdatetime振込が送信された日時

クエリ可能な属性: idbank_namebank_brandfailure_codefailure_messagemetadatarecipient_emailrecipient_idrecipient_nametransaction_id

transaction

取引レコードを検索します。

フィルター可能な属性:

属性説明
amountinteger取引金額
createddatetime取引が作成された日時
currencystring通貨コード
hold_untildatetime保留期限日
kindstring取引タイプ

クエリ可能な属性: idrecord_id

charge_schedule

課金スケジュール(定期支払い)を検索します。

フィルター可能な属性:

属性説明
statusstringスケジュールステータス
activebooleanスケジュールがアクティブかどうか
amountintegerスケジュールされた課金金額
createddatetimeスケジュールが作成された日時
card_last_digitsstringカードの下4桁

クエリ可能な属性: recurrence_idcurrencydescriptioncustomer_emailcard_brandcard_bankcard_name

transfer_schedule

振込スケジュールを検索します。

フィルター可能な属性:

属性説明
statusstringスケジュールステータス
activebooleanスケジュールがアクティブかどうか
createddatetimeスケジュールが作成された日時

クエリ可能な属性: recurrence_idrecipient_name


高額のキャプチャ済み課金を検索

curl "https://api.omise.co/search?scope=charge&filters[amount]=10000..&filters[captured]=true&filters[created]=this_month" \
-u $OMISE_SECRET_KEY:

メールドメインで顧客を検索

curl "https://api.omise.co/search?scope=customer&query=@company.com" \
-u $OMISE_SECRET_KEY:

保留中の異議申し立てを検索

curl "https://api.omise.co/search?scope=dispute&filters[status]=pending" \
-u $OMISE_SECRET_KEY:

失敗した振込を検索

curl "https://api.omise.co/search?scope=transfer&filters[paid]=false&query=failure" \
-u $OMISE_SECRET_KEY:

FAQ

同じリクエストでクエリとフィルターを組み合わせることはできますか?

はい、queryfiltersパラメータを一緒に使用できます。クエリはテキストフィールドを検索し、フィルターは正確な属性値にマッチします。結果は両方の条件に一致する必要があります。

クエリとフィルターの違いは何ですか?

queryパラメータは複数のフィールドにわたってテキスト検索を実行し(検索ボックスのように)、filtersは特定の属性の正確な値にマッチします。曖昧なテキストマッチングにはクエリを、正確なフィルタリングにはフィルターを使用してください。

メタデータ内を検索するにはどうすればよいですか?

メタデータの内容を検索するにはqueryパラメータを使用します。例えば、query=order123は、メタデータに「order123」が含まれるレコードを検索します。メタデータはクエリ可能ですが、フィルター可能ではないことに注意してください。

どの日付形式がサポートされていますか?

日付はYYYY/MM/DDYYYY-MM-DD、またはtodaythis_weekthis_monthなどの相対値で指定できます。範囲は..構文を使用します:2025/01/01..2025/01/31

金額検索で期待通りの結果が返ってこないのはなぜですか?

補助単位ではなく、基本通貨単位を使用することを忘れないでください。THBの場合、1000 THBの課金を検索するには1000を検索してください。100000(サタン単位)ではありません。

1ページあたり何件の結果が返されますか?

Search APIはデフォルトで1ページあたり30件の結果を返します。より大きな結果セットをナビゲートするには、ページネーションパラメータを使用してください。


関連リソース