Geliştirici Dokümantasyonu
VerifyBlind'yi kendi platformunuza dakikalar içinde entegre edin.
Başlarken (Quickstart)
VerifyBlind entegrasyonu üç adımdan oluşur: hesap açma, backend nonce endpoint yazma ve widget embed etme. Server-side webhook opsiyoneldir — yalnızca frontend widget ile de tam çalışır.
Partner Hesabı & API Key
Partner Portal'a kayıt olun ve Settings sayfasından API Key'inizi kopyalayın. API Key bir UUID'dir. Asla frontend'e gömmeyin.
Backend Nonce Endpoint
Widget, tarayıcıda oluşturduğu geçici RSA public key'i backend'inizdeki bir endpoint'e gönderir. Bu endpoint aldığı veriyi VerifyBlind API'ye iletip nonce döndürür. API key sunucu tarafında kalır. İki kural: (1) gövdeyi OLDUĞU GİBİ iletin — alan seçerseniz cf_token düşer ve captcha sessizce kapanır; (2) yanıtın durum kodunu koruyun — 402/403/429 widget'a ulaşmazsa kullanıcı gerçek hatayı göremez.
// POST /generate-nonce (Express)
app.post('/generate-nonce', async (req, res) => {
// Gövdeyi olduğu gibi ilet: cf_token, additional_data, sdk_version dahil.
const upstream = await fetch('https://api.verifyblind.com/api/pop/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'X-API-Key': process.env.VERIFYBLIND_API_KEY },
body: JSON.stringify(req.body),
});
// Durum kodunu da geçir — 402/403/429 widget'a ulaşmalı.
res.status(upstream.status).json(await upstream.json()); // { "nonce": "b1362715-..." }
});Widget Embed
Sayfanıza verifyblind.js'yi ekleyin.
<script src="https://cdn.verifyblind.com/sdk/v1.0.0/verifyblind.js"
integrity="sha384-TRoHlSq3GSFXepiilMFxyyVsHt23aFYuk03hDTFZGMCYSU6qQckiEFjVk8Nssixe"
crossorigin="anonymous"></script>
<div id="verifyblind-container"></div>
<script>
window.VerifyBlind.init({
generateUrl: '/generate-nonce',
apiUrl: 'https://api.verifyblind.com',
captcha: true,
payload: {
validations: { age: '18+', user_id: true },
additional_data: { session_id: 'abc123' },
},
containerId: 'verifyblind-container',
onSuccess: (data) => {
console.log(data.validations.age); // true / false
// user_id istendiğinde 3 kod birden döner — üçünü de saklayın:
console.log(data.validations.user_id); // "a1b2c3..." (TCKN bazlı, TCKN yoksa boş)
console.log(data.validations.nsbd_id); // biyografik kişi kovası (kart yenilemede sabit)
console.log(data.validations.doc_id); // "I_9f8e..." belge kodu (aynı belge = aynı kişi)
},
onError: (err) => console.error(err),
});
</script>Tarayıcı (verifyblind.js) Partner Backend VerifyBlind API
──────────────────────────────────────────────────────────────────
1. Geçici RSA key çifti oluştur
2. public_key + validations ──► POST /generate-nonce ──► POST /api/pop/generate
◄── { nonce } ◄── { nonce }
3. QR göster (nonce embed)
4. Kullanıcı QR'ı okutup telefonda doğruladı
5. GET /api/pop/result/{nonce} (polling) ─────────────────────────►
6. { status: "completed", encrypted_response: {...} } ◄───────────
7. Tarayıcıda geçici private key ile deşifrele
8. onSuccess(data) ✓