サブマーチャントの検索
名前、メールアドレス、事業者詳細、メタデータなどでサブマーチャントを検索・フィルタリングします。Search APIは、プラットフォーム内のすべてのサブマーチャントに対して強力なフルテキスト検索機能を提供します。
リクエストパラメータ
推奨 - 2フ ィールド推奨パラメータ
`query`STRING(optional)
検索クエリ文字列。サブマーチャント名、メールアドレス、事業者名、説明、メタデータを検索します。複数単語(AND論理)および部分一致をサポート。
`filters`OBJECT(optional)
検索結果を絞り込むフィルター条件。一般的なフィルターには、status、type、business_category、作成日範囲があります。
ページネーション - 3フィールドページネーションパラメータ
レスポンス
200
検索成功検索が正常に完了しました。data配列に一致するサブマーチャントを含む検索結果オブジェクトを返します。
レスポンスに含まれる項目:
object- 常に "search"data- 検索条件に一致するサブマーチャントオブジェクトの配列total- 検索に一致する結果の総数total_pages- 利用可能なページ数page- 現在のページ番号per_page- 1ページあたりの結果数order- 適用された並べ替え順序(chronologicalまたはreverse_chronological)
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
主な原因:
- 無効なページ番号(1未満)
- 無効なper_page値(100を超えるか1未満)
- 不正な形式のfiltersオブジェクト
- 無効なフィルターフィールド名
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
主な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- HTTP Basic Auth形式の誤り
404
見つかりませんプラットフォームアカウントが見つからないか、サブマーチャント機能が有効になっていません。
主な原因:
- アカウントがプラットフォームアカウントではない
- サブマーチャント機能が有効になっていない
- プラットフォーム機能を有効にするにはサポートに連絡
5xx
サーバーエラーサーバー側でエラーが発生しました。まれですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービス障害を確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/sub_merchants/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "query=acme electronics" \
-d "filters[status]=active" \
-d "filters[type]=business"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::SubMerchant.search({
query: 'acme electronics',
filters: {
status: 'active',
type: 'business'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.SubMerchant.search(
query='acme electronics',
filters={
'status': 'active',
'type': 'business'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.subMerchants.search({
query: 'acme electronics',
filters: {
status: 'active',
type: 'business'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseSubMerchant::search([
'query' => 'acme electronics',
'filters' => [
'status' => 'active',
'type' => 'business'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("status", "active");
filters.put("type", "business");
SearchResult<SubMerchant> results = client.subMerchants()
.search()
.query("acme electronics")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.SubMerchants.Search(new SearchRequest
{
Query = "acme electronics",
Filters = new Dictionary<string, object>
{
{ "status", "active" },
{ "type", "business" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.SubMerchants().Search(&operations.SearchSubMerchants{
Query: "acme electronics",
Filters: map[string]interface{}{
"status": "active",
"type": "business",
},
})
検索例
名前またはメールアドレスで検索
curl https://api.omise.co/sub_merchants/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "query=john@example.com"
ステータスフィルターで検索
curl https://api.omise.co/sub_merchants/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "filters[status]=pending"
事業カテゴリで検索
curl https://api.omise.co/sub_merchants/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "filters[business_category]=electronics_retail"
日付範囲で検索
curl https://api.omise.co/sub_merchants/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "filters[created][gte]=2025-01-01" \
-d "filters[created][lte]=2025-03-31"