Memulai
Sumber daya inti
Lainnya

Verifikasi dengan SEEK Pass

Verifikasi dengan SEEK Pass menyediakan cara yang lancar untuk memverifikasi kredensial (misalnya identitas digital) melalui SEEK Pass. Untuk integrasi ini, mitra menyematkan tombol dalam alur aplikasi mereka yang mengarahkan pengguna ke aplikasi SEEK Pass, tempat mereka perlu memilih kredensial untuk diverifikasi (misalnya paspor, SIM). Mitra dapat terintegrasi dengan SEEK Pass menggunakan REST API untuk mengautentikasi dan membuat permintaan verifikasi, lalu mengarahkan pengguna ke aplikasi SEEK Pass.Verifikasi dengan SEEK Pass - Alur Perjalanan PenggunaVerifikasi dengan SEEK Pass - Alur kerja Identifikasi Digital

Detail teknis

Ada 3 fase untuk integrasi ini:
  • Mengautentikasi dengan SEEK Pass
  • Mengirimkan permintaan verifikasi
  • Mengambil hasil verifikasi
SEEK Pass mengautentikasi dan mengotorisasi permintaan mitra menggunakan alur OAuth2 Client Credentials untuk autentikasi server-ke-server. Saat onboarding, mitra akan diberikan kredensial OAuth untuk memperoleh token akses JWT untuk panggilan API berikutnya. Kredensial OAuth akan diberikan melalui saluran aman (mis. 1Password).
# POST /api/partner/v1/oauth/token

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.digital_identity read.digital_identity'
Setelah terautentikasi, mitra dapat mengirim permintaan verifikasi menggunakan API verifikasi kami (POST /api/partner/v2/verify/requests/digital_identity.json). Payload permintaan berisi URL callback opsional yang akan digunakan untuk mengalihkan pengguna kembali ke lokasi yang ditentukan mitra (mis. aplikasi web) setelah pengguna menyelesaikan alur verifikasi. API ini mengembalikan URI pengalihan yang harus digunakan untuk mengarahkan pengguna ke SEEK Pass. Lihat bagian berikutnya untuk detail lebih lanjut tentang format URI pengalihan.Setelah pengguna menyelesaikan alur verifikasi, mereka akan diarahkan kembali ke URL callback mitra dan hasil verifikasi akan diberikan melalui API atau webhook yang terdaftar. Payload respons berisi ID permintaan, data kredensial pengguna, dan hasil verifikasi. Implementasi keamanan webhook dibahas di bagian berikut.

Payload permintaan

Payload permintaan berisi kolom-kolom berikut:
  • request_id (opsional): Digunakan mitra untuk melacak permintaan mereka. Jika tidak diberikan, akan dibuat secara otomatis.
  • callback_url (opsional): Pengguna akan dialihkan kembali ke URL ini, jika disediakan, setelah menyelesaikan alur.
  • display_options (required): Nilai partner_name yang wajib diisi akan ditampilkan kepada pengguna. partner_logo_url juga dapat disediakan.
  • request_source (opsional): Kolom ini mencatat hierarki pihak-pihak yang terlibat dalam permintaan verifikasi (mis. ATS).
  • metadata (opsional): Kolom ini menangkap informasi tambahan yang dibutuhkan SEEK Pass untuk pelaporan atau tujuan lain. Untuk SEEK/Indirect, kami akan mencatat informasi terkait pekerjaan.
Info
Jika request_id tidak disertakan di payload permintaan, SEEK Pass akan membuat ID permintaan unik secara otomatis. Kami menyarankan menggunakan nilai unik secara global (mis. UUID) untuk request_id agar pelacakan permintaan pengguna berjalan baik.
Contoh permintaan verifikasi:
# POST /api/partner/v2/verify/requests/digital_identity.json

