ข้ามไปยังเนื้อหา
เดโมสด

การยืนยันตัวตน

ยืนยันตัวตนได้สองวิธี ทั้งคู่ผูกกับ ID คีย์ของคุณ: คำขอที่ลงนาม (แนะนำ) หรือโทเค็น Bearer แบบ OAuth 2 client-credentials

  1. คำขอที่ลงนาม (HMAC-SHA256)
  2. ข้อมูลรับรองไคลเอนต์ OAuth 2
  3. ID คีย์ คีย์ลับ และการหมุนเวียน
  4. รายการ IP ที่อนุญาต

คำขอที่ลงนาม (HMAC-SHA256)

ส่ง X-API-Key, X-Timestamp, X-Nonce และ X-Signature ในทุกการเรียก ลายเซ็นครอบคลุมเมธอด เป้าหมายคำขอที่แน่นอน (พาธและคิวรี) timestamp, nonce และแฮชของเนื้อหา คำขอที่ถูกส่งซ้ำหรือถูกแก้ไขจึงไม่ผ่านการตรวจสอบ ยอมรับความคลาดเคลื่อนของนาฬิกาได้ไม่เกินห้านาที การใช้ nonce ซ้ำภายในสิบนาทีจะถูกปฏิเสธด้วย 401 api_nonce_reused

คำนวณลายเซ็นจากไบต์ดิบที่คุณส่งจริง ซีเรียลไลซ์ JSON ครั้งเดียว แฮชไบต์ชุดนั้น และส่งไบต์ชุดเดียวกันเป็นเนื้อหา — การซีเรียลไลซ์ใหม่หลังลงนามคือสาเหตุที่พบบ่อยที่สุดของ api_signature_invalid

Node.js
const payload = JSON.stringify(body);
const ts = Math.floor(Date.now() / 1000);
const nonce = randomBytes(16).toString("hex");
const bodyHash = createHash("sha256").update(payload).digest("hex");
const canonical = ["POST", "/v1/flights/search", ts, nonce, bodyHash].join("\n");
const signature = createHmac("sha256", SECRET).update(canonical).digest("hex");

ข้อมูลรับรองไคลเอนต์ OAuth 2

หากการลงนามทุกคำขอไม่เหมาะกับระบบของคุณ ให้แลก ID คีย์และคีย์ลับเป็นโทเค็น Bearer อายุสั้นที่ POST /v1/oauth/token (grant_type=client_credentials แบบ form-encoded) โทเค็นมีอายุ 30 นาทีและมีขอบเขตสิทธิ์ที่คุณได้รับ คุณสามารถขอเพียงบางส่วนได้ด้วยพารามิเตอร์ scope

ส่งโทเค็นเป็น Authorization: Bearer พร้อม X-API-Key ในทุกการเรียก ID คีย์จะถูกตรวจสอบซ้ำทุกคำขอ การเพิกถอนคีย์จึงทำให้โทเค็นของคีย์นั้นใช้ไม่ได้ทันที

cURL
curl -X POST "https://api.dubaitrip.com/v1/oauth/token" \
  -d grant_type=client_credentials -d client_id=$KEY_ID -d client_secret=$SECRET

ID คีย์ คีย์ลับ และการหมุนเวียน

คีย์แซนด์บ็อกซ์ขึ้นต้นด้วย dt_sbx_ คีย์สำหรับใช้งานจริงขึ้นต้นด้วย dt_live_ คีย์หนึ่งตัวเป็นของสภาพแวดล้อมเดียวและพาร์ตเนอร์รายเดียว คีย์ลับแสดงเพียงครั้งเดียว — ตอนสร้าง ตอนหมุนเวียน และผ่านลิงก์เปิดดู — และจัดเก็บแบบแฮชในฝั่งของเรา

หมุนเวียนคีย์ได้จากพอร์ทัลนักพัฒนา: ระบบจะออก ID คีย์และคีย์ลับใหม่ ขณะที่คีย์เดิมยังใช้งานได้ตลอดระยะผ่อนผันที่คุณเลือก (สูงสุดเจ็ดวัน) คุณจึงสลับได้โดยไม่มีช่วงหยุดให้บริการ การเพิกถอนมีผลทันที

รายการ IP ที่อนุญาต

คุณสามารถกำหนดให้แต่ละสภาพแวดล้อมรับเฉพาะชุดที่อยู่ IPv4/IPv6 หรือช่วง CIDR ได้ในพอร์ทัลนักพัฒนา (ไม่บังคับ) คำขอจากที่อยู่อื่นจะถูกปฏิเสธด้วย 403 api_ip_not_allowed แม้จะลงนามถูกต้อง เว้นรายการว่างไว้เพื่อรับจากทุกแหล่ง