การตรวจสอบสิทธิ์
แอปพลิเคชันจะมอบ Client ID และ Secret Key ให้คุณ ซึ่งคุณต้องใช้เพื่อสร้างเซสชัน OAuth2 ที่ตรวจสอบสิทธิ์แล้วเพื่อสื่อสารกับ API ของ Wink และ TripPay
นี่คือขั้นตอนในการสร้างเซสชันที่ตรวจสอบสิทธิ์แล้ว
ขั้นตอนที่ 1. ดึง access token บนสเตจหรือในสภาพแวดล้อมการผลิตของเรา:
โดยส่วนใหญ่คุณจะใช้ไลบรารี OAuth2 ที่มีประสิทธิภาพสำหรับภาษาของคุณ ซึ่งจะจัดการงานหนักทั้งหมดให้คุณ
ตัวอย่างของเราจะแสดงการใช้งานพื้นฐานที่สุดจากบรรทัดคำสั่งโดยใช้ curl
curl -X POST https://staging-iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"การผลิต
หัวข้อที่มีชื่อว่า “การผลิต”curl -X POST https://iam.wink.travel/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_SECRET_KEY>"คำสั่งนี้จะส่งคืน access token พร้อมกับข้อมูลการตอบสนอง OAuth2 อื่นๆ:
{ "access_token": "abc123"}เมื่อคุณเรียกใช้จุดเชื่อมต่อใดๆ ของเรา ให้รวมสิ่งต่อไปนี้ในส่วนหัว:
Wink-Version=2.0ล่าสุด - ดูเอกสาร API ของเราเพื่อเวอร์ชันอื่นๆ ที่มีAuthorization=Bearer ${access_token}แทรก access token ของคุณ
scope คือสิทธิ์ที่ access token ของคุณมี เมื่อคุณร้องขอโทเค็น คุณจะส่งรายการ scopes ที่คั่นด้วยช่องว่างในพารามิเตอร์ scope และโทเค็นจะเข้าถึงได้เฉพาะพื้นที่ที่ scopes เหล่านั้นครอบคลุมเท่านั้น ด้วยการให้สิทธิ์แบบ client_credentials คุณตั้ง scopes ในคำขอโทเค็นของคุณ — ดูตัวอย่าง curl ข้างต้นและ การสาธิต Postman
Scopes จะถูกตั้งชื่อในรูปแบบ section.action โดยที่ action คือหนึ่งใน:
read— ดูทรัพยากร (คำขอGETที่ปลอดภัย)write— สร้างและอัปเดตทรัพยากร (POST/PUT/PATCH)remove— ลบทรัพยากร (DELETE)
Wink จัดกลุ่มสิทธิ์ตามพื้นที่การทำงาน ขอเฉพาะ scopes ที่การผสานรวมของคุณต้องการ:
| กลุ่ม Scope | Scopes | สิ่งที่เปิดใช้งาน | ความเสี่ยง |
|---|---|---|---|
| บัญชี | account.read account.write account.remove | การจัดการเอนทิตี สมาชิกทีม การตั้งค่า แอปพลิเคชัน | ต่ำ–กลาง |
| สินค้าคงคลัง | inventory.read inventory.write inventory.remove | ที่พัก ประเภทห้อง แผนราคา อัตรา ส่วนเสริม ความพร้อมใช้งาน กิจกรรม สถานที่ท่องเที่ยว | ต่ำ–กลาง |
| การจอง | booking.read booking.write booking.remove | ค้นหา ดู สร้าง ยกเลิก และคืนเงินการจอง; เช็คเอาต์; นโยบายการยกเลิก | ต่ำ–กลาง |
| การตลาด | marketing.read marketing.write marketing.remove | แคมเปญ สิทธิพิเศษ ช่องทางการขาย WinkLinks โซเชียลที่จัดการ ความภักดี | ต่ำ–กลาง |
| เนื้อหา | content.read content.write content.remove | คำอธิบายที่พัก รีวิว สื่อ แผนที่ ดัชนีสีเขียว | ต่ำ–กลาง |
| การวิเคราะห์ | analytics.read analytics.write analytics.remove | รายงานและการวิเคราะห์ — รายได้ กระดานผู้นำ | ต่ำ–กลาง |
| การผสานรวม | integrations.read integrations.write integrations.remove | ตัวจัดการช่องทาง ระบบจองภายนอก Google Hotel จุดแจ้งเตือน การซิงค์การจอง | ต่ำ–กลาง |
| การชำระเงิน | payment.read payment.write payment.remove | การประมวลผลการชำระเงิน Stripe Revolut การจ่ายเงิน การสมัครสมาชิก | กลาง–สูง |
| บัญชี | accounting.read accounting.write accounting.remove | การบัญชี สมุดบันทึกการถอนเงิน การกระทบยอด | กลาง–สูง |
| MCP | mcp.read mcp.write mcp.remove | เปิด MCP transport (/mcp) สำหรับเอเจนต์ AI | ต่ำ–กลาง |
สิ่งที่ควรจำ:
- ขอเฉพาะสิ่งที่จำเป็น ขอเฉพาะ scopes ที่การผสานรวมของคุณใช้งานจริง — โทเค็นที่ออกด้วยการเข้าถึงกว้างกว่าที่จำเป็นจะมีผลกระทบมากขึ้นหากรั่วไหล
- Scopes ที่ไม่รู้จักจะถูกปฏิเสธ การขอ scope ที่แอปของคุณไม่ได้ลงทะเบียนไว้ หรือ scope ที่ไม่มีอยู่ จะล้มเหลวเมื่อออกโทเค็น
mcp.*สำหรับไคลเอนต์เอเจนต์ AI เท่านั้น คุณต้องใช้เพื่อเปิด MCP transport; ไม่จำเป็นสำหรับการเรียก REST API ปกติ ดู Model Context Protocol