แสดงรายการกำหนดการของลูกค้า
แสดงรายการกำหนดการทั้งหมดที่เชื่อมโยงกับลูกค้าเฉพาะ Endpoint นี้ดึงการเรียกเก็บเงินซ้ำ, subscription และกำหนดการชำระเงินอัตโนมัติที่เชื่อมโยงกับลูกค้า
พารามิเตอร์คำขอ
จำเป็น - 1 ฟิลด์พารามิเตอร์ Path
`id`STRING(required)
Customer ID ที่ต้องการดึงกำหนดการ (ต้องขึ้นต้นด้วย cust_)
เพิ่มเติม - 3 ฟิลด์พารามิเตอร์การแบ่งหน้า
`limit`INTEGER(optional)
จำนวนกำหนดการที่ส่งคืนต่อหน้า
`offset`INTEGER(optional)
จำนวนกำหนดการที่ข้ามสำหรับการแบ่งหน้า ใช้ร่วมกับ limit เพื่อแบ่งหน้าผ่านชุดผลลัพธ์ขนาดใหญ่
`order`STRING(optional)
ลำดับการเรียงของผลลัพธ์
เพิ่มเติม - 2 ฟิลด์พารามิเตอร์การกรอง
การตอบกลับ
200
ดึงข้อมูลสำเร็จส่งคืนรายการ schedule objects แบบแบ่งหน้าที่เชื่อมโยงกับลูกค้า แต่ละกำหนดการมีความถี่, สถานะ และรายละเอียดการดำเนินการ
การตอบกลับประกอบด้วย:
object- ประเภท object (เป็น "list" เสมอ)data- Array ของ schedule objectslimit- จำนวนผลลัพธ์ต่อหน้าoffset- จำนวนผลลัพธ์ที่ข้ามtotal- จำนวนกำหนดการทั้งหมดสำหรับลูกค้านี้order- ลำดับการเรียงที่ใช้
id- Schedule ID (schd_*)status- active, expired, suspended, deleted, pausedperiod- day, week หรือ monthevery- ตัวคูณความถี่สำหรับ periodnext_occurrences_on- Array ของวันที่เกิดขึ้นถัดไปสูงสุด 30 รายการchargeหรือtransfer- พารามิเตอร์การดำเนินการ
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- รูปแบบวันที่ไม่ถูกต้อง (ต้องเป็น ISO 8601)
- Limit เกินสูงสุด (100)
- พารามิเตอร์ order ไม่ถูกต้อง
- ค่า offset เป็นลบ
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือไม่มี
สาเหตุทั่วไป:
- ไม่มี Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบ Customer ID
สาเหตุทั่วไป:
- Customer ID ไม่มีอยู่
- ลูกค้าถูกลบไปแล้ว
- รูปแบบ customer ID ไม่ถูกต้อง
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ ซึ่งเกิดขึ้นไม่บ่อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ลองส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบเหตุการณ์บริการที่ status.omise.co
- ดูการจัดการข้อผิดพลาดสำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/customers/cust_test_5xuy4w91xqz7d1w9u0t/schedules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-G \
-d limit=20 \
-d offset=0
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
customer = Omise::Customer.retrieve('cust_test_5xuy4w91xqz7d1w9u0t')
schedules = customer.schedules({
limit: 20,
offset: 0
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
customer = omise.Customer.retrieve('cust_test_5xuy4w91xqz7d1w9u0t')
schedules = customer.schedules(
limit=20,
offset=0
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const schedules = await omise.customers.listSchedules('cust_test_5xuy4w91xqz7d1w9u0t', {
limit: 20,
offset: 0
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$customer = OmiseCustomer::retrieve('cust_test_5xuy4w91xqz7d1w9u0t');
$schedules = $customer->schedules(array(
'limit' => 20,
'offset' => 0
));
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
ScopedList<Schedule> schedules = client.customers()
.get("cust_test_5xuy4w91xqz7d1w9u0t")
.schedules()
.limit(20)
.offset(0)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var schedules = await client.Customers.ListSchedules("cust_test_5xuy4w91xqz7d1w9u0t", new ListRequest
{
Limit = 20,
Offset = 0
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
schedules, _ := client.Customers().ListSchedules("cust_test_5xuy4w91xqz7d1w9u0t", &operations.ListSchedules{
List: operations.List{
Limit: 20,
Offset: 0,
},
})