Memulai
Sumber daya inti
Lainnya

Autentikasi OAuth 2.0

Client credentials OAuth2

SEEK Pass menyediakan kredensial OAuth 2.0 (client_id dan client_secret) untuk autentikasi. Ini diberikan melalui saluran yang aman (misalnya, 1Password) untuk lingkungan staging dan produksi.
Untuk informasi lebih lanjut tentang OAuth 2.0, silakan lihat dokumentasi.

Lingkungan

Endpoint environment staging dan production tersedia di bawah ini:
SEEK Pass menggunakan OAuth 2.0 dan jenis grant Client Credentials untuk autentikasi server-ke-server.
Untuk informasi lebih lanjut tentang Client Credentials, silakan lihat dokumentasi.
export SEEK_PASS_URL=https://app.seekpass-staging.com
export CLIENT_ID=<YOUR CLIENT ID>
export CLIENT_SECRET=<YOUR CLIENT SECRET>
Minta token akses OAuth dengan memanggil endpoint berikut dengan scope yang sesuai untuk jenis kredensial Anda (mis. write.education, write.english_proficiency):
curl --location $SEEK_PASS_URL/api/partner/v1/oauth/token.json \
--header 'Accept: application/json' \
--header '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.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