Lewati ke konten utama
Didit Raih $7,5 Juta untuk Membangun Infrastruktur Identitas dan Fraud
Didit
Kembali ke blog
Blog · 7 Juli 2026

Membangun Alur Kerja Identitas Berbasis Peristiwa: Panduan Integrasi Webhook

Pelajari cara memanfaatkan webhook untuk alur kerja verifikasi identitas berbasis peristiwa secara real-time, meningkatkan efisiensi dan responsivitas dalam infrastruktur penipuan dan kepatuhan Anda.

Oleh DiditDiperbarui
The Didit logo and blog title are on the left side of the image. The title reads, "Building Event-Driven Identity Workflows: A Webhook Integration Guide." On the right side, a white key icon is displayed.

Membangun alur kerja identitas berbasis peristiwa dengan webhook memungkinkan sistem Anda bereaksi secara instan terhadap perubahan status verifikasi identitas, memungkinkan pengambilan keputusan real-time dan proses kepatuhan otomatis.

Kekuatan Real-Time: Mengapa Webhook Penting untuk Verifikasi Identitas

Verifikasi identitas tradisional sering kali melibatkan polling endpoint API secara berkala untuk memeriksa pembaruan status. Meskipun fungsional, pendekatan ini menimbulkan latensi dan dapat menjadi tidak efisien, menghabiskan sumber daya yang tidak perlu. Webhook, sebaliknya, menawarkan mekanisme push berbasis yang elegan di mana penyedia verifikasi identitas Anda memberi tahu aplikasi Anda secara langsung setiap kali peristiwa penting terjadi. Komunikasi real-time ini sangat penting untuk sistem pencegahan penipuan dan kepatuhan modern.

Bayangkan skenario di mana pengguna mengirimkan dokumen mereka untuk verifikasi Know Your Customer (KYC). Dengan webhook, segera setelah proses verifikasi selesai – apakah disetujui, ditolak, atau memerlukan tindakan lebih lanjut – aplikasi Anda menerima pemberitahuan instan. Ini memungkinkan Anda untuk:

  • Mempercepat Onboarding: Segera berikan akses ke layanan setelah verifikasi berhasil.
  • Mengotomatiskan Respons Risiko: Memicu pemeriksaan penipuan tambahan atau antrean peninjauan untuk verifikasi yang mencurigakan tanpa penundaan.
  • Meningkatkan Pengalaman Pengguna: Memberikan umpan balik instan kepada pengguna mengenai status verifikasi mereka.
  • Menyederhanakan Operasi: Mengurangi kebutuhan akan pemeriksaan manual dan polling API yang konstan.

Webhook vs. Polling: Perbandingan Teknis

FiturWebhook (Push)Polling (Pull)
KomunikasiServer mendorong data ke klienKlien meminta data dari server
LatensiHampir real-timeTergantung pada interval polling
EfisiensiTinggi (hanya mengirim data saat peristiwa terjadi)Lebih rendah (permintaan sering, seringkali tanpa data baru)
Penggunaan Sumber DayaLebih rendah untuk klien, lebih tinggi untuk server untuk mengelola koneksiLebih tinggi untuk klien, lebih rendah untuk server untuk menanggapi permintaan
KompleksitasMembutuhkan endpoint publik di klienImplementasi sisi klien yang lebih sederhana

Untuk webhook identity verification, manfaat pemrosesan peristiwa real-time jauh melebihi kompleksitas pengaturan tambahan yang kecil.

Merancang Integrasi Webhook Anda untuk Identitas dan Penipuan

Mengintegrasikan webhook secara efektif membutuhkan perencanaan yang cermat dan implementasi yang andal. Berikut adalah rincian pertimbangan utama:

1. Keamanan dan Otentikasi Endpoint

Endpoint webhook Anda akan dapat diakses secara publik, membuat keamanan menjadi yang terpenting. Terapkan langkah-langkah ini:

  • HTTPS: Selalu gunakan HTTPS untuk mengenkripsi data dalam perjalanan.
  • Verifikasi Tanda Tangan: Penyedia verifikasi identitas harus menandatangani payload webhook-nya dengan rahasia bersama. Aplikasi Anda harus memverifikasi tanda tangan ini untuk memastikan permintaan berasal dari sumber yang sah dan belum dirusak.
  • IP Whitelisting: Jika memungkinkan, batasi permintaan webhook masuk ke serangkaian alamat IP yang diketahui dari penyedia Anda.
  • Header Otentikasi: Beberapa penyedia mungkin menyertakan kunci API atau token di header HTTP untuk otentikasi tambahan.

2. Idempotensi dan Percobaan Ulang

