Recupera a entrada do código de verificação
Retorna os detalhes de um código de verificação específico, incluindo seu status e histórico.
Authorizations
Seção intitulada “Authorizations ”Parameters
Seção intitulada “ Parameters ”Path Parameters
Seção intitulada “Path Parameters ”Unique entity UUID
UUID do pedido de código de verificação
Responses
Seção intitulada “ Responses ”Verify code details
Resposta de leitura do código de verificação. Contém os detalhes completos do pedido de código de verificação, incluindo o estado atual, histórico de entrega e informações de custo.
object
Identificador único (UUID) do pedido de código de verificação.
ID do utilizador que criou o pedido de código de verificação.
Número de telefone do destinatário em formato internacional.
O valor do código de verificação. Se is_code_deleted foi definido e a tarefa concluída, o código estará ausente.
Comprimento do código de verificação.
Idioma usado para o modelo de mensagem.
Lista ordenada de canais de entrega que foram configurados para este pedido.
Etapa de roteamento do Telegram. Entrega o código de verificação através de uma mensagem do bot do Telegram.
object
Canal de entrega: Telegram.
Tempo em segundos para aguardar uma resposta do Telegram antes de recuar para a próxima etapa. Se não definido, é usado um padrão do sistema.
Etapa de roteamento por voz. Entrega o código de verificação através de uma chamada de voz automatizada.
object
Canal de entrega: Chamada de voz.
Número de telefone do remetente no formato E.164. Se sender_id não estiver em conformidade com o formato E.164 (por exemplo, sem o prefixo +, contendo caracteres não numéricos), a chamada será feita a partir do número padrão do sistema +493075435114. Alguns provedores de telefonia downstream podem substituir o número de remetente definido pelo utilizador.
Modelo de mensagem personalizado. O texto é automaticamente envolvido em tags SSML <speak>. Use {{code}} como espaço reservado para o código de verificação. Se não fornecido, é usado um modelo padrão traduzido com base no campo lang.
Etapa de roteamento SMS. Entrega o código de verificação por SMS.
object
Canal de entrega: SMS.
Número de telefone ou ID alfanumérico do remetente exibido no dispositivo do destinatário. Validado com os IDs de remetente permitidos da sua conta.
Modelo de mensagem personalizado. Use {{code}} como espaço reservado para o código de verificação. Se não fornecido, é usado um modelo padrão traduzido com base no campo lang.
Estado atual do código de verificação: 0 = Novo, 5 = Em andamento, 10 = Sucesso, 20 = Falhado, 100 = Erro.
O canal que entregou com sucesso o código de verificação. Null se ainda não foi entregue ou se a entrega falhou.
Custo total do pedido de verificação em cêntimos de euro. Null até que o processamento seja concluído.
Código da moeda para o custo.
Dados de payload personalizados do pedido original.
Timestamp Unix de quando o código de verificação foi criado.
Timestamp Unix da última atualização.
Histórico de processamento para cada tentativa de canal. Uma entrada por etapa de roteamento.
object
UUID da entrada do histórico.
Tipo de canal para esta tentativa.
Estado desta tentativa de canal: 0 = Novo, 5 = Em andamento, 10 = Sucesso, 20 = Falhado, 100 = Erro.
Timestamp Unix de quando esta etapa foi processada.
ID da mensagem do provedor externo.
Se o código de verificação foi eliminado do armazenamento após ser enviado ao destinatário.
Examples
Verify code response with multi-channel routing
Successful response after creating a verification code with a 3-step routing strategy. Telegram and voice channels failed, SMS succeeded.
{ "id": "d7ad7539-fb8f-4dbb-a7f7-7c40babec969", "user_id": 12345, "phone": "+491701234567", "routing_strategy": [ { "channel": "telegram", "timeout_sec": 30 }, { "channel": "voice", "sender_id": "LOX24", "template": "Your code is {{code}}" }, { "channel": "sms", "sender_id": "LOX24", "template": "Your code is {{code}}" } ], "status": 10, "delivered_channel": "sms", "cost": 120, "currency": "EUR", "code": "1234", "code_length": 4, "payload": "yours payload here", "lang": "EN", "created_at": 1779903448, "updated_at": 1779903510, "history": [ { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a1", "channel": "telegram", "status": 20, "processed_at": 1779903478, "external_id": "tg_msg_001" }, { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a2", "channel": "voice", "status": 20, "processed_at": 1779903490, "external_id": "voice_msg_002" }, { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a3", "channel": "sms", "status": 10, "processed_at": 1779903510, "external_id": "sms_msg_003" } ], "is_code_deleted": false}Resposta de leitura do código de verificação. Contém os detalhes completos do pedido de código de verificação, incluindo o estado atual, histórico de entrega e informações de custo.
object
Identificador único (UUID) do pedido de código de verificação.
ID do utilizador que criou o pedido de código de verificação.
Número de telefone do destinatário em formato internacional.
O valor do código de verificação. Se is_code_deleted foi definido e a tarefa concluída, o código estará ausente.
Comprimento do código de verificação.
Idioma usado para o modelo de mensagem.
Lista ordenada de canais de entrega que foram configurados para este pedido.
Etapa de roteamento do Telegram. Entrega o código de verificação através de uma mensagem do bot do Telegram.
object
Canal de entrega: Telegram.
Tempo em segundos para aguardar uma resposta do Telegram antes de recuar para a próxima etapa. Se não definido, é usado um padrão do sistema.
Etapa de roteamento por voz. Entrega o código de verificação através de uma chamada de voz automatizada.
object
Canal de entrega: Chamada de voz.
Número de telefone do remetente no formato E.164. Se sender_id não estiver em conformidade com o formato E.164 (por exemplo, sem o prefixo +, contendo caracteres não numéricos), a chamada será feita a partir do número padrão do sistema +493075435114. Alguns provedores de telefonia downstream podem substituir o número de remetente definido pelo utilizador.
Modelo de mensagem personalizado. O texto é automaticamente envolvido em tags SSML <speak>. Use {{code}} como espaço reservado para o código de verificação. Se não fornecido, é usado um modelo padrão traduzido com base no campo lang.
Etapa de roteamento SMS. Entrega o código de verificação por SMS.
object
Canal de entrega: SMS.
Número de telefone ou ID alfanumérico do remetente exibido no dispositivo do destinatário. Validado com os IDs de remetente permitidos da sua conta.
Modelo de mensagem personalizado. Use {{code}} como espaço reservado para o código de verificação. Se não fornecido, é usado um modelo padrão traduzido com base no campo lang.
Estado atual do código de verificação: 0 = Novo, 5 = Em andamento, 10 = Sucesso, 20 = Falhado, 100 = Erro.
O canal que entregou com sucesso o código de verificação. Null se ainda não foi entregue ou se a entrega falhou.
Custo total do pedido de verificação em cêntimos de euro. Null até que o processamento seja concluído.
Código da moeda para o custo.
Dados de payload personalizados do pedido original.
Timestamp Unix de quando o código de verificação foi criado.
Timestamp Unix da última atualização.
Histórico de processamento para cada tentativa de canal. Uma entrada por etapa de roteamento.
object
UUID da entrada do histórico.
Tipo de canal para esta tentativa.
Estado desta tentativa de canal: 0 = Novo, 5 = Em andamento, 10 = Sucesso, 20 = Falhado, 100 = Erro.
Timestamp Unix de quando esta etapa foi processada.
ID da mensagem do provedor externo.
Se o código de verificação foi eliminado do armazenamento após ser enviado ao destinatário.
Examples
Verify code response with multi-channel routing
Successful response after creating a verification code with a 3-step routing strategy. Telegram and voice channels failed, SMS succeeded.
{ "id": "d7ad7539-fb8f-4dbb-a7f7-7c40babec969", "user_id": 12345, "phone": "+491701234567", "routing_strategy": [ { "channel": "telegram", "timeout_sec": 30 }, { "channel": "voice", "sender_id": "LOX24", "template": "Your code is {{code}}" }, { "channel": "sms", "sender_id": "LOX24", "template": "Your code is {{code}}" } ], "status": 10, "delivered_channel": "sms", "cost": 120, "currency": "EUR", "code": "1234", "code_length": 4, "payload": "yours payload here", "lang": "EN", "created_at": 1779903448, "updated_at": 1779903510, "history": [ { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a1", "channel": "telegram", "status": 20, "processed_at": 1779903478, "external_id": "tg_msg_001" }, { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a2", "channel": "voice", "status": 20, "processed_at": 1779903490, "external_id": "voice_msg_002" }, { "id": "bccaff09-59f2-11f1-a685-7c10c91d54a3", "channel": "sms", "status": 10, "processed_at": 1779903510, "external_id": "sms_msg_003" } ], "is_code_deleted": false}Client ID or API key isn’t active or invalid!
Account isn’t activated. Please wait or contact to support!
Resource not found
O endereço IP foi bloqueado temporariamente, pois durante um curto período de tempo foram enviadas várias solicitações com credenciais inválidas. Aguarde e tente mais tarde.
Code Samples
#!/usr/bin/env bashcurl -X GET https://api.lox24.eu/verify_codes/d7ad7539-fb8f-4dbb-a7f7-7c40babec969 \ -H 'X-LOX24-AUTH-TOKEN: 1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx'using System;using System.IO;using System.Net;using System.Text;
namespace Lox24.Api{ class GetVerifyCodesItem { static void Main() { string key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; string verifyCodeId = "d7ad7539-fb8f-4dbb-a7f7-7c40babec969"; string url = $"https://api.lox24.eu/verify_codes/{verifyCodeId}";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ReadWriteTimeout = 100000; httpWebRequest.ContentType = "application/json; charset=utf-8"; httpWebRequest.Accept = "application/json"; httpWebRequest.Method = "GET"; httpWebRequest.Headers.Add("X-LOX24-AUTH-TOKEN", key);
try { using (HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse()) { if (resp.StatusCode == HttpStatusCode.OK) { Console.WriteLine("Success:{0} {1}", (int)resp.StatusCode, "verify code resource response"); } else { Console.WriteLine("Error: wrong response code {0}", (int)resp.StatusCode); }
Stream respStream = resp.GetResponseStream(); using (StreamReader sr = new StreamReader(respStream, Encoding.UTF8)) { string responseText = sr.ReadToEnd(); Console.WriteLine("responseText : {0}", responseText); } } } catch (System.Net.WebException ex) { var webResponse = ex.Response as System.Net.HttpWebResponse; Console.WriteLine("Error:{0}", webResponse.StatusCode);
switch (webResponse.StatusCode) { case HttpStatusCode.Unauthorized: Console.WriteLine("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpStatusCode.Forbidden: Console.WriteLine("Error:403 Account isn't activated."); break; case HttpStatusCode.NotFound: Console.WriteLine("Error:404 Resource not found"); break; case HttpStatusCode.InternalServerError: case HttpStatusCode.BadGateway: case HttpStatusCode.ServiceUnavailable: case HttpStatusCode.GatewayTimeout: Console.WriteLine("System error! Please contact to LOX24 support!"); break; } } } }}package main
import ( "fmt" "io" "log" "net/http")
func main() {
const Method = "GET" const URL = "https://api.lox24.eu/verify_codes/d7ad7539-fb8f-4dbb-a7f7-7c40babec969" const Token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"
client := &http.Client{}
req, err := http.NewRequest(Method, URL, nil) if err != nil { log.Fatal(err) }
req.Header.Add("X-LOX24-AUTH-TOKEN", Token) req.Header.Add("Accept", "application/json")
res, err := client.Do(req) if err != nil { log.Fatal(err) }
defer res.Body.Close()
body, err := io.ReadAll(res.Body) if err != nil { log.Fatal(err) }
switch res.StatusCode { case 200: fmt.Println(string(body)) case 401: fmt.Println("Error: code = 401 - Client ID or API key isn't active or invalid!") case 403: fmt.Println("Error: code = 403 - Account isn't activated.") case 404: fmt.Println("Error: code = 404 - Resource not found") default: fmt.Printf("Error: code = %d\n", res.StatusCode) }}package eu.lox24.doc.verify_codes;
import java.io.IOException;import java.net.HttpURLConnection;import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.time.Duration;
public class GetVerifyCodesItem {
public static void main(String[] args) {
var key = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"; var verifyCodeId = "d7ad7539-fb8f-4dbb-a7f7-7c40babec969"; var url = "https://api.lox24.eu/verify_codes/" + verifyCodeId;
var httpRequest = HttpRequest.newBuilder(URI.create(url)) .timeout(Duration.ofMillis(100000)) .setHeader("Accept", "application/json") .setHeader("X-LOX24-AUTH-TOKEN", key) .GET() .build();
var client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .build();
try { var httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
if (httpResponse.statusCode() == HttpURLConnection.HTTP_OK) { System.out.println("Success:" + httpResponse.statusCode() + " " + "verify code resource response"); System.out.println("Response text : \n" + httpResponse.body()); } else { switch (httpResponse.statusCode()) { case HttpURLConnection.HTTP_UNAUTHORIZED: System.out.println("Error:401 Client ID or API key isn't active or invalid!"); break; case HttpURLConnection.HTTP_FORBIDDEN: System.out.println("Error:403 Account isn't activated."); break; case HttpURLConnection.HTTP_NOT_FOUND: System.out.println("Error:404 Resource not found"); break; case HttpURLConnection.HTTP_INTERNAL_ERROR: case HttpURLConnection.HTTP_BAD_GATEWAY: case HttpURLConnection.HTTP_UNAVAILABLE: case HttpURLConnection.HTTP_GATEWAY_TIMEOUT: System.out.println("System error! Please contact to LOX24 support!"); break; default: System.out.println("Error: wrong response code " + httpResponse.statusCode()); } } } catch (IOException | InterruptedException e) { e.printStackTrace(); } }}/* * Get verify code by ID */const token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx";const verifyCodeId = "d7ad7539-fb8f-4dbb-a7f7-7c40babec969";
const https = require('https');const options = { hostname: 'api.lox24.eu', path: `/verify_codes/${verifyCodeId}`, method: 'GET', headers: { 'Accept': 'application/json', 'X-LOX24-AUTH-TOKEN': token }}
const req = https.request(options, res => { if (res.statusCode == 200) { console.log("Success: code = 200 - verify code resource response"); res.on('data', d => { process.stdout.write(d) }) } else if (res.statusCode == 401) console.log("Error: code = 401 - Client ID or API key isn't active or invalid!"); else if (res.statusCode == 403) console.log("Error: code = 403 - Account isn't activated."); else if (res.statusCode == 404) console.log("Error: code = 404 - Resource not found");})
req.on('error', error => { console.error(error)})req.end();<?php
$verifyCodeId = 'd7ad7539-fb8f-4dbb-a7f7-7c40babec969';$uri = "https://api.lox24.eu/verify_codes/{$verifyCodeId}";
$token = '1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx';
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_URL => $uri, CURLOPT_HTTPHEADER => [ "X-LOX24-AUTH-TOKEN: {$token}", 'Accept: application/json', ], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 20, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,]);
$response = curl_exec($curl);$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);curl_close($curl);
$data = json_decode($response, JSON_OBJECT_AS_ARRAY);
if(200 === $code) { echo 'Success: response data = ' . var_export($data, true);} else { echo "Error: code = {$code}, data = " . var_export($data, true);}import jsonimport requests
token = "1234567:e3f3a759b6677959b6ebfcxxxxxxxxxx"verify_code_id = "d7ad7539-fb8f-4dbb-a7f7-7c40babec969"
url = f'https://api.lox24.eu/verify_codes/{verify_code_id}'
headers = { 'Accept': 'application/json', 'X-LOX24-AUTH-TOKEN': token,}
try: res = requests.get(url, headers=headers, timeout=100) if res.status_code != 200: res.raise_for_status() else: print(f'Success: code = {res.status_code} - verify code resource response') print("Response: ", json.dumps(res.json(), indent=4))
except requests.HTTPError: if res.status_code == 401: print("Error: code = 401 - Client ID or API key isn't active or invalid!") elif res.status_code == 403: print("Error: code = 403 - Account isn't activated.") elif res.status_code == 404: print("Error:404 Resource not found") elif res.status_code in (500, 502, 503, 504): print("System error! Please contact to LOX24 support!") else: print(f"Error: code {res.status_code}") print(json.dumps(res.json(), indent=4))