Lewati ke konten

Autentikasi

Sebuah aplikasi memberikan Anda Client ID dan Secret Key yang Anda perlukan untuk membuat sesi OAuth2 yang terautentikasi yang dapat Anda gunakan untuk berkomunikasi dengan API Wink dan TripPay.

Berikut adalah langkah-langkah untuk membuat sesi yang terautentikasi.

Langkah 1. Ambil token akses di staging atau di lingkungan produksi kami:

Kemungkinan besar, Anda akan menggunakan pustaka OAuth2 yang kuat untuk bahasa pemrograman Anda, yang akan melakukan semua pekerjaan berat untuk Anda. Contoh kami akan menunjukkan penggunaan paling dasar dari baris perintah 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 lainnya:

{
"access_token": "abc123"
}

Saat Anda melakukan panggilan ke salah satu endpoint kami, sertakan hal berikut di header:

  • Wink-Version = 2.0 Terbaru - Lihat dokumentasi API kami untuk versi lain yang tersedia.
  • Authorization = Bearer ${access_token} Masukkan token akses Anda.

Scope adalah izin yang dibawa oleh token akses Anda. Saat Anda meminta token, Anda mengirimkan daftar scope yang dipisahkan spasi dalam parameter scope, dan token hanya dapat mengakses area yang dicakup oleh scope tersebut. Dengan grant client_credentials Anda menetapkan scope pada permintaan token Anda — lihat contoh curl di atas dan panduan Postman.

Scope dinamai section.action, di mana action adalah salah satu dari:

  • read — melihat sumber daya (permintaan GET yang aman)
  • write — membuat dan memperbarui sumber daya (POST / PUT / PATCH)
  • remove — menghapus sumber daya (DELETE)

Wink mengelompokkan izin berdasarkan area fungsional. Minta hanya scope yang dibutuhkan integrasi Anda:

Grup ScopeScopeApa yang dibukaRisiko
Accountaccount.read account.write account.removeMengelola entitas, anggota tim, pengaturan, aplikasiRendah–Sedang
Inventoryinventory.read inventory.write inventory.removeProperti, tipe kamar, rencana tarif, tarif, add-on, ketersediaan, aktivitas, atraksiRendah–Sedang
Bookingbooking.read booking.write booking.removePencarian, melihat, membuat, membatalkan, dan mengembalikan booking; checkout; kebijakan pembatalanRendah–Sedang
Marketingmarketing.read marketing.write marketing.removeKampanye, keuntungan, saluran penjualan, WinkLinks, sosial terkelola, loyalitasRendah–Sedang
Contentcontent.read content.write content.removeDeskripsi properti, ulasan, media, peta, indeks hijauRendah–Sedang
Analyticsanalytics.read analytics.write analytics.removePelaporan dan analitik — pendapatan, papan peringkatRendah–Sedang
Integrationsintegrations.read integrations.write integrations.removeManajer saluran, sistem booking eksternal, Google Hotel, endpoint notifikasi, sinkronisasi bookingRendah–Sedang
Paymentpayment.read payment.write payment.removePemrosesan pembayaran, Stripe, Revolut, pembayaran keluar, langgananSedang–Tinggi
Accountingaccounting.read accounting.write accounting.removeAkuntansi, buku besar penarikan, rekonsiliasiSedang–Tinggi
MCPmcp.read mcp.write mcp.removeMembuka transport MCP (/mcp) untuk agen AIRendah–Sedang

Beberapa hal yang perlu diingat:

  • Minta seminimal mungkin. Minta hanya scope yang benar-benar digunakan integrasi Anda — token yang diterbitkan dengan akses lebih luas dari yang diperlukan memiliki risiko kebocoran yang lebih besar.
  • Scope yang tidak dikenal ditolak. Meminta scope yang aplikasi Anda tidak terdaftar untuk, atau yang tidak ada, akan gagal saat penerbitan token.
  • mcp.* hanya untuk klien agen AI. Anda membutuhkannya untuk membuka transport MCP; tidak diperlukan untuk panggilan REST API biasa. Lihat Model Context Protocol.