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]
- 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>
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.
- Exemplo de Response 200 OK:
<syntaxhighlight lang="json"> {
"ageCheck": "true", "verifiedStatus": true, "identityMatchScore": 90, "contentLock": "false", "parentalControl": "true"
} </syntaxhighlight>
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.
Know Your Costumer - Fill In
(Updated initial CAMARA APIs)
Descrição da API
A API “Know Your Customer Fill In” é usada para solicitar e receber informações que foram verificadas pela Operadora de Rede Móvel (MNO) do usuário final em seus registros KYC.
As informações podem incluir número de telefone, nome, código postal, endereço, data de nascimento, endereço de e-mail etc.
Casos de uso
- Finalização de compra com um clique (e-commerce), preenchimento automático de formulário para informações do usuário, por exemplo, número de telefone celular, data de nascimento, endereço, no registro (vários setores).
- Identificação do usuário para call center (a confirmar).
- Confirme o número de celular do destinatário para enviar produtos eletrônicos e presentes eletrônicos, como códigos de presente por SMS Verifique a idade do usuário com informações de data de nascimento, por exemplo, venda de álcool e tabaco.
- Criação de conta: Verificação das informações do usuário durante o processo de registro para garantir a autenticidade de novas contas.
- Serviços governamentais: Verificação de informações do cidadão para acesso a serviços e benefícios governamentais.
Funcionalidade da API
Esta API permite que clientes da API solicitem ao provedor da API/MNO informações relacionadas a um usuário de celular, derivadas dos dados da conta vinculados ao seu número de telefone. A API destina-se a ser usada nos seguintes cenários, por exemplo:
- Para preencher os dados pessoais do usuário durante o registro digital de uma conta em um serviço de terceiros.
A API define um endpoint de serviço:
POST /fill-in
Fornece informações armazenadas relacionadas à identidade do cliente e os dados da conta vinculados ao número de telefone do cliente.
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).
- Exemplo de Request body:
<syntaxhighlight lang="json"> {
"phoneNumber": "+34629255833"
}
</syntaxhighlight>
Saídas
Se bem-sucedido, um objeto JSON será retornado contendo os seguintes dados:
- Exemplo de Response 200 OK:
<syntaxhighlight lang="json"> {
"phoneNumber": "+34629255833", "idDocument": "66666666q", "name": "Federica Sanchez Arjona", "givenName": "Federica", "familyName": "Sanchez Arjona", "nameKanaHankaku": "federica", "nameKanaZenkaku": "Federica", "middleNames": "Sanchez", "familyNameAtBirth": "YYYY", "address": "Tokyo-to Chiyoda-ku Iidabashi 3-10-10", "streetName": "Nicolas Salmeron", "streetNumber": 4, "postalCode": 1028460, "region": "Tokyo", "locality": "ZZZZ", "country": "JP", "houseNumberExtension": 36, "birthdate": "1978-08-22", "email": "abc@example.com", "gender": "male"
}
</syntaxhighlight>
Know Your Costumer - Match
(Updated initial CAMARA APIs)
Know Your Costumer - Tenure
(New Initial CAMARA APIs)