Langsung ke konten utama
Langkah verifikasi Lokasi Didit mengonfirmasi keberadaan seseorang saat mereka melakukan verifikasi, dengan membaca posisi perangkat satu kali (browser atau SDK native) atau lokasi IP koneksi, dan memeriksanya terhadap area yang diizinkan dan diblokir, lokasi IP, serta alamat pada dokumen mereka. Dalam alur kerja dan API, fitur ini adalah GEOLOCATION, pengaturannya menggunakan kunci geolocation_*, dan hasilnya berupa geolocation_checks[] pada keputusan sesi.

Kapan menggunakannya

  • Anda memegang lisensi hanya untuk beberapa yurisdiksi (perjudian, pialang, pinjaman) dan harus membuktikan bahwa orang tersebut berada di dalamnya saat mereka mendaftar.
  • Anda harus mencegah orang masuk dari tempat yang diblokir, seperti wilayah yang terkena sanksi atau negara bagian yang tidak Anda layani.
  • Anda menginginkan satu sinyal penipuan tambahan: posisi perangkat yang jauh dari lokasi IP atau dari alamat pada ID, posisi yang dipalsukan, VPN, atau emulator.
  • Anda tidak memerlukan pergerakan atau riwayat orang tersebut, hanya satu pembacaan yang diambil selama sesi.

Cara kerjanya

Pemberitahuan dan izin

Orang tersebut melihat alasan lokasi mereka diperlukan dan bahwa lokasi hanya dibaca satu kali, untuk verifikasi ini. Browser atau ponsel mereka kemudian meminta izin. Didit mencatat pemberitahuan yang mereka setujui (versi, bahasa, dan waktu) sebagai consent dalam hasil.

Satu posisi per upaya

Klien mempertahankan pembacaan terbaik hingga cukup akurat atau batas waktu per upaya (default 20 detik) habis. Setiap upaya membawa tantangan sekali pakai yang valid selama 5 menit dan terikat pada sesi, sehingga kiriman yang direkam tidak dapat diputar ulang.

Pemeriksaan

Didit menilai akurasi, kebaruan, izin lokasi perkiraan, sinyal spoofing, area, jarak ke lokasi IP dan ke alamat dokumen, temuan VPN, proxy, Tor, dan emulator, serta pemeriksaan orang tersebut sebelumnya.

Hasil

Setiap temuan memunculkan peringatan yang tindakan terkonfigurasinya (NO_ACTION, REVIEW, atau DECLINE) menentukan status langkah. Tindakan yang paling kuat berlaku.

Sumber posisi

Anda memilih dari mana posisi berasal menggunakan geolocation_position_source. Pada node yang meminta lokasi perangkat, upaya tanpa posisi dinilai sebagai penolakan atau kegagalan yang sebenarnya: lokasi IP tidak pernah menggantikannya.

Default dan batas konfigurasi

Semua kunci bersifat opsional. Daftar lengkap ada di referensi konfigurasi fitur alur kerja.

Preset

geolocation_preset menetapkan default dari setiap tindakan yang tidak Anda atur. licensing menolak posisi di luar area yang diizinkan, di dalam area yang diblokir, di balik VPN atau Tor, atau pada emulator, dan meninjau proxy. fraud_screening menerapkan temuan yang sama tetapi mengirimkan semua yang akan ditolak oleh licensing ke peninjauan. Tindakan yang Anda atur secara eksplisit selalu menang.

Geofencing

