異議を検索
ステータス、理由コード、金額、通貨、日付範囲などのさまざまな条件で異議を検索します。Search APIは、アカウント全体で特定の異議を見つけるための強力なフィルタリング機能を提供します。
リクエストパラメータ
推奨 - 2フィールド推奨パラメータ
`query`STRING(optional)
検索クエリ文字列。異議ID、請求ID、理由メッセージ、メタデータ全体を検索します。複数の単語(AND論理)と部分一致をサポートしています。
`filters`OBJECT(optional)
検索結果を絞り込むためのフィルター条件。一般的なフィルターには、status、reason_code、currency、amount、および作成日範囲が含まれます。
追加 - 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形式
5xx
サーバーエラーサーバー側でエラーが発生しました。まれですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/disputes/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "query=fraudulent" \
-d "filters[status]=open" \
-d "filters[reason_code]=fraudulent"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::Dispute.search({
query: 'fraudulent',
filters: {
status: 'open',
reason_code: 'fraudulent'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.Dispute.search(
query='fraudulent',
filters={
'status': 'open',
'reason_code': 'fraudulent'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.disputes.search({
query: 'fraudulent',
filters: {
status: 'open',
reason_code: 'fraudulent'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseDispute::search([
'query' => 'fraudulent',
'filters' => [
'status' => 'open',
'reason_code' => 'fraudulent'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("status", "open");
filters.put("reason_code", "fraudulent");
SearchResult<Dispute> results = client.disputes().search()
.query("fraudulent")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.Disputes.Search(new SearchRequest
{
Query = "fraudulent",
Filters = new Dictionary<string, object>
{
{ "status", "open" },
{ "reason_code", "fraudulent" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.SearchDisputes(&operations.SearchDisputes{
Query: "fraudulent",
Filters: map[string]interface{}{
"status": "open",
"reason_code": "fraudulent",
},
})
エラーコードと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | 無効なパラメータ | フィルターが有効でパラメータが正しいことを確認 |
authentication_failure | 無効なAPIキー | シークレットキーが正しいことを確認 |
invalid_filter | 無効なフィルターフィールド | 有効なフィルターフィールド(status、reason_code、currency、amount、created)を使用 |
検索フィルターオプション
| フィルター | タイプ | 説明 |
|---|---|---|
status | string | 異議のステータス(open、pending、won、lost) |
reason_code | string | 理由コード(fraudulent、unrecognized、duplicateなど) |
currency | string | 通貨コード(thb、jpy、sgd、myr、usdなど) |
amount | integer | 最小通貨単位での正確な金額 |
created | object | 日付範囲フィルター(例:{gte: '2025-01-01', lte: '2025-01-31'}) |
理由コード
| コード | 説明 |
|---|---|
fraudulent | 顧客が不正取引を主張 |
unrecognized | 顧客が請求を認識していない |
duplicate | 顧客が重複請求を主張 |
goods_or_services_not_provided | 商品/サービスを受け取っていない |
not_as_described | 商品が説明と大きく異なる |
credit_not_processed | 約束された返金を受け取っていない |
general | その他の理由 |
API認証情報
試してみる
推奨 - 2項目
追加 - 3項目
あなたのIP:
...読み込み中...