อัปเดต Dispute
อัปเดต dispute ที่เปิดอยู่โดยการให้ข้อความตอบกลับและเมทาดาทา การส่งข้อความจะเปลี่ยนสถานะของ dispute จาก open เป็น pending
ข้อมูลยืนยันตัวตน API
พารามิเตอร์คำขอ
Required - 1 fieldRequired Parameters
`id`STRING(required)
dispute ID ที่จะอัปเดต (พารามิเตอร์พาธ) dispute ต้องมีสถานะเป็น "open"
Recommended - 1 fieldRecommended Parameters
Additional - 1 fieldAdditional Parameters
การตอบกลับ
200
อัปเดตสำเร็จอัปเดต Dispute สำเร็จ หากมีการให้ข้อความ สถานะจะเปลี่ยนจาก "open" เป็น "pending"
หลังจากอั ปเดต:
- หากมีการให้ข้อความ: สถานะจะเปลี่ยนเป็น "pending" และ dispute จะเข้าสู่กระบวนการตรวจสอบ
- อัปโหลดเอกสารสนับสนุนโดยใช้ POST /disputes/:id/documents
- เมื่อเป็น pending แล้ว จะไม่สามารถทำการอัปเดตเพิ่มเติมได้
- การแก้ไขโดยทั่วไปใช้เวลา 60-90 วัน
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความแสดงข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- รูปแบบเมทาดาทาไม่ถูกต้อง
- เมทาดาทาเกิน 15,000 ตัวอักษร
- ข้อความยาวเกินไป
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือขาดหายไป
สาเหตุทั่วไป:
- ขาดหัวข้อ Authorization
- secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบ Dispute
สาเหตุทั่วไป:
- dispute ID ไม่ถูกต้อง
- dispute เป็นของบัญชีอื่น
- พิมพ์ ID ผิดหรือมีข้อผิดพลาดในรูปแบบ
422
ประมวลผลเอนทิตีไม่ได้ไม่สามารถอัปเดต Dispute ได้
สาเหตุทั่วไป:
- สถานะของ dispute ไม่ใช่ "open" (เป็น pending, won หรือ lost อยู่แล้ว)
- dispute ถูกปิดแล้วและไม่สามารถแก้ไขได้
- เลยกำหนดเวลาอัปเดตแล้ว
Code samples
- 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=ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025 การติดตามแสดงการยืนยันการจัดส่ง" \
-d "metadata[case_id]=CASE-12345"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
dispute = Omise::Dispute.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
message: 'ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...',
metadata: {
case_id: 'CASE-12345'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
dispute = omise.Dispute.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
'message': 'ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...',
'metadata': {
'case_id': 'CASE-12345'
}
})
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const dispute = await omise.disputes.update('dspt_test_5xuy4w91xqz7d1w9u0t', {
message: 'ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...',
metadata: {
case_id: 'CASE-12345'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$dispute = OmiseDispute::update('dspt_test_5xuy4w91xqz7d1w9u0t', [
'message' => 'ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...',
'metadata' => [
'case_id' => 'CASE-12345'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Dispute dispute = client.disputes().update("dspt_test_5xuy4w91xqz7d1w9u0t")
.message("ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...")
.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 = "ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...",
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: "ลูกค้าได้รับสินค้าเมื่อวันที่ 1 กุมภาพันธ์ 2025...",
Metadata: map[string]interface{}{
"case_id": "CASE-12345",
},
})
Error and result codes
รหัสข้อผิดพลาดทั่วไป
| Code | Description | Resolution |
|---|---|---|
bad_request | พารามิเตอร์ไม่ถูกต้อง | ตรวจสอบรูปแบบข้อความและเมทาดาทา |
authentication_failure | API key ไม่ถูกต้อง | ตรวจสอบว่า secret key ของคุณถูกต้อง |
not_found | ไม่พบ Dispute | ตรวจสอบว่า dispute ID ถูกต้อง |
dispute_not_open | Dispute ไม่ได้เปิดอยู่ | สามารถอัปเดตเฉพาะ dispute ที่มีสถานะ "open" เท่านั้น |
dispute_closed | Dispute ถูกปิดแล้ว | ไม่สามารถแก้ไข dispute ที่ปิดแล้วได้ |
การเปลี่ยนแปลงสถานะ
| Before | After | Condition |
|---|---|---|
open | pending | มีการให้ข้อความในการอัปเดต |
open | open | อัปเดตเฉพาะเมทาดาทา ไม่มีข้อความ |
Try it out
จำเป็น - 1 ฟิลด์
แนะนำ - 1 ฟิลด์
เพิ่มเติม - 1 ฟิลด์