異議を更新
回答メッセージとメタデータを提供してオープン中 の異議を更新します。メッセージを提出すると、異議のステータスがopenからpendingに変更されます。
リクエストパラメータ
必須 - 1フィールド必須パラメータ
`id`STRING(required)
更新する異議ID(パスパラメータ)。異議のステータスは"open"である必要があります。
推奨 - 1フィールド推奨パラメータ
追加 - 1フィールド追加パラメータ
レスポンス
200
更新成功異議が正常に更新されました。メッセージが提供された場合、ステータスは"open"から"pending"に変更されます。
更新後:
- メッセージが提供された場合:ステータスが"pending"に変更され、異議が審査プロセスに入る
- POST /disputes/:id/documentsを使用して証拠書類をアップロード
- pendingになると、それ以上の更新はできない
- 解決には通常60〜90日かかる
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 無効なメタデータ形式
- メタデータが15,000文字を超えている
- メッセージが長すぎる
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- 誤ったHTTP Basic Auth形式
404
見つかりません異議が見つかりません。
一般的な原因:
- 異議IDが正しくない
- 異議が別のアカウントに属している
- IDのタイプミスまたはフォーマットエラー
422
処理不可能なエンティティ異議を更新できません。
一般的な原因:
- 異議のステータスが"open"ではない(すでにpending、won、またはlost)
- 異議がクローズ済みで変更できない
- 更新期限が過ぎている
5xx
サーバーエラーサーバー側でエラーが発生しました。まれですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/disputes/dspt_test_5xuy4w91xqz7d1w9u0t \
-X PATCH \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "message=Customer received product on 2025-02-01. Tracking shows delivery confirmation." \
-d "metadata[case_id]=CASE-12345"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
dispute = Omise::Dispute.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
message: 'Customer received product on 2025-02-01...',
metadata: {
case_id: 'CASE-12345'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
dispute = omise.Dispute.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
'message': 'Customer received product on 2025-02-01...',
'metadata': {
'case_id': 'CASE-12345'
}
})
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const dispute = await omise.disputes.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
message: 'Customer received product on 2025-02-01...',
metadata: {
case_id: 'CASE-12345'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$dispute = OmiseDispute::update('dspt_test_5xuy4w91xqz7d1w9u0t', [
'message' => 'Customer received product on 2025-02-01...',
'metadata' => [
'case_id' => 'CASE-12345'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Dispute dispute = client.disputes().update("dspt_test_5xuy4w91xqz7d1w9u0t")
.message("Customer received product on 2025-02-01...")
.metadata("case_id", "CASE-12345")
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var dispute = await client.Disputes.Update("dspt_test_5xuy4w91xqz7d1w9u0t", new UpdateDisputeRequest
{
Message = "Customer received product on 2025-02-01...",
Metadata = new Dictionary<string, object>
{
{ "case_id", "CASE-12345" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
dispute, _ := client.UpdateDispute("dspt_test_5xuy4w91xqz7d1w9u0t", &operations.UpdateDispute{
Message: "Customer received product on 2025-02-01...",
Metadata: map[string]interface{}{
"case_id": "CASE-12345",
},
})
エラーコードと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | 無効なパラメータ | メッセージとメタデータの形式を確認 |
authentication_failure | 無効なAPIキー | シークレットキーが正しいことを確認 |
not_found | 異議が見つからない | 異議IDが正しいことを確認 |
dispute_not_open | 異議がオープンではない | ステータスが"open"の異議のみ更新可能 |
dispute_closed | 異議がすでにク ローズ済み | クローズ済みの異議は変更できない |
ステータスの遷移
| 更新前 | 更新後 | 条件 |
|---|---|---|
open | pending | 更新でメッセージが提供された |
open | open | メタデータのみ更新、メッセージなし |
API認証情報
試してみる
必須 - 1項目
推奨 - 1項目
追加 - 1項目
あなたのIP:
...読み込み中...