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

REST และ gRPC

Wink มีการเชื่อมต่อสองแบบ การเลือกใช้งานขึ้นอยู่กับ API ที่คุณกำลังรวมระบบด้วย

การเชื่อมต่อสคีมาเอกสาร
API ส่วนใหญ่ของ WinkREST ผ่าน HTTPSOpenAPI 3กลุ่มใดก็ได้ภายใต้ API ในแถบด้านข้าง
Partner Integrator APIgRPC ผ่าน HTTP/2Protocol BuffersPartner

แต่ละกลุ่ม API จะเผยแพร่เอกสาร OpenAPI 3 ชี้ OpenAPI generator ใดก็ได้ไปที่เอกสารนั้น แล้วคุณจะได้ไคลเอนต์ที่มีการพิมพ์ชนิดในภาษาของคุณ

Terminal window
# สเปกของแต่ละกลุ่มสามารถดาวน์โหลดได้ที่ไซต์นี้: /api/downloads/<group>.json
curl -o wink-extranet.json https://wink.travel/api/downloads/extranet.json
npx @openapitools/openapi-generator-cli generate \
-i wink-extranet.json -g typescript-fetch -o ./wink-client

OpenAPI generators ตามภาษา

Partner Integrator API ใช้ gRPC คุณสร้างไคลเอนต์จากสคีมา .proto ซึ่ง Wink เผยแพร่สองวิธี:

  • Server reflection — เซิร์ฟเวอร์อธิบายตัวเอง ดังนั้นเครื่องมืออย่าง grpcurl, Postman และ Insomnia สามารถค้นหาสคีมาในขณะรันไทม์โดยไม่ต้องดาวน์โหลดไฟล์ การ reflection ต้องใช้ bearer token เดียวกับการเรียกอื่นๆ
  • ไฟล์ .proto หากคุณต้องการเก็บสคีมาไว้ในโปรเจกต์และสร้างล่วงหน้า
Terminal window
# ค้นหาสคีมาจากเซิร์ฟเวอร์ที่กำลังทำงาน (ต้องยืนยันตัวตน)
grpcurl -H "authorization: Bearer $WINK_TOKEN" \
partner.wink.travel:443 list
# จากนั้นสร้างไคลเอนต์ — ตัวอย่างนี้เป็น Go; ทุกภาษาที่รองรับทำแบบเดียวกัน
protoc --go_out=. --go-grpc_out=. partner_lookup.proto

การเรียกจะส่ง bearer token ของคุณในส่วนหัว metadata authorization เหมือนกับที่ REST ส่งในส่วนหัว Authorization ข้อผิดพลาดจะถูกส่งเป็นรหัสสถานะ gRPC ใน response trailers แทนที่จะเป็นรหัสสถานะ HTTP — เอกสารอ้างอิง Partner ระบุรหัสสถานะที่คุณควรคาดหวัง

เริ่มต้นใช้งาน gRPC ตามภาษา

gRPC คืออะไร?

ถ้าคุณใช้ผู้ช่วยเขียนโค้ด AI เซิร์ฟเวอร์ MCP ของเราเป็นเส้นทางที่เร็วที่สุด มันเปิดเผย API ของ Wink เป็นเครื่องมือที่ผู้ช่วยของคุณสามารถเรียกใช้และวิเคราะห์ได้ ดังนั้นแทนที่จะสร้างไคลเอนต์ทั้งหมดและค้นหา endpoint เอง คุณแค่บอกว่ากำลังสร้างอะไร แล้วจะได้โค้ดการรวมที่เหมาะกับสิ่งนั้น

ตั้งค่าเซิร์ฟเวอร์ Wink MCP