Webhook terkadang dapat dikirimkan beberapa kali karena masalah jaringan atau percobaan ulang di sisi penyedia. Endpoint Anda harus idempoten, yang berarti memproses peristiwa webhook yang sama beberapa kali memiliki efek yang sama dengan memprosesnya sekali. Ini biasanya dicapai dengan:

  • ID Peristiwa Unik: Setiap peristiwa webhook harus memiliki ID unik. Simpan ID peristiwa yang diproses dan abaikan duplikat.
  • Pemrosesan Transaksional: Bungkus logika pemrosesan webhook Anda dalam transaksi database.

Selain itu, penyedia Anda harus menerapkan mekanisme percobaan ulang untuk pengiriman yang gagal. Rancang endpoint Anda untuk merespons dengan cepat (dalam beberapa detik) dengan kode status HTTP 2xx untuk mengakui penerimaan. Jika pemrosesan membutuhkan waktu lebih lama, akui penerimaan dan proses secara asinkron.

3. Jenis Peristiwa dan Payload Data

Pahami berbagai jenis peristiwa yang dikirim oleh penyedia verifikasi identitas Anda. Peristiwa umum meliputi:

  • verification.completed: Pemeriksaan identitas pengguna selesai.
  • verification.pending_review: Peninjauan diperlukan untuk kasus tertentu.
  • verification.failed: Pemeriksaan gagal karena berbagai alasan.
  • document.uploaded: Dokumen baru telah dikirimkan.

Payload webhook akan berisi informasi terperinci tentang peristiwa tersebut, seperti ID pengguna, status verifikasi, alasan kegagalan, dan detail dokumen yang relevan. Petakan payload ini ke model data internal Anda untuk memperbarui profil pengguna, memicu peringatan, atau memulai alur kerja berikutnya seperti Know Your Business (KYB) untuk klien korporat atau Wallet Screening / KYT (Know Your Transaction) untuk transaksi keuangan.

4. Ketersediaan Tinggi dan Skalabilitas

Endpoint webhook Anda harus memiliki ketersediaan tinggi dan skalabel untuk menangani lonjakan lalu lintas peristiwa. Pertimbangkan:

  • Load Balancer: Distribusikan permintaan masuk ke beberapa instance aplikasi Anda.
  • Sistem Antrean: Gunakan antrean pesan (misalnya, Kafka, RabbitMQ, SQS) untuk memisahkan penerimaan webhook dari pemrosesan. Ini memungkinkan endpoint Anda merespons dengan cepat sementara pemrosesan berlangsung dengan andal di latar belakang.
  • Pemantauan dan Peringatan: Siapkan pemantauan untuk kesehatan, latensi, dan tingkat kesalahan endpoint webhook Anda. Terapkan peringatan untuk pengiriman yang gagal atau kesalahan pemrosesan.

Mengimplementasikan Verifikasi Identitas Webhook dengan Didit

Didit, sebagai infrastruktur untuk identitas dan penipuan, menawarkan kemampuan webhook yang andal untuk berintegrasi dengan lancar ke dalam arsitektur berbasis peristiwa Anda. API kami menyediakan dokumentasi terperinci tentang pengaturan webhook untuk berbagai modul verifikasi identitas dan pemantauan penipuan.

Ketika pengguna melalui alur identitas Didit, peristiwa seperti identity.verification.completed, business.verification.completed, atau transaction.screening.alert dapat dikonfigurasi untuk memicu webhook ke endpoint yang Anda tentukan. Payload akan menyertakan objek JSON komprehensif yang merinci hasil verifikasi, termasuk status (misalnya, approved, rejected, manual_review), reasons, dan tautan ke laporan yang lebih terperinci.

Berikut adalah contoh sederhana bagaimana Anda dapat menerima dan memproses payload webhook untuk verifikasi identitas yang telah selesai:

import json
import hmac
import hashlib
import os
from flask import Flask, request, abort

app = Flask(__name__)

# Your secret key from Didit
WEBHOOK_SECRET = os.environ.get("DIDIT_WEBHOOK_SECRET")

@app.route("/didit-webhook", methods=["POST"])
def didit_webhook():
    if not WEBHOOK_SECRET:
        app.logger.error("DIDIT_WEBHOOK_SECRET is not set.")
        abort(500)

    # 1. Verify signature
    signature = request.headers.get("X-Didit-Signature")
    if not signature:
        abort(400, "No signature header provided")

    expected_signature = hmac.new(
        WEBHOOK_SECRET.encode('utf-8'),
        request.data,
        hashlib.sha256
    ).hexdigest()

    if not hmac.compare_digest(expected_signature, signature):
        abort(403, "Invalid signature")

    # 2. Parse payload
    try:
        event = json.loads(request.data)
    except json.JSONDecodeError:
        abort(400, "Invalid JSON payload")

    event_type = event.get("type")
    event_id = event.get("id") # For idempotency

    app.logger.info(f"Received Didit webhook event: {event_type} (ID: {event_id})")

    # 3. Process event based on type
    if event_type == "identity.verification.completed":
        verification_data = event.get("data", {}).get("identity_verification")
        if verification_data:
            user_id = verification_data.get("external_user_id")
            status = verification_data.get("status")
            # Example: Update user status in your database
            print(f"User {user_id} identity verification status: {status}")
            # Trigger further actions, e.g., send welcome email, enable features
            if status == "approved":
                print(f"User {user_id} is now approved!")
            elif status == "rejected":
                print(f"User {user_id} was rejected. Reason: {verification_data.get('reasons')}")

    elif event_type == "business.verification.completed":
        # Handle KYB completion
        pass
    # ... handle other event types

    return "OK", 200

