Avvio rapido OTP Telegram
Invia codici di verifica nativamente tramite Telegram Gateway. La piattaforma valida i codici lato server — il tuo backend non deve mai archiviare né confrontare l'OTP.
Test senza un account Telegram reale? Usa la Modalità Sandbox — nessun messaggio inviato, nessun canale verificato richiesto e nessuna fatturazione.
Controlla la raggiungibilità facoltativo
Prima di inviare, puoi verificare che il numero di telefono abbia Telegram installato e possa ricevere messaggi. Questo evita di spendere per richieste non recapitabili.
# Optional: check if this phone number is reachable on Telegram
curl -X POST https://api.novauth.com/api/v1/connect-hub/telegram/check-send-ability \
-H "x-api-key: YOUR_API_KEY" \
-H "x-account-id: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{"to": "+14155552671"}'1Invia il codice OTP
Invia tramite POST il codice OTP generato insieme al numero del destinatario. Novauth lo inoltra a Telegram Gateway, che lo recapita come messaggio ufficiale nell'app Telegram.
curl -X POST https://api.novauth.com/api/v1/connect-hub/telegram \
-H "x-api-key: YOUR_API_KEY" \
-H "x-account-id: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{
"to": "+14155552671",
"code": "482951",
"ttl": 300,
"sender_username": "your_verified_channel",
"callback_url": "https://your-server.com/telegram-webhook"
}'{
"uuid": "01JQHM3P7KXNV8W2QF5DG6TYAB", // internal Novauth ID
"request_id": "tg_req_4Kf8mNpQrS9xYz2A", // Telegram Gateway ID — save this
"to": "+14155552671",
"status": "sent",
"request_cost": 0.01,
"remaining_balance": 99.99
}Salva il request_id dalla risposta — ti serve per verificare lo stato della verifica e per revocare il codice se l'utente richiede un nuovo invio.
2Controlla lo stato della verifica
Il principale vantaggio di Telegram Gateway: non devi archiviare né confrontare l'OTP tu stesso. Passa il codice inserito dall'utente a check-verification-status e la piattaforma ti dice se è valido.
Questo endpoint richiede un request_id ottenuto da una vera chiamata POST /telegram. I request_id sandbox non vengono accettati qui — sono validi solo all'interno del flusso sandbox.
# Verify user-entered code server-side
curl -X POST https://api.novauth.com/api/v1/connect-hub/telegram/check-verification-status \
-H "x-api-key: YOUR_API_KEY" \
-H "x-account-id: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{
"request_id": "tg_req_4Kf8mNpQrS9xYz2A",
"code": "482951"
}'{
"request_id": "tg_req_4Kf8mNpQrS9xYz2A",
"phone_number": "+14155552671",
"request_cost": 0.01,
"delivery_status": {
"status": "delivered", // "sent" | "delivered" | "read" | "expired" | "revoked"
"updated_at": 1713369600
},
"verification_status": {
"status": "code_valid", // the submitted code matched
"updated_at": 1713369612,
"code_entered": "482951"
}
}3Revoca una verifica (flusso di nuovo invio)
Se un utente richiede un nuovo codice prima che quello corrente scada, revoca prima la richiesta in sospeso — questo può attivare un rimborso sull'addebito originale. Poi chiama di nuovo POST /telegram con un codice aggiornato.
Richiede un request_id reale — gli ID sandbox non vengono accettati da questo endpoint.
# Invalidate an outstanding verification request (e.g. user requested a resend)
curl -X POST https://api.novauth.com/api/v1/connect-hub/telegram/revoke-verification \
-H "x-api-key: YOUR_API_KEY" \
-H "x-account-id: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{"request_id": "tg_req_4Kf8mNpQrS9xYz2A"}'Riferimento API
/telegramInvia codice OTP tramite Telegram/telegram/check-send-abilityControlla se il numero è raggiungibile su Telegram/telegram/check-verification-statusValida il codice inviato lato server/telegram/revoke-verificationAnnulla la richiesta in sospeso (flusso di nuovo invio)/telegram/{uuid}/tdrOttieni il rapporto di consegna Telegram/telegram/tdrElenca tutti i record Telegram (paginato)Corpo della richiesta — POST /telegram
tostringrequiredTelefono del destinatario in formato E.164codestringrequiredCodice OTP da recapitare — da 4 a 8 cifrettlnumberoptionalScadenza in secondi (30–3600). Predefinito: valore predefinito della piattaformasender_usernamestringoptionalIl tuo nome utente di canale Telegram verificatocallback_urlstringoptionalURL webhook per ricevere aggiornamenti sullo stato di consegna/verifica