API Endpoints
Gunakan endpoint berikut ini untuk mengelola proses verifikasi/screening individu.
Cek Data Individu (Consent Digital by Proofylink)
Membuat permintaan verifikasi baru dengan metode persetujuan via email yang dikirimkan oleh aplikasi Proofylink.
Endpoint:
POST {{base_url}}/api/v1/external/verifications/email-consent
Headers:
| Key | Value | Deskripsi |
|---|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN | Token integrasi Proofylink |
Body:
| Nama | Tipe Data | Contoh | Deskripsi |
|---|---|---|---|
| verification_type_id | integer | 1: Rekrutment/Screening Karyawan 2: Screening Sewa Mobil/Motor 3: Verifikasi Calon Pelanggan/Mitra 4: Screening Tenant (Kos/Kontrakan) | Tipe Verifikasi / Screening |
| id_number | string | 1234567890123456 | NIK (16 digit) |
| full_name | string | John Doe | Nama Lengkap |
| string | john.doe@gmail.com | ||
| phone_number | string | 6289123456789 | Nomor telepon dengan prefix 62 |
| ktp_image | file | base64 | Foto KTP dengan ukuran maksimal 4 MB |
Response:
- 201 - Created
- 400 - Request Error
- 404 - Not Found
- 422 - Validation Error
- 500 - Internal Error
{
"status": "success",
"message": "Verification created successfully.",
"data": {
"reference_code": "EMP-260211-7874",
"status": "ocr_verification",
"consent_method": "email",
"created_at": "2026-02-11T10:27:41.000000Z"
}
}
{
"status": "fail",
"message": "Insufficient token balance"
}
{
"status": "fail",
"message": "Data not found"
}
{
"status": "fail",
"message": "id number harus berisi 16 karakter.",
"errors": {
"id_number": [
"id number harus berisi 16 karakter."
],
"email": [
"Format email tidak valid."
]
}
}
{
"status": "error",
"message": "An error occurred while creating verification."
}
Cek Data Individu (Consent Digital by Mitra)
Membuat permintaan verifikasi baru dengan persetujua digital yang telah dilampirkan oleh mitra.
Endpoint:
POST {{base_url}}/api/v1/external/verifications/own-consent
Headers:
| Key | Value | Deskripsi |
|---|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN | Token integrasi Proofylink |
Body:
| Nama | Tipe Data | Contoh | Deskripsi |
|---|---|---|---|
| verification_type_id | integer | 1: Rekrutment/Screening Karyawan 2: Screening Sewa Mobil/Motor 3: Verifikasi Calon Pelanggan/Mitra 4: Screening Tenant (Kos/Kontrakan) | Tipe Verifikasi / Screening |
| id_number | string | 1234567890123456 | NIK (16 digit) |
| full_name | string | John Doe | Nama Lengkap |
| string | john.doe@gmail.com | ||
| phone_number | string | 6289123456789 | Nomor telepon dengan prefix 62 |
| ktp_image | file | base64 | Foto KTP dengan ukuran maksimal 4 MB |
| consent_metadata | array | { "user_agent": "Mozilla/5.0", "ip_address": "192.168.1.1", "device_type": "desktop", "browser_info": "Chrome 145.0.0.0", "os": "Windows", "timestamp": "2026-03-06T16:00:00+08:00" } | Keterangan metadata saat subject memberikan persetujuan melalui portal anda |
Response:
- 201 - Created
- 400 - Request Error
- 404 - Not Found
- 422 - Validation Error
- 500 - Internal Error
{
"status": "success",
"message": "Verification created successfully.",
"data": {
"reference_code": "EMP-260211-7874",
"status": "ocr_verification",
"consent_method": "email",
"created_at": "2026-02-11T10:27:41.000000Z"
}
}
{
"status": "fail",
"message": "Insufficient token balance"
}
{
"status": "fail",
"message": "Data not found"
}
{
"status": "fail",
"message": "id number harus berisi 16 karakter.",
"errors": {
"id_number": [
"id number harus berisi 16 karakter."
],
"email": [
"Format email tidak valid."
]
}
}
{
"status": "error",
"message": "An error occurred while creating verification."
}
Cek Data Individu (Consent Manual Upload)
Membuat verifikasi dengan mengunggah dokumen persetujuan secara manual.
Endpoint:
POST {{base_url}}/api/v1/external/verifications/upload-consent
Headers:
| Key | Value | Deskripsi |
|---|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN | Token integrasi Proofylink |
Body:
| Nama | Tipe Data | Contoh | Deskripsi |
|---|---|---|---|
| verification_type_id | integer | 1: Rekrutment/Screening Karyawan 2: Test | Tipe Verifikasi / Screening |
| id_number | string | 1234567890123456 | NIK (16 digit) |
| full_name | string | John Doe | Nama Lengkap |
| string | john.doe@gmail.com | ||
| phone_number | string | 6289123456789 | Nomor telepon dengan prefix 62 |
| ktp_image | file | base64 | Foto KTP dengan ukuran maksimal 4 MB |
| form_consent | file | base64 | Form Consent dengan ukuran maksimal 10 MB |
Response:
- 201 - Created
- 400 - Request Error
- 404 - Not Found
- 422 - Validation Error
- 500 - Internal Error
{
"status": "success",
"message": "Verification created successfully.",
"data": {
"reference_code": "EMP-260211-7874",
"status": "ocr_verification",
"consent_method": "signed_document",
"created_at": "2026-02-11T10:27:41.000000Z"
}
}
{
"status": "fail",
"message": "Insufficient token balance"
}
{
"status": "fail",
"message": "Data not found"
}
{
"status": "fail",
"message": "id number harus berisi 16 karakter.",
"errors": {
"id_number": [
"id number harus berisi 16 karakter."
],
"email": [
"Format email tidak valid."
]
}
}
{
"status": "error",
"message": "An error occurred while creating verification."
}
Riwayat Cek
Endpoint:
GET {{base_url}}/api/v1/external/verifications
Headers:
| Key | Value | Deskripsi |
|---|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN | Token integrasi Proofylink |
Query Params:
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| q | string | andi | Keyword pencarian |
| page | number | 1 | Nomor halaman |
| per_page | number | 10 | Jumlah data perhalaman |
Response:
- 200 - Success
- 400 - Not Found
- 500 - Internal Error
{
"status": "success",
"message": "Verifications retrieved successfully.",
"data": [
{
"reference_code": "EMP-260212-5406",
"verification_type_name": "Rekrutment/Screening Karyawan",
"status": "completed",
"customer_name": "MIRA SETIAWAN",
"customer_id_number": "3171********0123",
"final_decision": null,
"created_at": "2026-02-12T10:23:00.000000Z",
"updated_at": "2026-02-12T10:23:11.000000Z",
"credibility_score": 53,
"credibility_level": "D"
},
{
...
},
{
...
}
],
"links": {
"first": "https://example.test/api/v1/external/verifications?page=1",
"last": "https://example.test/api/v1/external/verifications?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://example.test/api/v1/external/verifications",
"per_page": 50,
"to": 1,
"total": 1,
"q": ""
}
}
{
"status": "fail",
"message": "Data not found.",
}
{
"status": "error",
"message": "An error occurred while retrieving verification."
}
Detail Hasil dan Analisa
Melihat detail verifikasi berdasarkan kode referensi.
Endpoint:
GET {{base_url}}/api/v1/external/verifications/:reference_code
Headers:
| Key | Value | Deskripsi |
|---|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN | Token integrasi Proofylink |
Path Params:
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| reference_code | string | VER-260101-1234 | Kode referensi |
Response:
- 200 - Success
- 200 - Not Success
- 404 - Not Found
- 500 - Internal Error
{
"status": "success",
"message": "Verification retrieved successfully.",
"data": {
"verification": {
"reference_code": "EMP-260212-5406",
"verification_type_name": "Rekrutment/Screening Karyawan",
"created_at": "2026-02-12T10:23:00.000000Z",
"updated_at": "2026-02-12T10:23:11.000000Z",
"status": "completed",
"failed_message": null,
"credibility_score": 53,
"credibility_level": "D",
"final_decision": null
},
"customer": {
"name": "MIRA SETIAWAN",
"phone": "823423423423",
"id_number": "3171234567890123"
},
"analysis": {
"credit_summary": { object },
"credibility": { object },
"use_case_analysis": { object },
}
}
}
{
"status": "success",
"message": "Verification retrieved successfully.",
"data": {
"verification": {
"reference_code": "EMP-260212-6843",
"verification_type_name": "Rekrutment/Screening Karyawan",
"created_at": "2026-02-12T10:14:51.000000Z",
"updated_at": "2026-02-12T10:15:01.000000Z",
"status": "failed",
"failed_message": OCR data mismatch,
"credibility_score": null,
"credibility_level": null,
"final_decision": null
},
"customer": {
"name": "MIRA SETIAWAN",
"phone": "823423423423",
"id_number": "3171234567890123"
},
"analysis": {
"credit_summary": null,
"credibility": null,
"use_case_analysis": null
}
}
}
{
"status": "fail",
"message": "Data not found.",
}
{
"status": "error",
"message": "An error occurred while retrieving verification."
}