Operador virtual para análises de identidade
O Operador Virtual fornece respostas de API predefinidas e determinísticas dentro do Área de Testes do Registro de Rede ao utilizar números de telefone associados a um código de país não atribuído +990. Ele pode ser utilizado como um operador simulado para a descoberta, o desenvolvimento e o teste de recursos de rede em cenários em que não há acesso a um operador real.
Para usar o Operador Virtual, basta selecionar “Playground” na configuração do seu aplicativo. Todas as chamadas de API direcionadas a números de telefone com o +990 O prefixo será redirecionado automaticamente para a Operadora Virtual.
Todas as chamadas de API feitas por meio do Operador Virtual exigem a implementação dos mesmos fluxos de autenticação que as realizadas por meio de uma operadora de celular comum.
O Operador Virtual está disponível por padrão para qualquer aplicação configurada para Recursos de Rede em um Parque infantil modo. Não é necessária nenhuma configuração adicional para usar o Operador Virtual.
Não é necessário adicionar números com o código +990 à sua lista de números permitidos. Basta fazer uma chamada de API para qualquer um dos recursos de rede compatíveis.
Respostas
Há 10 números de telefone disponíveis para testes com a Operadora Virtual: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488, e +990123499.
As respostas às solicitações feitas por meio desses números de telefone variam de acordo com o recurso que você estiver utilizando; essas respostas estão documentadas a seguir.
Troca de chip
Ao usar qualquer um desses números de telefone, você receberá a mesma resposta: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488
{
"latest_sim_swap_at": "2017-11-14T01:07:28Z", // 500 hours ago
"is_swapped": false, // true if period < 500 hours, false if period > 500 hours
"status": {
"code": "OK",
"message": "Success"
}
}
Como usar o número de telefone +990123499 retornará uma resposta indicando um número de telefone desconhecido:
{
"status": {
"code": "NOT_FOUND",
"message": "Unknown phone number."
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Correspondência de assinantes
As respostas correspondentes são retornadas de acordo com o número de telefone fornecido; a solicitação pode conter qualquer atributo compatível, desde que haja pelo menos um. No exemplo a seguir, o usuário solicitou given_name, family_name, e birthdate:
Número de telefone: +990123400
{
"given_name_match": "DATA_UNAVAILABLE",
"family_name_match": "DATA_UNAVAILABLE",
"birthdate_match": "DATA_UNAVAILABLE",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123411 ou +990123477
{
"given_name_match": "EXACT",
"family_name_match": "EXACT",
"birthdate_match": "EXACT",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123422
{
"given_name_match": "HIGH",
"family_name_match": "HIGH",
"birthdate_match": "NONE",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123433
{
"given_name_match": "PARTIAL",
"family_name_match": "PARTIAL",
"birthdate_match": "NONE",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123444
{
"given_name_match": "LOW",
"family_name_match": "LOW",
"birthdate_match": "NONE",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123455, +990123466 ou +990123488
{
"given_name_match": "NONE",
"family_name_match": "NONE",
"birthdate_match": "NONE",
"status": {
"code": "OK",
"message": "Success."
}
}
Número de telefone: +990123499
{
"status": {
"code": "NOT_FOUND",
"message": "Unknown phone number."
}
}
Alguma outra coisa +990 número
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Verificação de localização
As respostas são determinadas pelo número de telefone fornecido; todos os outros campos podem ser preenchidos com qualquer valor. Uma explicação sobre o significado de cada resultado da verificação pode ser encontrada no Especificação da API:
Número de telefone: +990123400
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123411
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "PARTIAL",
"match_rate": 50,
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123422
{
"is_verified": "UNKNOWN",
"status": {
"code": "OK",
"message": "The insight was processed successfully."
}
}
Número de telefone: +990123433
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "FALSE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123444
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123455
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "FALSE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123466
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123477
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "FALSE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123488
{
"latest_location_at": "2023-09-07T10:40:52Z",
"is_verified": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123499
{
"status": {
"code": "NOT_FOUND",
"message": "Unknown phone number."
}
}
Alguma outra coisa +990 número
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Formato
Ao usar qualquer um desses números de telefone, você receberá a mesma resposta: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488, +990123499
{
"country_code": "XX",
"country_name": "Virtual",
"country_prefix": "990",
"offline_location": "Virtual",
"time_zones": ["UTC"],
"number_international": "+990123411",
"number_national": "123411",
"is_valid_format": true,
"status": {
"code": "OK",
"message": "Success"
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Transportadora original
Ao usar qualquer um desses números de telefone, você receberá a mesma resposta: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488, +990123499
{
"name": "Virtual CSP",
"network_type": "MOBILE",
"country_code": "XX",
"network_code": "00101",
"status": {
"code": "OK",
"message": "Success"
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Operadora atual
Ao usar qualquer um desses números de telefone, você receberá a mesma resposta: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488, +990123499
{
"name": "Virtual CSP",
"network_type": "MOBILE",
"country_code": "XX",
"network_code": "00101",
"status": {
"code": "OK",
"message": "Success"
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Acessibilidade
As respostas são determinadas pelo número de telefone fornecido; todos os outros campos podem ser preenchidos com qualquer valor. Uma explicação sobre o significado de cada resultado da verificação pode ser encontrada no Especificação da API.
Em todas as respostas, latest_status_at retornará a hora atual menos 2 minutos.
Números de telefone: +990123400, +990123444 e +990123488 todas as devoluções relacionadas a dados e SMS:
{
"reachability": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_reachable": true,
"connectivity": ["DATA","SMS"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Números de telefone: +990123411 ou +990123455 ambos retornam dados:
{
"reachability": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_reachable": true,
"connectivity": ["DATA"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Números de telefone: +990123422 ou +990123466 ambos respondem por SMS:
{
"reachability": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_reachable": true,
"connectivity": ["SMS"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Números de telefone: +990123433 ou +990123477 ambos retornam “não acessível”:
{
"reachability": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_reachable": false,
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123499 retorna “número de telefone não encontrado”:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight"
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Roaming
As respostas são determinadas pelo número de telefone fornecido; todos os outros campos podem ser preenchidos com qualquer valor. Uma explicação sobre o significado de cada resultado da verificação pode ser encontrada no Especificação da API.
Em todas as respostas, latest_status_at retornará a hora atual menos 2 minutos.
Número de telefone: +990123400 retornos is_roaming é verdadeiro, código do país "GB":
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"country_codes": ["GB"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123411 retornos is_roaming é verdadeiro, código do país "DE":
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"country_codes": ["DE"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123422 retornos is_roaming é verdadeiro, código do país "US":
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"country_codes": ["US"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123433 retornos is_roaming isso é verdade, com vários códigos de país:
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"country_codes": ["BL,GF,GP,MF,MQ"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123444 retornos is_roaming é verdadeiro, código do país "BR":
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"country_codes": ["BR"],
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123455 retornos is_roaming é verdade, mas sem o código do país:
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123466 retornos is_roaming isso é verdade, mas não foi possível identificar nenhum código de país:
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": true,
"status": {
"code": "OK",
"message": "Success"
}
}
}
Números de telefone: +990123477 e +990123488 ambos retornam is_roaming como falso:
{
"roaming": {
"latest_status_at":"2024-02-20T10:41:38.657Z", // 120 seconds ago
"is_roaming": false,
"status": {
"code": "OK",
"message": "Success"
}
}
}
Número de telefone: +990123499 retorna “número de telefone não encontrado”:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight"
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Troca de dispositivo
Ao usar qualquer um desses números de telefone, você receberá a mesma resposta: +990123400, +990123411, +990123422, +990123433, +990123444, +990123455, +990123466, +990123477, +990123488
{
"latest_device_swap_at": "2017-11-14T01:07:28Z", // 500 hours ago
"is_swapped": true, // false if period < 500 hours, true if period >= 500 hours
"status": {
"code": "OK",
"message": "Success"
}
}
Como usar o número de telefone +990123499 retornará uma resposta indicando um número de telefone desconhecido:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight."
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Tempo de assinatura
O uso de diferentes números de telefone virtuais resultará em respostas diferentes, conforme demonstrado a seguir.
Números de telefone: +990123400, +990123411, +990123422
{
"is_tenure_met": true, // false if date is >180 days ago
"contract_type": "PREPAID",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123433, +990123444, +990123455
{
"is_tenure_met": true, // false if date is >180 days ago
"contract_type": "POSTPAID",
"status": {
"code": "OK",
"message": "Success"
}
}
Telefones: +990123466, +990123477
{
"is_tenure_met": true, // false if date is >180 days ago
"contract_type": "BUSINESS",
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123488
{
"is_tenure_met": true, // or false based on L3
"status": {
"code": "SUCCESS",
"message": "Unable to retrieve data for some fields"
}
}
Como usar o número de telefone +990123499 retornará uma resposta indicando um número de telefone desconhecido:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight."
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Verificação de idade
Nesse aspecto, as respostas variam de acordo com o número de telefone utilizado.
Números de telefone: +990123400, +990123411
{
"is_age_threshold_met": "TRUE", // age=12
"is_verified": true,
"identity_match_score": 100,
"content_lock": "TRUE",
"parental_control": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123422, +990123433
{
"is_age_threshold_met": "TRUE", // age=23
"is_verified": true,
"identity_match_score": 70,
"content_lock": "FALSE",
"parental_control": "FALSE",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123444, +990123455
{
"is_age_threshold_met": "TRUE", // age=37
"is_verified": false,
"identity_match_score": 50,
"content_lock": "TRUE",
"parental_control": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123466
{
"is_age_threshold_met": "TRUE", // age=15
"is_verified": false,
"identity_match_score": 30,
"content_lock": "TRUE",
"parental_control": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123477
{
"is_age_threshold_met": "DATA_UNAVAILABLE",
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123488
{
"is_age_threshold_met": "TRUE", // age=20
"is_verified": false,
"identity_match_score": 0,
"content_lock": "TRUE",
"parental_control": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
Como usar o número de telefone +990123499 retornará uma resposta indicando um número de telefone desconhecido:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight."
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}
Reciclagem de números
A resposta da operadora virtual variará de acordo com o número de telefone fornecido:
Números de telefone: +990123400, +990123411, +990123422
{
"is_number_recycled": true, // LAST_RECYCLED_DATE=TODAY - 1 day
"status": {
"code": "OK",
"message": "Success"
}
}
Números de telefone: +990123433, +990123444, +990123455
{
"is_number_recycled": true, // LAST_RECYCLED_DATE=TODAY - 7 days
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123466
{
"is_number_recycled": true, // LAST_RECYCLED_DATE=TODAY - 30 days
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123477
{
"is_number_recycled": true, // LAST_RECYCLED_DATE=TODAY - 90 days
"status": {
"code": "OK",
"message": "Success"
}
}
Número de telefone: +990123488
{
"is_number_recycled": true, // LAST_RECYCLED_DATE=TODAY - 180 days
"status": {
"code": "OK",
"message": "Success"
}
}
Como usar o número de telefone +990123499 retornará uma resposta indicando um número de telefone desconhecido:
{
"status": {
"code": "NOT_FOUND",
"message": "The phone number could not be found for this Insight."
}
}
Usando qualquer outro +990 O número retornará um erro:
{
"status": {
"code": "INVALID_NUMBER_FORMAT",
"message": "Invalid number. Only the following Virtual Operator numbers are allowed: 990123400, 990123411, 990123422, 990123433, 990123444, 990123455, 990123466, 990123477, 990123488, 990123499."
}
}