Memulai
Sumber daya inti
Lainnya

Autentikasi OAuth 2.0

Client credentials OAuth2

SEEK Pass menggunakan OAuth 2.0 dengan jenis grant Client Credentials untuk otentikasi server-ke-server. Kredensial OAuth (client_id dan client_secret) disediakan secara aman (mis. melalui 1Password) untuk lingkungan staging dan produksi. Untuk informasi lebih lanjut tentang OAuth 2.0, silakan lihat OAuth 2.0 Authorization Framework.

Lingkungan

Endpoint environment staging dan production tersedia di bawah ini:
Minta token akses OAuth dengan memanggil endpoint token OAuth menggunakan scope yang sesuai untuk jenis kredensial Anda (mis. write.education, write.english_proficiency).
Caution
Semua permintaan API harus menyertakan header User-Agent. Permintaan tanpa header tersebut akan ditolak dengan respons 403 Forbidden. Sebagian besar klien dan library HTTP standar (mis. Axios, Python Requests, curl) menetapkannya secara otomatis, jadi tidak diperlukan tindakan dalam sebagian besar kasus. Jika Anda menggunakan klien HTTP kustom atau tingkat rendah, pastikan header User-Agent ditetapkan secara eksplisit, misalnya: User-Agent: YourAppName/1.0.
export SEEK_PASS_URL=https://app.seekpass-staging.com
export CLIENT_ID=<YOUR CLIENT ID>
export CLIENT_SECRET=<YOUR CLIENT SECRET>
curl --location $SEEK_PASS_URL/api/partner/v1/oauth/token.json \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'User-Agent: curl/8.4.0' \
--data-urlencode grant_type=client_credentials \
--data-urlencode client_id=$CLIENT_ID \
--data-urlencode client_secret=$CLIENT_SECRET \
--data-urlencode 'scope=write.education'

Permintaan batch

Untuk menggunakan fitur permintaan batch, Anda perlu mencakup semua jenis yang diminta di kolom scope pada permintaan token OAuth Anda.
Ini memungkinkan Anda mengajukan beberapa kredensial dalam satu panggilan API.

Contoh:

curl -L $SEEK_PASS_URL/api/partner/v1/oauth/token.json \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode grant_type=client_credentials \
--data-urlencode client_id=$CLIENT_ID \
--data-urlencode client_secret=$CLIENT_SECRET \
--data-urlencode 'scope=write.microcredential write.education write.digital_identity'

Kode respons

Berikut adalah kode status HTTP yang dikembalikan oleh API SEEK Pass. Memahami kode respons ini akan membantu Anda menangani berbagai skenario dalam integrasi Anda.

200 OK: Otentikasi berhasil
{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3NDAzNTkyNTEsImV4cCI6MTc.ZnOZlWaSeJx_ySk3Pl88Xy8KnPKc4EX",
    "token_type": "Bearer",
    "expires_in": 7199,
    "scope": "write.education",
    "created_at": 1736144436
}
Simpan access_token untuk langkah berikutnya:
export ACCESS_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3NDAzNTkyNTEsImV4cCI6MTc.ZnOZlWaSeJx_ySk3Pl88Xy8KnPKc4EX