API Developer
Integrasikan AssessFit dengan ATS, Zapier, atau perkakas internal Anda — buat lowongan, undang kandidat, tarik hasil, dan terima webhook bertanda tangan begitu kandidat selesai.
Autentikasi
Buat kunci API di Employer Dashboard → Settings → API & integrations dan kirimkan pada setiap permintaan:
curl https://assessfit.com/api/v1/jobs \ -H "X-Api-Key: tp_live_…"
Kunci berlaku per workspace. Merotasi kunci seketika membatalkan kunci sebelumnya. Permintaan dibatasi 300/menit per IP.
Endpoint
GET/api/v1/jobs
Daftar lowongan beserta jumlah undangan dan penyelesaian.
POST/api/v1/jobs
Buat lowongan dan undang kandidat dalam satu panggilan. Email undangan terkirim otomatis; tiap undangan memakai satu kredit.
curl -X POST https://assessfit.com/api/v1/jobs \
-H "X-Api-Key: tp_live_…" -H "Content-Type: application/json" \
-d '{
"title": "Senior Accountant",
"roleKey": "accountant",
"tests": ["attention", "financial", "numerical", "conscientiousness"],
"cameraRequired": true,
"shareResults": false,
"candidates": [
{ "name": "Ana Putri", "email": "ana@example.com" }
]
}'
Kunci peran: accountant, engineer,
sales, support,
marketing, analyst,
custom. Boleh melewatkan tests? Tidak — kirimkan kunci tes yang Anda mau; ambil pustakanya lewat dasbor.
GET/api/v1/jobs/:id
Detail lengkap lowongan: setiap undangan dengan stempel waktu corong (tracking.sent/opened/loggedIn), tautan undangan pribadi
link, dan objek result begitu selesai.
POST/api/v1/jobs/:id/invites
Tambahkan kandidat ke lowongan yang ada: {"candidates":[{"name":"…","email":"…"}]}. Mengembalikan undangan yang dibuat beserta tautannya.
GET/api/v1/invites/:id/result
Tarik hasil lengkap satu kandidat: skor keseluruhan, skor per tes, skor integritas, vonis dan penanda, serta analisis waktu. Mengembalikan 404 sampai kandidat selesai.
Webhook
Setel URL webhook di Settings. AssessFit mengirim POST peristiwa JSON dengan tanda tangan HMAC-SHA256 yang dihitung atas badan mentah memakai kunci API Anda sebagai rahasianya:
POST https://your-app.example.com/hooks/assessfit
X-AssessFit-Event: candidate.completed
X-AssessFit-Signature: sha256=3f5a…
{
"event": "candidate.completed",
"createdAt": "2026-07-22T09:14:03.000Z",
"data": {
"inviteId": "inv_…",
"jobId": "job_…",
"jobTitle": "Senior Accountant",
"candidate": { "name": "Ana Putri", "email": "ana@example.com" },
"overall": 84,
"scores": { "attention": 83, "numerical": 100 },
"integrity": { "score": 100, "verdict": "clean" }
}
}
Verifikasi tanda tangannya sebelum memercayai payload:
// Node.js
const crypto = require("crypto");
function verify(rawBody, signatureHeader, apiKey) {
const expected = "sha256=" +
crypto.createHmac("sha256", apiKey).update(rawBody).digest("hex");
return crypto.timingSafeEqual(Buffer.from(signatureHeader), Buffer.from(expected));
}
Pengiriman dicoba ulang 3× (seketika, +2 dtk, +8 dtk). Setiap upaya terlihat di
Settings → Recent webhook deliveries, dan Anda bisa memicu peristiwa
webhook.test kapan saja lewat tombol "Send Test Event". Peristiwa: candidate.completed, webhook.test.
Resep integrasi
- ATS (Greenhouse/Lever/dll.): saat kandidat mencapai tahap "Assessment" Anda, panggil
POST /api/v1/jobs/:id/invites; pada webhookcandidate.completed, tuliskan kembali skornya ke profil kandidat lewat API ATS Anda. - Zapier/Make: pakai "Webhooks by Zapier" sebagai pemicu dengan URL webhook AssessFit Anda, dan aksi HTTP dengan
X-Api-Keyuntuk undangan. - Notifikasi Slack: terima webhook-nya di sebuah fungsi kecil lalu kirim "🏁 Ana Putri finished Senior Accountant — 84/100, integrity clean" ke kanal rekrutmen Anda.