チャージスケジュールを検索
チャージスケジュールを検索して、顧客、ステータス、金額などの条件でスケジュールを検索します。Search APIはすべてのチャージスケジュールに対する強力な全文検索機能を提供します。
リクエストパラメータ
推奨 - 2項目推奨パラメータ
`query`STRING(optional)
検索クエリ文字列。スケジュールの説明、メタデータ、顧客情報などを検索します。複数の単語(AND論理)と部分一致 をサポートします。
`filters`OBJECT(optional)
検索結果を絞り込むフィルタ条件。一般的なフィルタには、ステータス、通貨、金額、作成日の範囲があります。
追加 - 3項目追加パラメータ
レスポンス
200
検索成功検索が正常に完了しました。data配列に一致するチャージスケジュールを含む検索結果オブジェクトを返します。
レスポンス内容:
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/charges/schedules/search" \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "query=monthly subscription" \
-d "filters[status]=active" \
-d "filters[currency]=thb"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::Charge.search_schedules({
query: 'monthly subscription',
filters: {
status: 'active',
currency: 'thb'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.Charge.search_schedules(
query='monthly subscription',
filters={
'status': 'active',
'currency': 'thb'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.charges.searchSchedules({
query: 'monthly subscription',
filters: {
status: 'active',
currency: 'thb'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseCharge::searchSchedules([
'query' => 'monthly subscription',
'filters' => [
'status' => 'active',
'currency' => 'thb'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("status", "active");
filters.put("currency", "thb");
SearchResult<Schedule> results = client.charges()
.searchSchedules()
.query("monthly subscription")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.Charges.SearchSchedules(new SearchRequest
{
Query = "monthly subscription",
Filters = new Dictionary<string, object>
{
{ "status", "active" },
{ "currency", "thb" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.SearchChargeSchedules(&operations.SearchChargeSchedules{
Query: "monthly subscription",
Filters: map[string]interface{}{
"status": "active",
"currency": "thb",
},
})
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | パラメータが欠落または無効 | パラメータが有効か確認 |
authentication_failure | 無効なAPIキー | シークレットキーが正しいか確認 |
検索フィルタオプション
| フィルタ | タイプ | 説明 |
|---|---|---|
status | string | スケジュールステータス(active、paused、deleted、expiring) |
currency | string | 通貨コード(thb、jpy、sgd、myr、usdなど) |
amount | integer | 最小通貨単位での正確な金額 |
customer | string | スケジュールに関連付けられた顧客ID |
created | object | 日付範囲フィルタ(例: {gte: '2025-01-01', lte: '2025-01-31'}) |
API認証情報