{
  "request_id": "7cbc7e51-82f5-43ec-8d63-b7cdf1170425",  // Optional. For tracking requests. If not passed, it will be auto-generated.
  "callback_url": "https://www.partner.com/callback",    // Optional. For redirecting users
  "display_options": {           // Required
    "partner_name": "string",    // Required
    "partner_logo_url": "string" // Optional
  },
  "request_source": [            // Optional
    {
      "name": "string"
    }
  ],
  "metadata": {                  // Optional - context about the verification
    "position_title": "string",
    "position_url": "string",
    "position_location": "string",
    "job_categories": "string",
    "applied_on_seek": true
  }
}
Contoh respons verifikasi:
{
  "request_id": "7cbc7e51-82f5-43ec-8d63-b7cdf1170425",
  "redirect_uri": "https://app.seekpass.co/partner/verify/digitalIdentity?clientId=[CLIENT_ID]&requestId=fa651300-b91a-49cb-8ee7-cac68b3fdf74"
}

Perilaku

  • Penggunaan ulang ID dalam 48 jam: Mengajukan permintaan dengan ID yang sudah ada dalam 48 jam akan mengembalikan redirect_uri asli.
  • Penggunaan ulang ID setelah 48 jam: Setelah 48 jam, data asli dihapus secara permanen. Mengajukan ulang dengan ID yang sama membuat permintaan kredensial baru dengan ID SEEK Pass yang berbeda dan menghasilkan redirect_uri yang baru.
  • Asosiasi pengguna: Saat pengguna mengakses redirect_uri dan melakukan otentikasi, data kredensial menjadi terkait dengan akun mereka.
  • Alur persetujuan: Data kredensial terkait dengan akun pengguna saat otentikasi, terlepas dari status persetujuan. Jika persetujuan belum diberikan, redirect_uri akan meminta pengguna untuk menyetujui.
  • Perilaku setelah persetujuan: Setelah persetujuan diberikan, permintaan API berikutnya mengembalikan URL yang sama, mengarahkan pengguna ke kredensial yang telah diajukan.
  • Kebijakan retensi data: Jika pengguna menyelesaikan alur pengguna tetapi tidak mengunduh dan melakukan autentikasi melalui aplikasi seluler dalam 48 jam, semua dokumen terkait akan dihapus secara aman sesuai kebijakan perlindungan data.
Info
Setelah pengguna mengklik tautan dan masuk ke sistem, data tersebut hanya terkait dengan pengguna tersebut. Jika pengguna lain mencoba menggunakan tautan yang sama, mereka akan diarahkan ke halaman error.

Diagram urutan

Verifikasi dengan SEEK Pass - Diagram Urutan

akun SEEK Pass

SEEK Pass akan menyediakan kredensial OAuth bagi mitra untuk autentikasi di lingkungan staging dan produksi:
  • Endpoint token OAuth: POST /api/partner/v2/oauth/token.json
  • Host:
    • Produksi: https://app.seekpass.co
    • Staging: https://app.seekpass-staging.com
  • Kredensial klien akan diberikan melalui saluran yang aman (misalnya 1Password)

Tombol Verifikasi dengan SEEK Pass

SEEK Pass menyediakan pilihan gambar tombol untuk mitra kami yang dapat disematkan untuk ditampilkan di platform Anda. Gambar-gambar ini akan dirender dengan branding SEEK Pass, sehingga memastikan konsistensi di seluruh interaksi pengguna. Kami menyarankan penggunaan aset tombol yang disediakan jika memungkinkan untuk mempertahankan gaya yang terpadu dan sesuai merek. Contoh tombol ditampilkan di bawah ini. Untuk detail lebih lanjut, lihat dokumentasi API kami - Panduan Branding.

Struktur URI pengalihan

  • Path: /partner/verify/[Credential type]
  • Host:
    • Produksi: https://app.seekpass.co
    • Staging: https://app.seekpass-staging.com
  • Query: Parameter di bawah ini sebagai parameter query URL
    • clientId: ID Aplikasi OAuth
    • requestId: ID permintaan verifikasi
  • Contoh: https://app.seekpass-staging.com/partner/verify/digitalIdentity?clientId=[CLIENT_ID]&requestId=fa651300-b91a-49cb-8ee7-cac68b3fdf74

Hasil verifikasi

Data verifikasi dan hasil permintaan diberikan melalui API atau webhook yang didaftarkan mitra. SEEK Pass dapat memberikan pembaruan webhook untuk berbagai peristiwa pada tahap yang berbeda dalam alur kerja verifikasi. Contoh peristiwa tercantum di bawah ini:
  • incomplete
  • canceled (rejected, canceled, expired)
  • verified