Análise de Risco

Toda a operação de análise de risco é feito através da API REST disponibilizada pelo Authfy Risk, A operação é dividida em duas etapas, primeiro é realizado um POST enviando informações sobre a transação, dispositivo e usuário, caso seja necessário um duplo fator de autenticação a API irá retornar o código INCREASE, nesse caso se o usuário conseguir responder o desafio do segundo fator de autenticação é então enviado um PUT com o ID da transação reportando este sucesso, a partir dai o dispositivo e seu DNA estará vinculado ao usuário diminuindo o score de risco em transações posteriores.

Avaliação de Risco

Documentação da API: /apidocs/#/risk/post_evaluate__username_

  • Pré-requisitos:

    • Client criado e headers de client-id e access-key informados durante a requisição a API.
    • Nome de usuário criado e associado ao Client.
  • Parâmetros:

    • username:
      • Obrigatório: Sim
      • Tipo: String
      • Localização: Path da requisição
      • Descrição: O nome do usuário associado ao client que está tentando realizar a transação.
    • custom_attributes:
      • Obrigatório: Não
      • Tipo: JSON
      • Localização: Corpo da requisição
      • Descrição: Chave-valor dos itens adicionais a avaliação de risco, o mesmo serve para fazer a avaliação de triggers em determinado atributo e para identificar um tipo de transação.
    • ip_address:
      • Obrigatório: Não
      • Tipo: String
      • Localização: Corpo da requisição
      • Descrição: Endereço IP da requisição
    • host:
      • Obrigatório: Não
      • Tipo: String
      • Localização: Corpo da requisição
      • Descrição: Hostname presente no header http
    • fingerprint:
      • Obrigatório: Não
      • Tipo: JSON
      • Localização: Corpo da requisição
      • Descrição: DNA (Fingerprint) do dispositivo utilizado na transação, segue exemplo abaixo:
        "fingerprint": {
          "system":{
             "platform":"Android25",
             "id":"XXXXXX",
             "version":"7.1.1",
             "device_name":"j5xnlte",
             "model":"SM-J510MN",
             "host":"XXXXX",
             "id":"XXXXX",
             "cpu":"armeabi-v7a",
             "hardware":"qcom",
             "manufacturer":"samsung",
             "serial":"XXXXXXX",
             "radio":"XXXXXXX",
             "process_name":"com.intellimobile",
             "system_name":"Android OS",
             "rooted":false,
             "tz":"America/Sao_Paulo",
             "total_disk":"11217",
             "total_ram":1891,
             "cpus":4
          },
          "display":{
             "width":"720",
             "height":"1280"
          },
          "wireless":{
             "connected":true,
             "mac":"XXXXXXXXXX",
             "ip":"192.168.86.119",
             "netmask":"255.255.255.0",
             "gateway":"192.168.86.1",
             "broadcast":"192.168.86.255",
          },
          "sim":{
             "imei":"XXXXXXX",
             "carrier":"Claro BR",
             "country_code":"br",
             "roaming":false,
             "serial":"XXXXXXXX",
          }
        }
        
  • Exemplos:

    • Curl:
        curl -X POST \
        -H 'content-type: application/json' \
        -H 'api-key: $API_KEY' \
        -H 'access-key: $ACCESS_KEY' \
        "https://authfy-risk.example/api/evaluate/$USERNAME" \
        -d '{ 
              "ip_address":"10.0.0.1",
              "custom_attributes": {"ted": 3000, "ted_transaction": 1},
              "fingerprint": {
                "system":{
                  "platform":"Android25",
                  "version":"7.1.1",
                  "device_name":"j5xnlte",
                  "model":"SM-J510MN",
                  "cpu":"armeabi-v7a",
                  "hardware":"qcom",
                  "manufacturer":"samsung",
                  "process_name":"com.intellimobile",
                  "system_name":"Android OS",
                  "rooted":false,
                  "tz":"America/Sao_Paulo",
                  "total_disk":"11217",
                  "total_ram":1891,
                  "cpus":4
               },
               "display":{
                  "width":"720",
                  "height":"1280"
               },
              }
            }'
      

Associação de Dispositivo ao Usuário

  • Pré-requisitos:
    • Client criado e headers de client-id e access-key informados durante a requisição a API.
    • Nome de usuário criado e associado ao Client.
    • Ter realizado uma avaliação de risco e recuperar o ID da transação na resposta
  • Parâmetros:

    • username:
      • Obrigatório: Sim
      • Tipo: String
      • Localização: Path da requisição
      • Descrição: O nome do usuário associado ao client que está tentando realizar a transação.
    • transaction_id:
      • Obrigatório: Sim
      • Tipo: String
      • Localização: Corpo da requisição.
      • Descrição: O ID da transação realizada previamente
    • associate:
      • Obrigatório: Sim
      • Tipo: Boolean
      • Localização: Corpo da requisição.
      • Descrição: Caso o duplo fator de autenticação tenha sido feito com sucesso, enviar como true.
  • Exemplos:

    • Curl:
        curl -X PUT \
        -H 'content-type: application/json' \
        -H 'api-key: $API_KEY' \
        -H 'access-key: $ACCESS_KEY' \
        "https://authfy-risk.example/api/evaluate/$USERNAME" \
        -d '{
            "transaction_id": "f9eb8fc1-8e21-445b-a384-653205ff21e9",
            "associate": true
          }'
      

results matching ""

    No results matching ""