API Versioning
จัดการการเปลี่ยนแปลงเวอร์ชัน API อย่างเหมาะสมและรักษาความเข้ากันได้ย้อนหลัง เรียนรู้เกี่ยวกับกลยุทธ์ versioning ของ Omise, วิธีระบุเวอร์ชัน และแนวทางปฏิบัติที่ดีที่สุดสำหรับการอัปเกรด
ภาพรวม
Omise ใช้ versioning แบบอิงวันที่เพื่อแนะนำการปรับปรุงโดยไม่ทำลายการเชื่อมต่อที่มีอยู่ แต่ละเวอร์ชันตั้งชื่อตามวันที่ release (รูปแบบ YYYY-MM-DD) คุณสามารถควบคุมเวอร์ชัน API ที่การเชื่อมต่อของคุณใช้เพื่อรับประกันความเสถียรและวางแผนการอัปเกรดตามกำหนดเวลาของคุณ
- เวอร์ชันปัจจุบัน:
2019-05-29 - ใช้
Omise-Versionheader เพื่อระบุเวอร์ชัน - ไม่มี header = เวอร์ชันเริ่มต้นของบัญชี
- เวอร์ชันไม่เคยเปลี่ยน - การเชื่อมต่อของคุณยังคงเสถียร
- วางแผนอัปเกรดเมื่อต้องการฟีเจอร์ใหม่
เวอร์ชัน API ปัจจุบัน
เวอร์ชันล่าสุด: 2019-05-29
Released: 29 พฤษภาคม 2019
นี่คือเวอร์ชันเสถียรปัจจุบันของ Omise API การเชื่อมต่อใหม่ทั้งหมดควรใช้เวอร์ชันนี้
curl https://api.omise.co/charges \
-u skey_test_...: \
-H "Omise-Version: 2019-05-29"
Versioning ทำงานอย่างไร
รูปแบบเวอร์ชัน
เวอร์ชัน Omise API ใช้ การตั้งชื่อแบบอิงวันที่:
YYYY-MM-DD
ตัวอย่าง:
2019-05-29- release 29 พฤษภาคม 20192017-11-02- release 2 พฤศจิกายน 20172015-11-17- release 17 พฤศจิกายน 2015
การระบุเวอร์ชัน API
คุณสามารถระบุเวอร์ชัน API ได้สองวิธี:
1. Per-Request Header (แนะนำ)
ใช้ Omise-Version header:
curl https://api.omise.co/charges \
-u skey_test_...: \
-H "Omise-Version: 2019-05-29" \
-X POST \
-d "amount=100000" \
-d "currency=thb"
ข้อดี:
- ✅ การควบคุมเวอร์ชันที่ชัดเจนต่อ request
- ✅ ทดสอบเวอร์ชันใหม่ได้ง่าย
- ✅ สามารถใช้เวอร์ชันต่างกันสำหรับการดำเนินการต่างๆ
- ✅ แทนที่เวอร์ชันเริ่มต้นของบัญชี
2. เวอร์ชันเริ่มต้นของบัญชี
ตั้งเวอร์ชันเริ่มต้นใน Dashboard:
- ล็อกอินที่ Omise Dashboard
- ไปที่ Settings → API Version
- เลือกเวอร์ชัน
- บันทึก
requests ทั้งหมดที่ไม่มี Omise-Version header จะใช้เวอร์ชันนี้
การระบุเวอร์ชันในโค้ด
Ruby
require 'omise'
Omise.api_key = ENV['OMISE_SECRET_KEY']
Omise.api_version = '2019-05-29'
# requests ทั้งหมดใช้เวอร์ชันที่ระบุ
charge = Omise::Charge.create({
amount: 100000,
currency: 'thb',
card: token
})
Python
import omise
omise.api_secret = os.environ['OMISE_SECRET_KEY']
omise.api_version = '2019-05-29'
# requests ทั้งหมดใช้เวอร์ชันที่ระบุ
charge = omise.Charge.create(
amount=100000,
currency='thb',
card=token
)
Node.js
const omise = require('omise')({
secretKey: process.env.OMISE_SECRET_KEY,
omiseVersion: '2019-05-29'
});
// requests ทั้งหมดใช้เวอร์ชันที่ระบุ
const charge = await omise.charges.create({
amount: 100000,
currency: 'thb',
card: token
});
cURL
# ระบุเวอร์ชันใน header
curl https://api.omise.co/charges \
-u skey_test_...: \
-H "Omise-Version: 2019-05-29" \
-X POST \
-d "amount=100000" \
-d "currency=thb" \
-d "card=tokn_test_..."