if __name__ == "__main__":
    # In production, use a WSGI server like Gunicorn
    app.run(port=5000)

Cuplikan ini menunjukkan langkah-langkah inti: verifikasi tanda tangan dan pemrosesan peristiwa. Ingatlah untuk mengganti logika placeholder dengan aturan bisnis Anda yang sebenarnya dan berintegrasi dengan database atau sistem internal Anda lainnya.

Poin-Poin Penting

  • Webhook memungkinkan alur kerja verifikasi identitas berbasis peristiwa secara real-time, menawarkan keuntungan signifikan dibandingkan metode polling tradisional.
  • Amankan endpoint webhook Anda dengan HTTPS, verifikasi tanda tangan, dan IP whitelisting.
  • Rancang sistem Anda untuk idempotensi guna menangani potensi pengiriman webhook duplikat dengan baik.
  • Pahami dan petakan berbagai jenis peristiwa dan payload data yang disediakan oleh layanan verifikasi identitas Anda.
  • Pastikan infrastruktur pemrosesan webhook Anda memiliki ketersediaan tinggi dan skalabel menggunakan teknik seperti load balancing dan antrean pesan.
  • Didit menyediakan dukungan webhook yang andal, memungkinkan Anda membangun infrastruktur identitas dan penipuan yang responsif dan otomatis.

Pertanyaan yang Sering Diajukan

Apa manfaat utama menggunakan webhook untuk verifikasi identitas?

Manfaat utamanya adalah pemrosesan real-time, memungkinkan aplikasi Anda bereaksi secara instan terhadap perubahan status verifikasi, yang mempercepat onboarding, mengotomatiskan respons penipuan, dan meningkatkan pengalaman pengguna.

Bagaimana cara mengamankan endpoint webhook saya?

Amankan endpoint Anda dengan menggunakan HTTPS, memverifikasi tanda tangan payload masuk, menerapkan IP whitelisting, dan berpotensi menggunakan header otentikasi yang disediakan oleh layanan.

Apa artinya endpoint webhook "idempoten"?

Endpoint webhook idempoten dapat memproses peristiwa yang sama beberapa kali tanpa menyebabkan efek samping yang tidak diinginkan. Ini sangat penting untuk menangani percobaan ulang dan pengiriman duplikat dari penyedia webhook.

Dapatkah webhook membantu deteksi penipuan?

Tentu saja. Webhook dapat memicu peringatan instan atau pemeriksaan penipuan tambahan (misalnya, pemantauan transaksi, penyaringan dompet) segera setelah peristiwa verifikasi identitas yang mencurigakan terjadi, secara signifikan mengurangi jendela untuk aktivitas penipuan.

Bagaimana Didit mendukung verifikasi identitas webhook?

Didit menawarkan dukungan webhook komprehensif untuk semua modul identitas dan penipuannya. Pengembang dapat mengonfigurasi endpoint untuk menerima pemberitahuan untuk berbagai peristiwa, dengan payload yang ditandatangani berisi hasil verifikasi terperinci, memfasilitasi integrasi yang lancar ke dalam arsitektur berbasis peristiwa.

Membangun arsitektur berbasis peristiwa dengan webhook identity verification adalah langkah strategis bagi organisasi mana pun yang ingin meningkatkan infrastruktur penipuan dan kepatuhannya. Didit menyediakan alat dan fleksibilitas untuk mengintegrasikan kemampuan real-time ini secara efisien. Anda dapat mengintegrasikan Didit dalam 5 menit, dengan harga pay-per-use publik dan tanpa minimum. Verifikasi identitas penuh mulai dari $0,30, dan kami menawarkan 500 pemeriksaan gratis setiap bulan untuk memulai.

Mulai dengan Didit

Didit adalah infrastruktur untuk identitas dan penipuan — satu API, harga pay-per-use publik, dan 500 verifikasi gratis setiap bulan. Tambahkan Verifikasi Pengguna ke alur Anda dan integrasikan dalam 5 menit.

Infrastruktur untuk identitas dan fraud.

Satu API untuk KYC, KYB, Transaction Monitoring, dan Wallet Screening. Integrasi dalam 5 menit.

Minta AI untuk merangkum halaman ini
Verifikasi Identitas Webhook: Panduan Alur Kerja Peristiwa