Pengesahan
Sebuah aplikasi menyediakan anda dengan Client ID dan Secret Key yang anda perlukan untuk mencipta sesi OAuth2 yang disahkan yang boleh anda gunakan untuk berkomunikasi dengan API Wink dan TripPay.
Berikut adalah langkah-langkah untuk mencipta sesi yang disahkan.
Langkah 1. Dapatkan token akses di persekitaran staging atau produksi kami:
Anda kemungkinan besar akan menggunakan perpustakaan OAuth2 yang kukuh untuk bahasa anda, yang akan melakukan semua kerja berat untuk anda.
Contoh kami akan menunjukkan penggunaan paling asas dari baris arahan menggunakan 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>"Produksi
Section titled “Produksi”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>"Ini akan mengembalikan token akses, bersama dengan data respons OAuth2 lain:
{ "access_token": "abc123"}Apabila anda membuat panggilan ke mana-mana titik akhir kami, sertakan yang berikut dalam header:
Wink-Version=2.0Terkini - Lihat dokumentasi API kami untuk versi lain yang tersedia.Authorization=Bearer ${access_token}Masukkan token akses anda.
Skop adalah kebenaran yang dibawa oleh token akses anda. Apabila anda meminta token, anda menghantar
senarai skop yang dipisahkan ruang dalam parameter scope, dan token hanya boleh mengakses kawasan
yang diliputi oleh skop tersebut. Dengan pemberian client_credentials anda menetapkan skop pada permintaan token anda —
lihat contoh curl di atas dan panduan Postman.
Skop dinamakan section.action, di mana tindakan adalah salah satu daripada:
read— melihat sumber (permintaanGETyang selamat)write— mencipta dan mengemas kini sumber (POST/PUT/PATCH)remove— memadam sumber (DELETE)
Wink mengelompokkan kebenaran mengikut kawasan fungsi. Minta hanya skop yang diperlukan oleh integrasi anda:
| Kumpulan Skop | Skop | Apa yang dibuka | Risiko |
|---|---|---|---|
| Akaun | account.read account.write account.remove | Mengurus entiti, ahli pasukan, tetapan, aplikasi | Rendah–Sederhana |
| Inventori | inventory.read inventory.write inventory.remove | Hartanah, jenis bilik, pelan kadar, kadar, tambahan, ketersediaan, aktiviti, tarikan | Rendah–Sederhana |
| Tempahan | booking.read booking.write booking.remove | Cari, lihat, cipta, batalkan, dan pulangkan tempahan; daftar keluar; polisi pembatalan | Rendah–Sederhana |
| Pemasaran | marketing.read marketing.write marketing.remove | Kempen, keistimewaan, saluran jualan, WinkLinks, sosial terurus, kesetiaan | Rendah–Sederhana |
| Kandungan | content.read content.write content.remove | Penerangan hartanah, ulasan, media, peta, indeks hijau | Rendah–Sederhana |
| Analitik | analytics.read analytics.write analytics.remove | Pelaporan dan analitik — pendapatan, papan pendahulu | Rendah–Sederhana |
| Integrasi | integrations.read integrations.write integrations.remove | Pengurus saluran, sistem tempahan luaran, Google Hotel, titik akhir notifikasi, penyelarasan tempahan | Rendah–Sederhana |
| Pembayaran | payment.read payment.write payment.remove | Pemprosesan pembayaran, Stripe, Revolut, pembayaran keluar, langganan | Sederhana–Tinggi |
| Perakaunan | accounting.read accounting.write accounting.remove | Perakaunan, lejar pengeluaran, penyelarasan | Sederhana–Tinggi |
| MCP | mcp.read mcp.write mcp.remove | Membuka pengangkutan MCP (/mcp) untuk ejen AI | Rendah–Sederhana |
Beberapa perkara yang perlu diingat:
- Minta yang minimum. Minta hanya skop yang benar-benar digunakan oleh integrasi anda — token yang dikeluarkan dengan akses lebih luas daripada yang diperlukan mempunyai risiko lebih besar jika bocor.
- Skop yang tidak dikenali ditolak. Meminta skop yang aplikasi anda tidak didaftarkan, atau yang tidak wujud, akan gagal semasa pengeluaran token.
mcp.*hanya untuk klien ejen AI. Anda memerlukannya untuk membuka pengangkutan MCP; ia tidak diperlukan untuk panggilan API REST biasa. Lihat Model Context Protocol.