Panoramica
Gli avvisi sono contrassegnati con la funzionalitàPHONE. Compaiono sotto phone_verifications[].warnings[] in GET /v3/session/{sessionId}/decision/ e seguono la struttura standard dell’oggetto avviso (feature, risk, additional_data, log_type, short_description, long_description, node_id). Ciascun avviso viene inoltre instradato nel registro per sessione in modo da comparire nella Business Console nella sezione Telefono.
Alcuni avvisi sono trigger di rifiuto automatico vincolante: impostano sempre lo stato della funzionalità su Declined. Altri sono mappati su un’azione configurabile (DECLINE, REVIEW o NO_ACTION, a seconda dell’impostazione) definita nelle impostazioni del workflow, in modo che lo stesso codice di rischio possa rifiutare un workflow e limitarsi a segnalarne un altro.
Condizioni di rifiuto automatico
I seguenti avvisi rifiutano sempre il passaggio di Verifica telefonica indipendentemente dalla configurazione e presentano semprelog_type: "error":
VERIFICATION_CODE_ATTEMPTS_EXCEEDED: l’utente ha esaurito il limite di tentativi OTP: per impostazione predefinita 2 invii di codice errati (phone_max_check_attempts) o più di 2 invii OTP (phone_max_retries), entrambi regolabili per nodo del workflow. L’API standalone per la verifica telefonica consente 3 tentativi di inserimento del codice.PHONE_NUMBER_IN_BLOCKLIST: il numero è presente nella tua blocklist gestita tramite l’API Lists oppure corrisponde a una sessione inserita in blocklist.
HIGH_RISK_PHONE_NUMBER: il livello antifrode del provider di consegna rifiuta di inviare l’OTP (invio Blocked): il blocco comporta il rifiuto per impostazione predefinita ma non è più incondizionato: consulta high_risk_phone_action più avanti.
Rischi configurabili
Ciascuno dei seguenti rischi è associato a un’impostazione del workflow che puoi configurare suDECLINE, REVIEW o NO_ACTION (il valore predefinito: l’avviso viene registrato senza influire sullo stato). L’azione configurata imposta anche il log_type dell’avviso: DECLINE → error, REVIEW → warning, NO_ACTION → information.
Il rilevamento dei duplicati viene eseguito all’interno della tua applicazione per le verifiche telefoniche KYC, KYB e tramite API standalone, e raggruppa le sessioni per
vendor_data: le sessioni che condividono lo stesso vendor_data vengono trattate come un unico utente finale e sono escluse dai risultati delle corrispondenze. Se lasci vuoto vendor_data, ogni sessione viene considerata come un utente distinto.
Invii bloccati
HIGH_RISK_PHONE_NUMBER segue lo stesso schema con un insieme di opzioni più ristretto, poiché un invio rifiutato dal provider non può essere approvato:
L’impostazione viene applicata solo quando ogni blocco ad alto rischio sul passaggio presenta in
additional_data.risk_factors esattamente ["device_attribute"]: il segnale del provider “questo dispositivo appare sospetto”, ovvero ciò che si attiva sulle normali linee mobili. Qualsiasi altro fattore di rischio, qualsiasi combinazione che si limiti a includere device_attribute o un blocco privo di fattori di rischio comporta il rifiuto a prescindere dall’impostazione. Il motivo del blocco (repeated_attempts, suspicious o spam) è un campo separato, restituito in additional_data.blocked_reason.
Indipendentemente dall’impostazione, un numero presente in una allowlist telefonica creata tramite l’API Lists non viene mai rifiutato automaticamente per un invio bloccato: il passaggio passa a In revisione, l’avviso presenta log_type: "warning" e additional_data.phone_number_in_allowlist è true.
Limiti dei tentativi di verifica
La funzionalità Verifica telefonica applica un limite massimo rigido sui tentativi di OTP per prevenire abusi:- Tentativi di inserimento del codice — Valore predefinito di 2 invii errati (
phone_max_check_attempts) prima che il passaggio si concluda comeDeclinedconVERIFICATION_CODE_ATTEMPTS_EXCEEDED. L’API telefonica autonoma consente 3 tentativi di inserimento del codice per verifica. - Tentativi di invio — Valore predefinito di 2 invii totali (
phone_max_retries): l’invio iniziale più un reinvio. Un’ulteriore richiesta di invio conclude il passaggio e generaVERIFICATION_CODE_ATTEMPTS_EXCEEDED. - Validità dell’OTP — Un OTP in attesa è valido per 5 minuti dal primo invio; i nuovi tentativi non estendono questa finestra.
repeated_attempts, suspicious o spam): questo genera HIGH_RISK_PHONE_NUMBER, non l’avviso relativo ai tentativi.
Avvisi generati
Corrispondenze tra sessioni
Quando un numero viene rilevato in altre sessioni o nella tua blocklist, tali corrispondenze compaiono anche inphone_verifications[].matches[] (con un limite massimo di 5 voci). Ciascuna corrispondenza include session_id, session_number, vendor_data, verification_date, phone_number, status, is_blocklisted, api_service e un campo source con valore session (un’altra sessione con lo stesso numero, di qualsiasi stato) o list_entry (una corrispondenza sintetica della blocklist anteposta all’array). Se il numero corrente è presente nella tua allowlist telefonica, Didit conserva l’evidenza della corrispondenza ma genera PHONE_NUMBER_IN_ALLOWLIST anziché applicare l’azione per numero duplicato. Consulta il report di Verifica telefonica per lo schema completo delle corrispondenze.
Esempio
Un invio bloccato (HIGH_RISK_PHONE_NUMBER) su un numero VoIP, con voip_number_action configurato su REVIEW:
Tipi di avviso
A ciascun rischio viene assegnata una gravità in base alla configurazione della tua applicazione. I livelli di gravità si suddividono in tre categorie:Correlati
- Panoramica sulla Verifica telefonica — comportamento della funzionalità, prezzi, canali supportati.
- Report di Verifica telefonica — struttura completa della risposta inclusi
lifecycle[]ematches[]. - Modelli di dati — verifica telefonica — schema canonico campo per campo.
- API di gestione — Liste — gestione della blocklist telefonica utilizzata da
PHONE_NUMBER_IN_BLOCKLIST.