Elo Valida Dados

A Elo Valida Dados permite fazer uma avaliação do risco de fraude baseado no comportamento de consumo e transações do portador de cartão através do seu CPF. Isso é útil para análises de usuários no processo de abertura de contas e de compras, visando diminuir ao máximo as chances de uma compra ou uma abertura fraudulenta.

Feito para:  AdquirentesEmissores

Como funciona

Primeiros passos

  1. Leia Introdução ao GraphQL, com exemplos reais da nossa API.

  2. Crie um usuário no portal do desenvolvedor.

  3. Cadastre sua primeira aplicação.

  4. Utilize o dashboard para acessar suas configurações de acesso.

  5. Para explorar rapidamente as APIs aqui na página de documentação, use o console de GraphQL, na seção de referências. Nele, você pode ver as consultas de exemplo, executá-las e alterá-las.

Primeiros passos na plataforma de Desenvolvedores Elo

Jaydson GomesDesenvolvedor Evangelista

Para efetuar consultas de avaliação de risco de fraude através de um cpf, é necessário ter um usuário cadastrado na plataforma de APIs e estar registrado como Card Issuer ou Acquirer.

Em todas as chamadas descritas é necessário informar o client_id do aplicativo e o access_token obtido no login da plataforma de APIs da Elo no header da requisição.

O recurso Profile Score é uma consulta que retorna um score (pontuação) e digitalLevel (nível digital) de um CPF baseada no consumo de pedidos e no comportamento de compras online. O Objeto score retornará alguns campos, melhores descritos nas seções abaixo, com uma numeração entre 0 e 1000. Quanto maior a pontuação do score retornado, melhor a reputação do CPF informado e menor a chance de fraude que ele possui em transações online.

Para a consulta de um score, deve ser informado apenas o CPF para que a análise possa ser realizada com sucesso. Nesta consulta é utilizada a query verifyProfileScore.

query {
    verifyProfileScore(cpf: "12345678901"){
        digitalLevel
        score {
            value
            spendingIndex
            digitalVarietyRisk
            digitalBehaviourRisk
            profileRisk
            statusRisk
            postalRisk
            rapportRisk
        }
    }
}


Resposta


O booleano digitalLevel retorna true caso as informações de risco do CPF tenham sido calculadas baseadas em comportamentos de compras online usando o cartão.

O objeto score irá retornar valores referentes ao score do cliente. Com exceção de spendingIndex, todos serão retornados como valores Int entre 0 e 1000. Eles são:

  • value: Score geral de risco. Quanto maior, melhor é a reputação;

  • spendingIndex: Diferente dos demais, esse não retornará valor do tipo Int. Em vez disso, retornará um indicador do tipo String que pode variar de "A" até "H", sendo "A" o de maior capacidade de consumo e "H" o de menor;

  • digitalVarietyRisk: Risco relacionado a variação de compras, seja em produtos ou segmentos, do cliente em transações de cartão não presente, como compras online;

  • digitalBehaviourRisk: Risco relacionado ao comportamento de compras de cartão não presente;

  • profileRisk: Score de risco relacionado ao perfil do CPF informado;

  • statusRisk: Score de risco relacionado ao status do CPF informado;

  • postalRisk: Score de risco relacionado a informações postais do CPF informado;

  • rapportRisk: Score de risco de relacionamento do CPF informado;

O recurso Data Score é uma análise de um score baseado no cruzamento das informações de CPF, Telefone, E-mail, CEP e Dispositivo. Com essas informações será retornada uma resposta elaborada contendo o risco de fraude. O score sempre retornará um número entre 0 e 100 e, quanto maior a pontuação do score, maior a chance de fraude das informações em transações online.

Para a consulta de um score baseado no cruzamento de informações é necessário utilizar a mutation verifyDataScore, que retornará um score.

Como inputs da mutation, o objeto legalId e o campo transactionType são obrigatórios, os demais campos são opcionais. O campo transactionType possui dois tipos que são PRESENCIAL e ONLINE. Caso for informado ONLINE, será necessário informar o campo deviceId.

mutation {
  verifyDataScore(input: {
    legalId: {
      cpf: "12345678901"
    }
    transactionType: PRESENCIAL
    contact: {
      areaCode: "11"
      phone: "926468112"
    }
    address: {
      zip: "13086510",
      place: "Rua Doutor Ricardo Benetton Martins",
      number: 1,
      complement: "Prédio 3, Piso 1",
      district: "Barão Geraldo",
      city: "Campinas",
      state: "São Paulo",
      country: "Brasil",
      physicalDelivery: false
    }
    email: "teste@email.com.br"
    deviceId: "SessionID" # Não é necessário se o transactionType é PRESENCIAL
  })
  {
    score,
    reason,
    ratings {
      value,
      date,
      reason,
      relatedTo,
      timeline{
        value,
        reason,
        date
      }
    },
    insights{
      code,
      description,
      type,
      category,
      relevance,
      relatedTo
  }
  }
}


