รายการ occurrence ของตารางเวลา
แสดงรายการ occurrence ทั้งหมดสำหรับตารางเวลาเฉพาะ Occurrence แสดงถึงการดำเนินการแต่ละครั้งของตารางเวลา รวมถึงการเรียกเก็บเงิน/การโอนเงินที่ผ่านมาและ event ที่กำหนดไว้ในอนาคต ใช้ endpoint นี้เพื่อติดตามประวัติการสมัครสมาชิก ติดตามอัตราความสำเร็จของการชำระเงิน และดูการชำระเงินในอนาคตที่กำหนดไว้
พารามิเตอร์คำขอ
จำเป็น - 1 ฟิลด์พารามิเตอร์เส้นทาง
`id`STRING(required)
รหัสตารางเวลาที่จะแสดงรายการ occurrence รหัสตารางเวลาเริ่มต้นด้วย schd_ ตามด้วย test_ สำหรับโหมดทดสอบ
ไม่บังคับ - 3 ฟิลด์พารามิเตอร์การแบ่งหน้า
`limit`INTEGER(optional)
จำนวน occurrence ที่จะส่งคืนต่อหน้า
`offset`INTEGER(optional)
จำนวน occurrence ที่จะข้ามสำหรับการแบ่งหน้า ใช้ร่วมกับ limit เพื่อแบ่งหน้าผ่านชุดผลลัพธ์ขนาดใหญ่
`order`STRING(optional)
ลำดับการเรียงของผลลัพธ์
ไม่บังคับ - 2 ฟิลด์พารามิเตอร์การกรอง
การตอบกลับ
200
ดึงข้อมูลสำเร็จส่งคืนรายการออบเ จกต์ occurrence แบบแบ่งหน้าสำหรับตารางเวลาที่ระบุ แต่ละ occurrence แสดงถึง event การดำเนินการครั้งเดียว
การตอบกลับประกอบด้วย:
data- อาร์เรย์ของออบเจกต์ occurrencelimit- จำนวนผลลัพธ์ต่อหน้าoffset- จำนวนผลลัพธ์ที่ข้ามtotal- จำนวน occurrence ทั้งหมดorder- ลำดับการเรียงที่ใช้
id- รหัส occurrence (occu_*)schedule- รหัสตารางเวลาหลักscheduled_on- วันที่ที่ occurrence ถูก/จะถูกกำหนดprocessed_at- เวลาที่ประมวลผล (null หากรอดำเนินการ)status- scheduled, successful, failed, skippedresult- รหัสการเรียกเก็บเงินหรือการโอนเงินที่สร้างขึ้น (หากสำเร็จ)message- ข้อความข้อผิดพลาด (หากล้มเหลว)
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดเพื่อดูรายละเอ ียด
สาเหตุที่พบบ่อย:
- รูปแบบวันที่ไม่ถูกต้อง (ต้องเป็น ISO 8601)
- Limit เกินค่าสูงสุด (100)
- พารามิเตอร์ order ไม่ถูกต้อง
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือไม่มี
สาเหตุที่พบบ่อย:
- ไม่มี Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบตารางเวลาหรือไม่มีอยู่
สาเหตุที่พบบ่อย:
- รหัสตารางเวลาไม่ถูกต้อง
- รหัสตารางเวลาจากบัญชีอื่น
- ใช้ key โหมดทดสอบและโหมด live ปนกัน
- ตารางเวลาถูกลบไปแล้ว
5xx
ข้อผิดพลาดของเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ ฟเวอร์ ข้อผิดพลาดเหล่านี้พบได้น้อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์ที่เกี่ยวกับบริการ
- ดู การจัดการข้อผิดพลาด สำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/schedules/schd_test_5xuy4w91xqz7d1w9u0t/occurrences \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-G \
-d limit=20 \
-d offset=0
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
schedule = Omise::Schedule.retrieve('schd_test_5xuy4w91xqz7d1w9u0t')
occurrences = schedule.occurrences({
limit: 20,
offset: 0
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
schedule = omise.Schedule.retrieve('schd_test_5xuy4w91xqz7d1w9u0t')
occurrences = schedule.occurrences(
limit=20,
offset=0
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const occurrences = await omise.schedules.listOccurrences(
'schd_test_5xuy4w91xqz7d1w9u0t',
{
limit: 20,
offset: 0
}
);
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$schedule = OmiseSchedule::retrieve('schd_test_5xuy4w91xqz7d1w9u0t');
$occurrences = $schedule->occurrences(array(
'limit' => 20,
'offset' => 0
));
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
ScopedList<Occurrence> occurrences = client.schedules()
.listOccurrences("schd_test_5xuy4w91xqz7d1w9u0t")
.limit(20)
.offset(0)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var occurrences = await client.Schedules.ListOccurrences(
"schd_test_5xuy4w91xqz7d1w9u0t",
new ListRequest
{
Limit = 20,
Offset = 0
}
);
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
occurrences, _ := client.ListScheduleOccurrences(
"schd_test_5xuy4w91xqz7d1w9u0t",
&operations.ListOccurrences{
List: operations.List{
Limit: 20,
Offset: 0,
},
},
)
รหัสข้อผิดพลาดและผลลัพธ์
รหัสข้อผิดพลาดที่พบบ่อย
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
authentication_failure | API key ไม่ถูกต้อง | ตรวจสอบว่า secret key ของคุณถูกต้อง |
not_found | ไม่พบตารางเวลา | ตรวจสอบรหัสตารางเวลาและให้แน่ใจว่าใช้โหมดที่ถูกต้อง (test/live) |
invalid_date_format | วันที่ไม่อยู่ในรูปแบบ ISO 8601 | ใช้รูปแบบ: YYYY-MM-DDTHH:MM:SSZ |
ค่าสถานะ Occurrence
| สถานะ | คำอธิบาย |
|---|---|
scheduled | Occurrence รอดำเนินการ ยังไม่ถูกดำเนินการ |
successful | การเรียกเก็บเงิน/การโอนเงินเสร็จสมบูรณ์ |
failed | การเรียกเก็บเงิน/การโอนเงินล้มเหลว (ดูข้อความเพื่อดูรายละเอียด) |
skipped | Occurrence ถูกข้าม (ตารางเวลาถูกหยุดชั่วคราวหรือถูกลบ) |
ตัวอย่างก ารตอบกลับ
{
"object": "list",
"data": [
{
"object": "occurrence",
"id": "occu_test_5xuy4w91xqz7d1w9u0t",
"location": "/occurrences/occu_test_5xuy4w91xqz7d1w9u0t",
"schedule": "schd_test_5xuy4w91xqz7d1w9u0t",
"scheduled_on": "2025-01-15",
"processed_at": "2025-01-15T00:00:05Z",
"status": "successful",
"result": "chrg_test_5xuy4w91xqz7d1w9u0t",
"message": null,
"created_at": "2025-01-01T00:00:00Z"
},
{
"object": "occurrence",
"id": "occu_test_5xuy4w91xqz7d1w9u0u",
"location": "/occurrences/occu_test_5xuy4w91xqz7d1w9u0u",
"schedule": "schd_test_5xuy4w91xqz7d1w9u0t",
"scheduled_on": "2025-02-01",
"processed_at": null,
"status": "scheduled",
"result": null,
"message": null,
"created_at": "2025-01-01T00:00:00Z"
}
],
"limit": 20,
"offset": 0,
"total": 2,
"order": "chronological"
}
ข้อมูลยืนยันตัวตน API
ทดลองใช้งาน
จำเป็น - 1 ฟิลด์
IP ของคุณ:
...กำลังโหลด...