Aktifkan is_geolocation_geofencing_enabled dan buat daftar geolocation_areas. Area dapat berupa seluruh negara, wilayah (ISO 3166-2) dari satu negara, lingkaran (1 hingga 500 km), atau poligon (3 hingga 200 titik). Hanya posisi di dalam area yang diizinkan yang lolos, dan area yang diblokir selalu menang atas area yang diizinkan. Sebuah daftar dapat memuat hingga 50 area dan membutuhkan setidaknya satu area yang diizinkan. Didit menilai seluruh lingkaran akurasi posisi, bukan hanya titik tengahnya:
  • Lingkaran yang sepenuhnya berada di luar setiap area yang diizinkan adalah LOCATION_OUTSIDE_GEOFENCE.
  • Lingkaran yang melintasi batas yang menentukan jawaban adalah LOCATION_GEOFENCE_UNDETERMINED, tidak pernah dianggap “di luar”.
  • Lingkaran yang sepenuhnya berada di dalam area yang diblokir adalah LOCATION_IN_BLOCKED_AREA, dan ini dimunculkan selain putusan area yang diizinkan.
Suatu negara atau wilayah berakhir di tempat daratan lain dimulai, bukan di garis pantainya. Kepada orang tersebut ditunjukkan di mana layanan tersedia, tetapi tidak pernah diperlihatkan area mana saja yang diblokir. Aturan area juga berfungsi pada langkah ip_only, yang dinilai dari lokasi IP. Pengaturan geolocation_geofencing_by_country yang lebih lama masih berfungsi tetapi tidak dapat digabungkan dengan geolocation_areas.

Pemeriksaan jarak

geolocation_document_distance_basis memilih alamat: document (dokumen identitas, lalu Bukti Alamat), proof_of_address, atau declared (expected_details.address dari pembuatan sesi). Dengan geolocation_travel_tolerance_enabled, seseorang yang terlihat di dekat alamatnya dalam geolocation_travel_max_days hari terakhir tidak akan ditandai karena berada jauh dari alamat tersebut saat ini. Toleransi perjalanan tidak pernah mentolerir VPN, posisi spoofing, area yang diblokir, atau posisi di luar area yang diizinkan.

Sinyal integritas dan spoofing

  • Penyedia mock: Android dan iOS melaporkan ketika suatu posisi disimulasikan alih-alih diukur.
  • Atestasi perangkat: SDK native dapat menyertakan atestasi perangkat. Atestasi yang gagal selalu ditolak. Atestasi yang tidak ada dicatat dan secara default tanpa tindakan. Browser tidak dapat melakukan atestasi dan dicatat sebagai unsupported, bukan sebagai kegagalan.
  • VPN, proxy, dan Tor: ditemukan pada koneksi yang membagikan lokasi. Jika tindakan Anda untuk salah satunya bukan NO_ACTION, orang tersebut diminta untuk mematikannya dan memeriksa ulang selama kesempatan mencoba masih ada.
  • Emulator: dilaporkan oleh aplikasi native saja. Emulator mengakhiri langkah pada percobaan tersebut karena mencoba lagi tidak akan mengubah perangkat.
  • Replay: tantangan yang ditampilkan pada sesi lain selalu ditolak.

Hasil

Percobaan yang diterima untuk langkah ini memiliki satu outcome: Selama kesempatan mencoba masih ada, temuan radius lebar, usang, perkiraan, penolakan, atau area meminta orang tersebut untuk mencoba lagi, dan hanya percobaan terakhir yang memunculkan peringatan. Posisi tiruan (mock), atau emulator yang ditindaklanjuti oleh alur kerja Anda, mengakhiri langkah pada percobaan yang melaporkannya.

Pengalaman pengguna

Persetujuan dan izin

Tidak ada data yang dibaca sebelum orang tersebut menyetujui pemberitahuan dan menjawab prompt sistem. Pemberitahuan tersebut menyatakan bahwa lokasi dibaca satu kali, untuk verifikasi ini, dan bukan merupakan catatan pergerakan mereka. Seseorang yang menolak akan diperlakukan sesuai dengan geolocation_refusal_path:
  • retry_then_handoff meminta kembali selama kesempatan mencoba masih ada dan kemudian menawarkan untuk melanjutkan di ponsel.
  • continue_without_location menawarkan untuk melanjutkan tanpa lokasi, dan mencatat penolakan sebagai hasilnya.
  • end_session mengakhiri langkah dan sesi pada penolakan pertama. Opsi ini mewajibkan geolocation_permission_denied_action bernilai REVIEW atau DECLINE, dan sesi tidak akan pernah disetujui.
