Skip to content

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.

Terminal window
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>"
Terminal window
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.0 Terkini - 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 (permintaan GET yang 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 SkopSkopApa yang dibukaRisiko
Akaunaccount.read account.write account.removeMengurus entiti, ahli pasukan, tetapan, aplikasiRendah–Sederhana
Inventoriinventory.read inventory.write inventory.removeHartanah, jenis bilik, pelan kadar, kadar, tambahan, ketersediaan, aktiviti, tarikanRendah–Sederhana
Tempahanbooking.read booking.write booking.removeCari, lihat, cipta, batalkan, dan pulangkan tempahan; daftar keluar; polisi pembatalanRendah–Sederhana
Pemasaranmarketing.read marketing.write marketing.removeKempen, keistimewaan, saluran jualan, WinkLinks, sosial terurus, kesetiaanRendah–Sederhana
Kandungancontent.read content.write content.removePenerangan hartanah, ulasan, media, peta, indeks hijauRendah–Sederhana
Analitikanalytics.read analytics.write analytics.removePelaporan dan analitik — pendapatan, papan pendahuluRendah–Sederhana
Integrasiintegrations.read integrations.write integrations.removePengurus saluran, sistem tempahan luaran, Google Hotel, titik akhir notifikasi, penyelarasan tempahanRendah–Sederhana
Pembayaranpayment.read payment.write payment.removePemprosesan pembayaran, Stripe, Revolut, pembayaran keluar, langgananSederhana–Tinggi
Perakaunanaccounting.read accounting.write accounting.removePerakaunan, lejar pengeluaran, penyelarasanSederhana–Tinggi
MCPmcp.read mcp.write mcp.removeMembuka pengangkutan MCP (/mcp) untuk ejen AIRendah–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.