ข้ามไปยังเนื้อหาหลัก
เวอร์ชัน: ล่าสุด

ตรวจสอบความคืบหน้าการสร้างแบบกลุ่ม

ดึงข้อมูลสถานะปัจจุบันของงานสร้างกำหนดการเรียกเก็บเงินแบบกลุ่ม ใช้ endpoint นี้เพื่อติดตามความคืบหน้า ตรวจสอบสถานะความสำเร็จ และกำหนดว่ารายงานสถานะพร้อมสำหรับดาวน์โหลดเมื่อใด


🔑ข้อมูลยืนยันตัวตน API

พารามิเตอร์คำขอ

จำเป็น - 1 ฟิลด์พารามิเตอร์พาธ
`recurring_id`STRING(required)
Recurring export ID ที่ได้รับจาก endpoint การสร้างแบบกลุ่ม IDs เริ่มต้นด้วย recr_
Example:"recr_test_5xuy4w91xqz7d1w9u0t"

การตอบกลับ

200

ดึงสถานะงานสำเร็จ

ส่งคืนสถานะปัจจุบันของงานสร้างแบบกลุ่มพร้อมรายละเอียดความคืบหน้า

การตอบกลับประกอบด้วย:
  • object - เป็น "recurring_export" เสมอ
  • id - Recurring export ID (recr_*)
  • livemode - ว่าเป็นการดำเนินการในโหมด live หรือไม่
  • location - พาธ API ไปยังทรัพยากรนี้
  • state - สถานะงานปัจจุบัน (pending, processing, completed, failed)
  • total_rows - จำนวนแถวทั้งหมดใน CSV
  • processed_rows - จำนวนแถวที่ประมวลผลแล้ว
  • successful_rows - จำนวนกำหนดการที่สร้างสำเร็จ
  • failed_rows - จำนวนแถวที่สร้างล้มเหลว
  • progress_percentage - เปอร์เซ็นต์ความสำเร็จ (0-100)
  • download_uri - URI สำหรับดาวน์โหลดรายงานสถานะ (มีเมื่อเสร็จสมบูรณ์)
  • created_at - เวลาที่สร้างงาน
  • completed_at - เวลาที่งานเสร็จสมบูรณ์ (null หากยังไม่เสร็จ)

400

คำขอไม่ถูกต้อง

การตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความข้อผิดพลาดสำหรับรายละเอียด

สาเหตุทั่วไป:
  • รูปแบบ recurring_id ไม่ถูกต้อง
  • พารามิเตอร์ recurring_id หายไป

401

ไม่ได้รับอนุญาต

การยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือหายไป

สาเหตุทั่วไป:
  • ไม่มี Authorization header
  • Secret key ไม่ถูกต้อง
  • ใช้ public key แทน secret key
  • รูปแบบ HTTP Basic Auth ไม่ถูกต้อง

404

ไม่พบ

ไม่พบงานสร้างแบบกลุ่ม

สาเหตุทั่วไป:
  • recurring_id ไม่ถูกต้อง
  • งานเป็นของบัญชีอื่น
  • ใช้คีย์โหมด test และ live ปนกัน
  • งานหมดอายุแล้ว (เก่ากว่า 30 วัน)

5xx

ข้อผิดพลาดเซิร์ฟเวอร์

เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ เหตุการณ์เหล่านี้หายากแต่ควรจัดการอย่างเหมาะสม

วิธีจัดการ:

ตัวอย่างโค้ด

# ตรวจสอบสถานะงานสร้างแบบกลุ่ม
curl https://api.omise.co/recurring_exports/recr_test_5xuy4w91xqz7d1w9u0t \
-u skey_test_5xuy4w91xqz7d1w9u0t:

การ Polling รอความสำเร็จ

นี่คือตัวอย่างการ polling endpoint จนกว่างานจะเสร็จสมบูรณ์:

const axios = require('axios');

async function waitForCompletion(recurringId, maxAttempts = 60, intervalMs = 5000) {
for (let i = 0; i < maxAttempts; i++) {
const response = await axios.get(
`https://api.omise.co/recurring_exports/${recurringId}`,
{
auth: { username: 'skey_test_5xuy4w91xqz7d1w9u0t', password: '' }
}
);

const { state, progress_percentage, successful_rows, failed_rows, total_rows } = response.data;

console.log(`Progress: ${progress_percentage}% (${successful_rows + failed_rows}/${total_rows})`);

if (state === 'completed') {
console.log(`Completed! Success: ${successful_rows}, Failed: ${failed_rows}`);
return response.data;
}

if (state === 'failed') {
throw new Error('Bulk creation job failed');
}

await new Promise(resolve => setTimeout(resolve, intervalMs));
}

throw new Error('Timeout waiting for job completion');
}

// การใช้งาน
const result = await waitForCompletion('recr_test_5xuy4w91xqz7d1w9u0t');

รหัสข้อผิดพลาดและผลลัพธ์

สถานะงาน

สถานะคำอธิบายขั้นตอนถัดไป
pendingงานอยู่ในคิวรอและ poll อีกครั้ง
processingงานกำลังทำงานอยู่รอและ poll อีกครั้ง
completedงานเสร็จสิ้นดาวน์โหลดรายงานสถานะ
failedงานพบข้อผิดพลาดร้ายแรงตรวจสอบข้อความข้อผิดพลาด ลองอัปโหลดใหม่

รหัสข้อผิดพลาดทั่วไป

รหัสคำอธิบายการแก้ไข
authentication_failureAPI key ไม่ถูกต้องตรวจสอบว่า secret key ของคุณถูกต้อง
not_foundไม่พบงานตรวจสอบว่า recurring_id ถูกต้อง
job_expiredข้อมูลงานหมดอายุงานถูกเก็บไว้ 30 วัน

ลองใช้งาน

จำเป็น - 1 ฟิลด์
IP ของคุณ: ...กำลังโหลด...