Dengan geolocation_allow_skip aktif, orang tersebut dapat melanjutkan tanpa lokasi kapan saja, dan langkah ini dinilai berdasarkan geolocation_unavailable_action.

Browser

Alur yang di-hosting meminta browser memberikan posisi dan menampilkan bantuan langkah demi langkah untuk Chrome dan Safari saat lokasi dinonaktifkan untuk situs tersebut. Browser tidak dapat membedakan izin presisi dari perkiraan, sehingga hasil web tidak pernah memunculkan LOCATION_APPROXIMATE_ONLY, dan tidak pernah melaporkan penyedia mock, emulator, atau atestasi. Komputer tidak dapat membagikan posisi yang presisi, sehingga alur ini menawarkan kode QR untuk melanjutkan verifikasi yang sama di ponsel orang tersebut (geolocation_allow_qr_handoff, aktif secara default), dan komputer akan melanjutkan sendiri saat ponsel selesai. Saat Anda menyematkan alur ini dalam iframe, sertakan geolocation dalam atribut allow, lihat in-context iframe. Halaman yang memblokir kebijakan izin geolokasi diperlakukan sebagai keputusan situs, bukan penolakan dari orang tersebut.

SDK native

SDK iOS dan Android meminta posisi kepada sistem operasi dan dapat menyertakan atestasi perangkat serta tanda mock-location. Pada iOS tambahkan NSLocationWhenInUseUsageDescription ke Info.plist, dan pada Android SDK mendeklarasikan ACCESS_FINE_LOCATION serta ACCESS_COARSE_LOCATION dan memintanya saat runtime hanya ketika sebuah alur kerja memiliki langkah ini. Lihat SDK native. Pemberian izin perkiraan pada iOS atau Android memunculkan LOCATION_APPROXIMATE_ONLY kecuali jika geolocation_accuracy_mode bernilai approximate_allowed. Build aplikasi atau SDK yang dibuat sebelum adanya langkah ini diselesaikan dengan status unsupported_client alih-alih membiarkan sesi macet.

Apa yang dikembalikan oleh keputusan

Keputusan sesi dan webhook status.updated memuat dua daftar:
  • geolocation_checks[]: satu item per langkah Lokasi, yang menyimpan percobaan yang diterima untuk langkah tersebut, beserta warnings miliknya.
  • geolocation_attempts[]: setiap percobaan dari setiap langkah Lokasi, diurutkan dari yang paling lama.
Lihat laporan verifikasi lokasi untuk setiap kolom. Koordinat, akurasi, kota, dan negara merupakan data pribadi pengguna akhir, sehingga atribut respons alur kerja dapat membatasi kolom geolocation_checks mana saja yang dikembalikan oleh keputusan Anda.

Harga

Verifikasi lokasi berbiaya $0.05 per pemeriksaan, dan ini bukan bagian dari paket gratis. Didit menagih biaya satu kali per langkah Lokasi dalam sebuah sesi, apa pun hasilnya, karena pemeriksaan telah berjalan dan memberikan jawaban. Percobaan ulang dalam langkah yang sama tidak dikenakan biaya. Pengiriman ulang yang kembali menyelesaikan langkah tersebut akan ditagih kembali.

Sandbox

Sesi sandbox menjalankan langkah yang sama di alur yang di-hosting yang sama, dan perangkat atau browser tetap melaporkan posisi sebenarnya. Sesi sandbox tidak pernah menghubungi layanan pencarian IP, sehingga perbandingan IP hanya menggunakan apa yang sudah tersimpan di sesi tersebut. Penggunaan dicatat dengan harga 0, sehingga sesi sandbox tidak pernah dikenakan biaya. Tidak ada input ajaib untuk langkah ini.

Terkait

Terakhir diubah pada 7 November 2026