Verificação de localização [Pré-visualização para desenvolvedores]
O recurso de Verify Localização permite verificar a localização de um dispositivo de usuário final dentro de uma área especificada. Ele utiliza técnicas de posicionamento por rede celular para localizar o dispositivo, oferecendo várias vantagens em relação ao posicionamento por GPS, incluindo:
- Seguro e confiável: O posicionamento por rede celular utiliza informações provenientes diretamente das redes das operadoras de telefonia móvel, eliminando o risco de falsificação de dados do GPS e de contornamento por meio de VPN.
- Integração simplificada: O Identity Insights pode ser facilmente integrado às suas applications, reduzindo a complexidade e o esforço no desenvolvimento de software.
Alguns casos de uso na prevenção de fraudes em que a verificação de localização é útil:
- Verificação de usuários no comércio eletrônico: As plataformas de comércio eletrônico e de conteúdo enfrentam desafios decorrentes do fato de os usuários consumirem serviços, conteúdos e licenças fora da região para a qual foram licenciados. O recurso de verificação de localização permite que essas plataformas verifiquem se a localização de um usuário final está dentro da região autorizada para o serviço, conteúdo ou licença.
- Verificação no ponto de venda: Quando um usuário está realizando uma compra em uma loja usando seu cartão de crédito ou débito, às vezes a instituição financeira deseja verificar se a transação é fraudulenta. A verificação de localização pode ser utilizada com o número de telefone inserido no aplicativo bancário para consultar o local onde a transação foi iniciada, a fim de confirmar se o usuário está nesse local.
- Conteúdo baseado em localização: Verifique a localização de um usuário durante eventos esportivos ou shows para enriquecer sua experiência com conteúdo personalizado, como replays de gols, ângulos diferentes, informações úteis e muito mais.
Observação: o uso dessa informação em ambiente de produção requer a aprovação das operadoras de telefonia móvel, que é gerenciada por meio do “Registro de Rede”. Para saber como solicitar acesso, siga este guia.
Pré-requisitos
Para usar o Identity Insights, você deve verificar se sua conta está configurada corretamente; consulte o Introdução guia para obter mais informações sobre:
- Criando seu account,
- Criação de uma aplicação da Vonage para uso com a API do Identity Insights,
- Os diferentes ambientes disponíveis e como configurar sua Account para utilizá-los,
- E como usar a interface de usuário “Introdução” do Painel de Controle para utilizar a API sem precisar escrever nenhum código.
Este guia explicará como utilizar o programa Location Verification Insight de forma programática, usando o cURL.
A API do Identity Insights está disponível por meio de vários endpoints regionais. Os exemplos deste guia utilizam o endpoint da UE, mas você pode encontrar a lista completa em Detalhes técnicos.
Fazendo uma chamada de API
A autenticação na API do Identity Insights é feita por meio de JWTs, um token JSON compacto e autônomo. Para gerar um JWT, você pode usar nosso gerador online, ou, se preferir, use o CLI da Vonage. Você precisará do ID do seu aplicativo e da chave privada para gerar o JWT. Assim que tiver o JWT, poderá enviar uma solicitação à API.
Este exemplo mostra uma solicitação cURL para o recurso “Verificação de localização”, a fim de verificar se a localização de um determinado dispositivo do usuário está dentro da área especificada:
curl -X POST https://api-eu.vonage.com/identity-insights/v1/requests \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "14040000000",
"purpose": "FraudPreventionAndDetection",
"insights": {
"location_verification": {
"location": {
"type": "CIRCLE",
"radius": 3000,
"center": {
"latitude": -90,
"longitude": -180
}
}
}
}
}'
A API comparará, então, a área fornecida como entrada para aquele usuário específico de celular com a localização disponível nos sistemas da própria operadora do usuário e retornará uma confirmação caso haja correspondência:
{
"request_id": "c2cc7a65-9b10-493f-9c0a-1c86751a91c4",
"insights": {
"location_verification": {
"is_verified": "TRUE",
"latest_location_at": "2024-07-08T09:30:27.504Z",
"match_rate": 1,
"status": {
"code": "OK",
"message": "Success"
}
}
}
}
Aqui, o status O objeto indica o status das informações retornadas para o número de telefone especificado:
| Campo | Descrição |
|---|---|
status.code |
Código que indica o status da solicitação. Deve ser um dos seguintes: NO_COVERAGE: O país ou a rede de celular não é compatível com os fornecedores disponíveis. INVALID_PURPOSE: A finalidade indicada não é válida nem permitida para este Insight. UNAUTHORIZED: Não foi possível autorizar a solicitação para essa combinação de aplicativo, fornecedor e número de telefone. INTERNAL_ERROR: Ocorreu um erro interno durante o processamento da solicitação. SUPPLIER_ERROR: O fornecedor apresentou um erro durante o processamento da solicitação. NOT_FOUND: Não foi possível encontrar o número de telefone para este Insight. UNSUPPORTED_NETWORK_TYPE: Esse tipo de rede não é compatível com este Insight. INVALID_NUMBER_FORMAT: O formato do número de telefone não é válido para atribuição pelas operadoras aos usuários. OK: A informação foi processada com sucesso. |
status.message |
Descrição mais detalhada do status. |
Se status.code na resposta está OK, você também poderá ver os campos descritos na tabela abaixo. Se um campo estiver marcado como “Sim” na coluna “Obrigatório”, ele sempre será retornado quando o status for OK. Se um campo estiver marcado como “Não”, ele poderá ou não ser retornado.
| Campo | Descrição | Obrigatório |
|---|---|---|
is_verified |
Resultado de uma solicitação de verificação: TRUE: quando a rede localiza o dispositivo dentro da área solicitada. FALSE: quando a área solicitada não corresponde à área em que a rede localiza o dispositivo. UNKNOWN: quando a rede não consegue localizar o dispositivo. PARTIAL: quando a área solicitada coincide parcialmente com a área em que a rede localiza o dispositivo. A match_rate poderia ser incluído na resposta. |
Sim |
latest_location_at |
Data e hora em UTC ISO 8601 da última localização. | Sim |
match_rate |
Estimativa da taxa de correspondência entre a área indicada na solicitação (R) e a área em que a rede localiza o dispositivo (N), calculada como o valor percentual da interseção entre ambas as áreas dividido pela área da rede, ou seja, (R ∩ N) / N * 100. Incluído apenas se for Verify é PARTIAL. |
Não |
Leitura complementar
- Saiba mais sobre a API do Identity Insights no Referência da API.
- Se tiver alguma dúvida, entre em contato conosco pelo Slack da Comunidade Vonage.