Memulai Cepat
Tiga langkah menuju integrasi yang berjalan: generate signature, buat session, lalu embed widget URL ke iframe.
1. Generate Signature HMAC-SHA256
Bangun canonical string dengan urutan persis seperti ini:
partnerId | user_id | email | name | company_id | candidate_ids_csvLalu hash dengan HMAC-SHA256 menggunakan secretKey Anda. Format output:
hexadecimal lowercase.
- Field dipisahkan dengan
| - Field opsional yang tidak dikirim tetap berupa string kosong
candidate_ids_csv= nilaicandidate_iddariuser.candidates, digabung dengan,mengikuti urutan di payload
function generateSignature(
string $partnerId,
string $userId,
string $userEmail,
string $userName,
string $companyId,
string $candidateIdsCsv,
string $secretKey
): string {
$canonical = implode('|', [
$partnerId,
$userId,
$userEmail,
$userName,
$companyId,
$candidateIdsCsv,
]);
return hash_hmac('sha256', $canonical, $secretKey);
}Lihat halaman Autentikasi untuk aturan canonical string lengkap, field mapping, dan test vectors untuk verifikasi implementasi Anda.
2. Panggil Endpoint Create Session
curl -X POST "https://dev-app.psikologiehub.com/api/v2/partner/{partnerId}/sessions" \
-H "Content-Type: application/json" \
-d '{
"user": {
"user_id": "USR-001",
"email": "[email protected]",
"name": "John Doe",
"company": { "company_id": "COMP-001" },
"candidates": [
{ "candidate_id": "CND-001", "nama": "Jane", "email": "[email protected]" }
]
},
"signature": "GENERATED_HMAC_SIGNATURE"
}'Response sukses berisi:
{
"success": true,
"sessionToken": "eyJhbGciOiJIUzI1NiI...",
"widgetUrl": "https://dev-app.psikologiehub.com/api/v2/partner/widget?token=eyJ...",
"partnerId": "psikologihub",
"expiresIn": 1778760077
}Lihat halaman Referensi API untuk schema lengkap request/response dan contoh end-to-end multi-bahasa.
3. Embed Widget
<iframe
src="WIDGET_URL"
width="100%"
height="700"
frameborder="0"
allowfullscreen
></iframe>Widget menangani autentikasi, navigasi, dan pemanggilan API internal. Frontend Anda tidak perlu melakukan apa-apa lagi.
Widget hanya bisa di-load dari domain yang sudah di-whitelist ke
PsikologieHub untuk partnerId Anda. Koordinasikan ke PIC PsikologieHub
untuk register domain tambahan sebelum testing di environment baru.