Chargeを検索
説明、metadata、カード詳細、顧客情報などでトランザクションを検索し、chargeをフィルタリングします。Search APIはすべてのcharge全体で強力な全文検索機能を提供します。
API認証情報
リクエストパラメータ
必須 - 1項目必須パラメータ
`scope`STRING(required)
検 索スコープ。chargeを検索するには「charge」に設定する必要があります。
推奨 - 2項目推奨パラメータ
`query`STRING(optional)
検索クエリ文字列。charge説明、metadata、カード詳細(下4桁、ブランド、銀行)、顧客情報全体を検索します。複数の単語(AND論理)と部分一致をサポートします。
`filters`OBJECT(optional)
検索結果を絞り込むフィルタ条件。一般的なフィルタには、status、currency、amount、capture、paid、作成日範囲が含まれます。
追加 - 3項目追加パラメータ
レスポンス
200
検索成功検索が正常に完了しました。一致するchargeをdata配列に含む検索結果オブジェクトを返します。
レスポンスに含まれる内容:
data- 検索条件に一致するchargeオブジェクトの配列total- 検索に一致する結果の総数total_pages- 利用可能なページ数page- 現在のページ番号per_page- ページあたりの結果数order- 適用されたソート順序(chronologicalまたはreverse_chronological)
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 必須の
scopeパラメータの欠落 - 無効なページ番号(1未満)
- 無効なper_page値(100超過または1未満)
- 不正なfiltersオブジェクト
401
認証されていません認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なsecret key
- secret keyの代わりにpublic keyを使用
- 誤ったHTTP Basic Auth形式
422
無効なスコープ無効な検索スコープが提供されました。
一般的な原因:
- scopeパラメータが「charge」ではない
- 無効なscope値
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=charge" \
-d "query=order 1234" \
-d "filters[status]=successful" \
-d "filters[currency]=thb"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::Search.execute({
scope: 'charge',
query: 'order 1234',
filters: {
status: 'successful',
currency: 'thb'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.Search.execute(
scope='charge',
query='order 1234',
filters={
'status': 'successful',
'currency': 'thb'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.search.execute({
scope: 'charge',
query: 'order 1234',
filters: {
status: 'successful',
currency: 'thb'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseSearch::execute([
'scope' => 'charge',
'query' => 'order 1234',
'filters' => [
'status' => 'successful',
'currency' => 'thb'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("status", "successful");
filters.put("currency", "thb");
SearchResult<Charge> results = client.search()
.scope("charge")
.query("order 1234")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.Search.Execute(new SearchRequest
{
Scope = "charge",
Query = "order 1234",
Filters = new Dictionary<string, object>
{
{ "status", "successful" },
{ "currency", "thb" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.Search(&operations.SearchCharges{
Scope: "charge",
Query: "order 1234",
Filters: map[string]interface{}{
"status": "successful",
"currency": "thb",
},
})
エラーコードと結果コード
一般的なエラーコード
| Code | Description | Resolution |
|---|---|---|
bad_request | パラメータの欠落または無効 | scopeが提供されており、パラメータが有効か確認してください |
authentication_failure | 無効なAPIキー | secret keyが正しいか確認してください |
invalid_scope | 無効な検索スコープ | scopeが「charge」に設定されているか確認してください |
検索フィルタオプション
| Filter | Type | Description |
|---|---|---|
status | string | Chargeのステータス(pending、successful、failed、expired、reversed) |
currency | string | 通貨コード(thb、jpy、sgd、myr、usdなど) |
amount | integer | 最小通貨単位での正確な金額 |
capture | boolean | chargeがキャプチャされているか(true/false) |
paid | boolean | chargeが支払済か(true/false) |
created | object | 日付範囲フィルタ(例: {gte: '2025-01-01', lte: '2025-01-31'}) |
試してみる
必須 - 1項目
推奨 - 2項目
追加 - 3項目