ユニバーサル検索
入力パラメータに基づいてデータの範囲を検索します。このエンドポイントを使用して、課金、顧客、紛争、受取人、その他のリソースを横断した全文検索とフィルタリングクエリを実行します。
リクエストパラメータ
必須 - 1フィールド必須パラメータ
`scope`STRING(required)
検索するデータタイプ。どのリソースタイプを検索するか、どのフィルターが使用可能かを決定します。
推奨 - 4フィールド推奨パラメータ
`query`STRING(optional)
全文検索用の検索クエリテキスト。スコープに応じて、ID、説明、メタデータ、メール、名前を検索します。
`filters`OBJECT(optional)
結果を絞り込むための検索フィルター。利用可能なフィルターはスコープによって異なります。一般的なフィルターには、ステータス、金額、作成日範囲が含まれます。
`order`STRING(optional)
作成時間に基づく結果の並び順。
`page`INTEGER(optional)
ページネーション 用のページ番号(1から開始)。
追加 - 1フィールド追加パラメータ
レスポンス
200
検索成功data配列にページネーションされた結果を含む検索オブジェクトを返します。
レスポンス構造:
object- 文字列値 "search"location- APIエンドポイントパスdata- スコープに一致するオブジェクトの配列(デフォルトで逆時系列)page- 現在のページ番号per_page- ページあたりのレコード数total- クエリに一致するレコードの総数total_pages- ページの総数filters- 適用された検索フィルターquery- 使用された検索クエリscope- 検索されたリソースタイプorder- 適用された結果の並び順aggregate_level- サブマーチャン ト取得の階層レベルexport- エクスポート識別子(展開可能)
pageとper_pageを使用(標準的なリストエンドポイントとは異なる)- デフォルトで逆時系列順で結果を返す
- ページあたり最大100件までサポート
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 必須の
scopeパラメータの欠落 - 無効なスコープ値
- 不正なフィルターオブジェクト
- フィルター内の無効な日付形式
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- 不正なHTTP Basic Auth形式
5xx
サーバーエラーサーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/search \
-X GET \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=charge" \
-d "query=thb" \
-d "filters[created]=2019/01/01..2019/12/31"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
search = Omise::Search.execute(
'charge',
query: 'thb',
filters: { created: '2019/01/01..2019/12/31' }
)
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
search = omise.Search.execute(
'charge',
query='thb',
filters={'amount': '1000..2000', 'captured': 'true'}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const search = await omise.search.list({
scope: 'charge',
query: 'thb',
filters: {
created: '2019/01/01..2019/12/31'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$search = OmiseSearch::execute([
'scope' => 'charge',
'query' => 'thb',
'filters' => [
'created' => '2019/01/01..2019/12/31'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
SearchResult<Charge> search = client.search()
.scope(SearchScope.Charge)
.query("thb")
.filter("created", "2019/01/01..2019/12/31")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var search = await client.Search.Execute(new SearchRequest
{
Scope = "charge",
Query = "thb",
Filters = new Dictionary<string, object>
{
{ "created", "2019/01/01..2019/12/31" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
search, _ := client.Search(&operations.SearchOptions{
Scope: "charge",
Query: "thb",
Filters: map[string]interface{}{
"created": "2019/01/01..2019/12/31",
},
})
エラーと結果コード
一般的なフィルターパターン
| フィルター構文 | 説明 | 例 |
|---|---|---|
field=value | 完全一致 | status=successful |
field=val1..val2 | 範囲 | amount=1000..5000 |
field=date..date | 日付範囲 | created=2019/01/01..2019/12/31 |
field=true/false | ブール値 | captured=true |
スコープ別の利用可能なフィルター
Chargeスコープ:
status- successful、failed、pending、expiredamount- 正確な金額または範囲(1000..5000)captured- true/falsecreated- 日付範囲(2019/01/01..2019/12/31)
Customerスコープ:
created- 日付範囲
Disputeスコープ:
status- open、pending、won、lostcreated- 日付範囲
Recipientスコープ:
active- true/falseverified- true/false
API認証情報
試してみる
必須 - 1項目
推奨 - 4項目
追加 - 1項目
あなたのIP:
...読み込み中...