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

สร้างกฎการกำหนดเส้นทาง

สร้างกฎกลุ่มการกำหนดเส้นทางใหม่สำหรับการกำหนดเส้นทางการชำระเงิน กฎการกำหนดเส้นทางช่วยให้คุณควบคุมวิธีการประมวลผลธุรกรรมข้ามผู้ให้บริการชำระเงินและ acquirer ต่างๆ ตามเงื่อนไขต่างๆ


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

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

จำเป็น - 3 ฟิลด์พารามิเตอร์ที่จำเป็น
`name`STRING(required)
ชื่อที่มนุษย์อ่านได้สำหรับกฎการกำหนดเส้นทาง ใช้สำหรับการระบุในแดชบอร์ดและ log
Example:"Route high-value cards to Provider A"
`conditions`ARRAY(required)
อาร์เรย์ของออบเจกต์เงื่อนไขที่กำหนดเมื่อไหร่กฎนี้จะใช้ แต่ละเงื่อนไขระบุฟิลด์ ตัวดำเนินการ และค่าที่จะจับคู่
Example:[{"field":"amount","operator":"gte","value":100000}]
`provider`STRING(required)
ตัวระบุผู้ให้บริการชำระเงินเป้าหมาย ธุรกรรมที่ตรงกับกฎนี้จะถูกกำหนดเส้นทางไปยังผู้ให้บริการนี้
Example:"provider_a"
โครงสร้างเงื่อนไขพารามิเตอร์เงื่อนไข
`conditions[].field`STRING(required)
ฟิลด์ธุรกรรมที่จะประเมิน ตัวเลือกรวมถึง amount, currency, card_brand, card_type, card_country, ฟิลด์ metadata
Example:"amount"
Values:amount, currency, card_brand, card_type, card_country, metadata
`conditions[].operator`STRING(required)
ตัวดำเนินการเปรียบเทียบสำหรับเงื่อนไข
Example:"gte"
Values:eq, neq, gt, gte, lt, lte, in, not_in, contains
`conditions[].value`ANY(required)
ค่าที่จะเปรียบเทียบ ประเภทขึ้นอยู่กับฟิลด์ (ตัวเลขสำหรับ amount, สตริงสำหรับ currency, อาร์เรย์สำหรับตัวดำเนินการ "in")
Example:100000
เพิ่มเติม - 5 ฟิลด์พารามิเตอร์เพิ่มเติม
Metadata - 1 ฟิลด์พารามิเตอร์ Metadata

การตอบกลับ

200

สร้างกฎสำเร็จ

สร้างกฎการกำหนดเส้นทางสำเร็จ กฎจะเปิดใช้งานทันทีเว้นแต่ enabled จะถูกตั้งค่าเป็น false

Response รวมถึง:
  • object - ส่งคืน "routing_group_rule" เสมอ
  • id - ตัวระบุกฎเฉพาะ
  • name - ชื่อกฎ
  • conditions - อาร์เรย์ของออบเจกต์เงื่อนไข
  • provider - ตัวระบุผู้ให้บริการเป้าหมาย
  • priority - ลำดับความสำคัญของกฎ
  • enabled - กฎเปิดใช้งานหรือไม่
  • created_at - timestamp การสร้าง

400

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

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

สาเหตุทั่วไป:
  • ขาดฟิลด์ที่จำเป็น (name, conditions, provider)
  • โครงสร้างเงื่อนไขไม่ถูกต้อง
  • ตัวระบุผู้ให้บริการไม่รู้จัก
  • ตัวดำเนินการไม่ถูกต้องสำหรับประเภทฟิลด์
  • ประเภทค่าเงื่อนไขไม่ตรงกัน

401

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

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

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

404

ไม่พบ

ไม่พบทรัพยากรที่อ้างอิง

สาเหตุทั่วไป:
  • ตัวระบุผู้ให้บริการไม่ถูกต้อง
  • ฟีเจอร์ routing ไม่ได้เปิดใช้งานสำหรับบัญชี

5xx

เซิร์ฟเวอร์ error

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

วิธีจัดการ:
  • ลองส่งคำขอใหม่ด้วย exponential backoff
  • ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
  • ดู การจัดการ Error สำหรับคำแนะนำโดยละเอียด

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

curl https://api.omise.co/routing_group_rules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "name=Route high-value to Provider A" \
-d "provider=provider_a" \
-d "conditions[0][field]=amount" \
-d "conditions[0][operator]=gte" \
-d "conditions[0][value]=100000" \
-d "priority=100"

รหัส Error และผลลัพธ์

รหัส Error ทั่วไป

รหัสคำอธิบายวิธีแก้ไข
bad_requestพารามิเตอร์ขาดหายหรือไม่ถูกต้องตรวจสอบว่าฟิลด์ที่จำเป็นทั้งหมดถูกระบุ
authentication_failureAPI key ไม่ถูกต้องตรวจสอบว่า secret key ถูกต้อง
invalid_conditionโครงสร้างเงื่อนไขไม่ถูกต้องตรวจสอบว่า field, operator และ value ถูกต้อง
invalid_providerไม่พบผู้ให้บริการตรวจสอบว่าตัวระบุผู้ให้บริการมีอยู่
duplicate_ruleมีกฎชื่อเดียวกันอยู่แล้วใช้ชื่อกฎที่ไม่ซ้ำ

ตัวดำเนินการเงื่อนไข

ตัวดำเนินการคำอธิบายใช้ได้กับ
eqเท่ากับทุกฟิลด์
neqไม่เท่ากับทุกฟิลด์
gtมากกว่าamount
gteมากกว่าหรือเท่ากับamount
ltน้อยกว่าamount
lteน้อยกว่าหรือเท่ากับamount
inค่าในรายการcurrency, card_brand, card_type
not_inค่าไม่อยู่ในรายการcurrency, card_brand, card_type
containsมีสตริงย่อยฟิลด์ metadata

ฟิลด์ออบเจกต์กฎการกำหนดเส้นทาง

ฟิลด์ประเภทคำอธิบาย
objectstringส่งคืน "routing_group_rule" เสมอ
idstringตัวระบุกฎเฉพาะ
namestringชื่อกฎที่มนุษย์อ่านได้
descriptionstringคำอธิบายกฎ
conditionsarrayอาร์เรย์ของออบเจกต์เงื่อนไข
providerstringตัวระบุผู้ให้บริการเป้าหมาย
priorityintegerลำดับความสำคัญในการประเมินกฎ
match_typestringตรรกะการจับคู่เงื่อนไข (all/any)
weightintegerน้ำหนักสำหรับการกระจายโหลด
enabledbooleanกฎเปิดใช้งานหรือไม่
metadataobjectคู่คีย์-ค่าแบบกำหนดเอง
created_atstringtimestamp การสร้าง (ISO 8601)
updated_atstringtimestamp การอัปเดตล่าสุด (ISO 8601)

ลองใช้งาน

จำเป็น - 3 ฟิลด์
เพิ่มเติม - 6 ฟิลด์
IP ของคุณ: ...กำลังโหลด...