אימות
אפליקציה מספקת לך Client ID ו-Secret Key שעליך להשתמש בהם ליצירת סשן OAuth2 מאומת שתוכל להשתמש בו לתקשורת עם ממשקי ה-API של Wink ו-TripPay.
להלן השלבים ליצירת סשן מאומת.
שלב 1. קבל אסימון גישה בסביבת staging או בסביבת הייצור שלנו:
סביר להניח שתעבוד עם ספריית OAuth2 חזקה לשפת התכנות שלך, שתבצע את כל העבודה הכבדה עבורך.
הדוגמאות שלנו יציגו את השימוש הבסיסי ביותר משורת הפקודה באמצעות curl.
Staging
Section titled “Staging”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>"Production
Section titled “Production”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>"זה יחזיר אסימון גישה, יחד עם נתוני תגובה נוספים של OAuth2:
{ "access_token": "abc123"}כאשר אתה מבצע קריאה לכל אחת מנקודות הקצה שלנו, כלול את הדברים הבאים בכותרת:
Wink-Version=2.0העדכני ביותר - ראה את תיעוד ה-API שלנו לגרסאות נוספות זמינות.Authorization=Bearer ${access_token}הכנס את אסימון הגישה שלך.
Scopes
Section titled “Scopes”Scope הוא הרשאה שנושאת אסימון הגישה שלך. כאשר אתה מבקש אסימון, אתה מעביר רשימת scopes מופרדת ברווח בפרמטר scope, והאסימון יכול לגשת רק לאזורים שה-scopes הללו מכסים. עם הרשאת client_credentials אתה מגדיר את ה-scopes בבקשת האסימון שלך — ראה את דוגמאות ה-curl למעלה ואת ההדרכה ב-Postman walkthrough.
ה-scopes נקראים section.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 שהאפליקציה שלך לא רשומה עבורו, או שאינו קיים, תיכשל בעת הוצאת האסימון.
mcp.*מיועד רק ללקוחות סוכני AI. אתה צריך אותו כדי לפתוח את ה-MCP transport; הוא אינו נדרש לקריאות REST API רגילות. ראה Model Context Protocol.