Resposta


O objeto score irá retornar valores referentes ao score de risco. Esse valor, diferente da mutation de verifyProfileScore, esse campo score vai de 0 a 100.

  • value: Score de risco do CPF online. Quanto menor, melhor a reputação;

  • reason: Razão da mudança do último score;

  • ratings: Valor contendo a mudança de interação no score do usuário, contendo o valor do rating, motivo, a data, dado relacionado a mudança e um histórico de outras mudanças que ocorreram;

  • insights: valores relacionados ao CPF fornecido, contendo o código de geração do insight, a descrição detalhada dos dados do insight, o tipo do insight relacionado a descrição, a categoria do insight, a relevância do insight alertando o usuário e por fim a que ele está relacionado;




Argumentos:

cpf: String obrigatório

Número do Cadastro de Pessoa Fisica do cliente sem hifen e ponto.






Mutation responsável por realizar a verificação do score do cliente conforme informações enviadas para Clear Sale.

Argumentos:

input: VerifyDataScoreInput obrigatório






Campos:

cpf

:

String obrigatório

Número do CPF (dígitos) sem hífen ou pontos.



Campos:

areaCode

:

String

Código de área do telefone do cliente


phone

:

String

Número do telefone do cliente



Campos:

zip

:

String

Código postal.


place

:

String

Nome da via, compondo as informações do endereço.


number

:

Int

Número da construção


complement

:

String

Complemento opcional, como número de apartamento.


district

:

String

Distrito


city

:

String

Nome da cidade em UTF-8


state

:

String

Nome do estado por completo. Exemplo: SP, RJ ...


country

:

String

Nome do país Exemplos: Brasil, Chile...


physicalDelivery

:

Boolean

Indicador para entrega física do pedido.



Campos:

legalId

:

LegalIdsPersonInput obrigatório

Número do Cadastro de Pessoa Fisica do cliente sem hifen e ponto.


contact

:

ContactPersonInput

Informação do contato telefonico do cliente


address

:

AddressScoreInput

Endereço do cliente o qual está sendo consultado o score.


email

:

String

Email do cliente. Exemplo: joao.silva@email.com.


deviceId

:

String

Identificador único do device.


transactionType

:

TransactionScoreType obrigatório

Indica o tipo da transação. Caso for informado o typeTransaction = ONLINE , será preciso informar o deviceId

  • 1- PRESENCIAL

  • 2- ONLINE






Campos:

value

:

Int

Score de risco - Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


spendingIndex

:

String

Esse indicador pode vaariar de "A" até "H", sendo "A" o de maior capacidade e o "H" de menor capacidade de consumo


digitalVarietyRisk

:

Int

Relacionado a variação (produtos, segmentos) de compras do cliente em transações de cartão não presente (compras online) Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


digitalBehaviourRisk

:

Int

Risco relacionado ao comportamento de compras de cartão não presente Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


profileRisk

:

Int

Score de risco relacionado ao perfil do CPF informado Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


statusRisk

:

Int

Score de risco relacionado ao status do CPF informado Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


postalRisk

:

Int

Score de risco relacionado a informações postais do CPF informado Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).


rapportRisk

:

Int

Score de risco de relacionamento do CPF informado Nota que vai de 0 a 1000 (quanto maior o score, melhor é a reputação).



Dados de validação de score do cliente.

Campos:

digitalLevel

:

Boolean

Se as informações de risco do CPF foram calculadas baseado em comportamentos de compras de cartão não presente (compras online).


score

:

ScoreClientRisk

Valores referente ao Score do cliente retornado pela Clear Sale.



Campos:

value

:

String

Valor do rating da relação de dados enviados.


reason

:

String

Motivo do rating.


date

:

DateTime

Data do rating


relatedTo

:

list de String

Dados referentes ao insight


timeline

:

list de DataScoreTimeline

Lista com todos os ratings antigos.



Campos:

code

:

String

Código do Insight


description

:

String

Descrição


type

:

String

Tipo


category

:

String

Categoria


relevance

:

String

Relevância


relatedTo

:

list de String

Dados referentes ao insight



Retorno da mutation VerifyDataScorePayload()

Campos:

score

:

String

Score de risco - Nota que vai de 0 a 100 (quanto menor a nota, melhor a reputação)


reason

:

String

Motivo do Score


ratings

:

Ratings da relação de dados enviados


insights

:

Insights






Valores possíveis:


PRESENCIAL

Informação de transação realizada presencialmente.


ONLINE

Informação te transação realizado por meio de algum meio online.