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."
    }
}