| Linha 82: | Linha 82: | ||
<br> | <br> | ||
: | : | ||
*Exemplo de '''Response 200 OK'': | *Exemplo de '''Response 200 OK''': | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
Edição das 20h28min de 25 de agosto de 2025
As APIs Know Your Customer possibilita validar informações de usuários com dados de MNO (Operadora de Rede Móvel), garantindo conformidade e prevenindo fraudes de identidade.
Know Your Costumer - Age Verification
(New Initial CAMARA APIs)
Descrição da API
Com a ampla disponibilidade do acesso à internet, a sociedade colheu benefícios significativos, mas também enfrenta riscos, especialmente para grupos vulneráveis, como crianças. Esses riscos incluem a exposição a conteúdo nocivo, como pornografia, violência e fóruns online prejudiciais. Proteger menores online é uma responsabilidade coletiva, que envolve não apenas os provedores de serviços, mas todos os atores da cadeia de valor da internet. Em resposta, governos e organizações estão trabalhando para aprimorar os mecanismos de controle de acesso com base na idade, com iniciativas como a Lei de Serviços Digitais da UE (DSA) e regulamentações nacionais como as propostas na Espanha para a verificação obrigatória da idade.
As operadoras de telecomunicações podem desempenhar um papel fundamental nesse sentido, oferecendo uma API para agilizar a verificação de idade em diferentes países. Como as operadoras já gerenciam dados verificados de usuários, como data de nascimento vinculada a números de celular, elas podem fornecer uma solução integrada e em conformidade com a privacidade para plataformas digitais. Esta API "Verificação de Idade do Cliente" pode ser aplicada em diversos cenários, incluindo serviços de streaming, plataformas de jogos, marketplaces online e sites de conteúdo adulto, garantindo a conformidade com as regulamentações e reduzindo o atrito na experiência do usuário.
Casos de uso
- Validação de idade durante o cadastro para adaptar os serviços oferecidos (bancos, sites de apostas, e-commerce);
- Acesso a sites com restrição de idade com verificação leve (redes sociais ou plataformas de e-commerce);
- Restrições de Idade para Anunciantes;
- Serviços de Telecomunicações (serviços como conteúdo de TV).
Funcionalidade da API
A API define um endpoint de serviço:
POST /verify
Recebe o identificador da assinatura da rede (por exemplo, o número de telefone celular de um assinante da rede móvel) e verifica se a idade do assinante é superior ao limite de idade na solicitação. Além disso, como função opcional, fornece
- (1) se a verificação da idade é feita com base em outra forma de identificação oficial ou não (verifiedStatus),
- (2) uma pontuação geral de quão certa é a resposta usando as informações fornecidas na solicitação e as informações que a operadora possui (identityMatchScore),
- (3) um indicador sobre se a assinatura possui algum tipo de bloqueio de conteúdo (contentLock) e
- (4) um indicador sobre se a assinatura possui algum tipo de controle parental ativado (parentalControl).
Entradas
O corpo da solicitação do endpoint é um objeto JSON com os seguintes parâmetros:
- phoneNumber: O identificador de assinatura da rede (ou seja, o número de telefone do assinante). [Obrigatório apenas caso um fluxo de duas etapas tenha sido acordado entre o Provedor da API e o Consumidor da API, seguindo as diretivas da CAMARA; caso contrário, o número de telefone não deve ser incluído]
- ageThreshold: O limite de idade a partir do qual a idade do usuário deve ser comparada. [Obrigatório]
- qualquer um dos idDocument, name, givenName, familyName, middleNames, familyNameAtBirth, birthdate, email; informações adicionais do assinante a serem verificadas para confirmar que o assinante é o proprietário do contrato [Opcional]
- includeContentLock e includeParentalControl: Essas duas sinalizações permitem que o Cliente da API indique que as propriedades de resposta correspondentes contentLock e parentalControl devem ser retornadas. Sua implementação é opcional para o Provedor da API, portanto, nesses casos, esses parâmetros serão ignorados. [Opcional]
Saídas
Se bem-sucedido, um objeto JSON será retornado contendo os seguintes dados:
- ageCheck: Indique 'true' quando a idade do usuário for igual ou superior ao limite de idade (idade >= limite de idade) e 'false' caso contrário (idade < limite de idade). Caso contrário, 'not_available'.
- verifiedStatus: verdadeiro se as informações fornecidas foram verificadas com outra forma de identificação oficial; caso contrário, falso.
- identityMatchScore: A pontuação geral das informações de identidade disponíveis no Operador, informações fornecidas no corpo da solicitação, comparando-as com as que o MNO possui, ou utilizando diretamente informações internas do MNO. É opcional para o Operador retornar a pontuação de correspondência de identidade.
- contentLock: Indica se a assinatura associada ao número de telefone tem algum tipo de bloqueio de conteúdo (ou seja, determinado conteúdo da web bloqueado).
- parentalControl: Indica se a assinatura associada ao número de telefone tem algum tipo de controle parental ativado.
Erros
- Se o token de acesso de autenticação não for válido, um 401 UNAUTHENTICATEDerro será retornado
- Se a chamada da API contiver um erro de formatação ou qualquer outro erro sintático, um 400 INVALID_ARGUMENTerro será retornado.
- Se a assinatura da rede não puder ser identificada a partir dos parâmetros fornecidos (por exemplo, o identificador da assinatura não estiver associado a nenhum cliente do CSP), um 404 IDENTIFIER_NOT_FOUND erro será retornado.
- Se o consumidor da API tiver um token de acesso válido que não tenha o escopo necessário para obter informações de verificação de idade para a assinatura de rede especificada, um 403 PERMISSION_DENIED erro será retornado.
- Outros erros podem ser retornados conforme especificado abaixo.
- Exemplo de Request body:
<syntaxhighlight lang="json"> {
"ageThreshold": 18, "phoneNumber": "+34629255833", "idDocument": "66666666q", "name": "Federica Sanchez Arjona", "givenName": "Federica", "familyName": "Sanchez Arjona", "middleNames": "Sanchez", "familyNameAtBirth": "YYYY", "birthdate": "1978-08-22", "email": "federicaSanchez.Arjona@example.com", "includeContentLock": true, "includeParentalControl": true
} </syntaxhighlight>
- Exemplo de Response 200 OK:
<syntaxhighlight lang="json"> {
"ageCheck": "true", "verifiedStatus": true, "identityMatchScore": 90, "contentLock": "false", "parentalControl": "true"
} </syntaxhighlight>
Know Your Costumer - Fill In
(Updated initial CAMARA APIs)
Know Your Costumer - Match
(Updated initial CAMARA APIs)
Know Your Costumer - Tenure
(New Initial CAMARA APIs)