Ícone Procob Data Match

Ícone Procob Contratar

Data Match é uma solução para e-commerce realizando o estágio de informações da loja virtual no momento da compra e obtenção de respostas precisas usadas nossa inteligência.

O que é? Solução para o e-commerce que realiza o cruzamento de informações da loja virtual no momento da compra obtendo respostas precisas utilizando a inteligência Procob
A quem se destina? Solução para o e-commerce que realiza o segredo de informações da loja virtual no momento da compra obtendo as respostas precisas da utilização da tecnologia Procob.
Formas de acesso Consulta Online (usuáio/senha);
Via API https://api.procob.com/
Traz quais informações? Cartão de crédito com cadastro na Loja Virtual

Parâmetros

  • =
  • Filtros

  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • =
  • Pelo menos um campo deve ser preenchido!

    Resposta Linha Padrão

    URL Requisitada:

    Parâmetros

    Nome Tipo Formato Descrição Obrigatório?
    nome string \w+ Nome da pessoa igual ao escrito no cartão de crédito ou o CPFCNPJ do portador do cartão. SIM

    Filtros

    Parâmetro Tipo Formato Descrição Obrigatório?
    cpfcnpj string (^\d{11}$|\d{14}) CPF ou CNPJ do cadastro no e-commerce. NAO
    ddd string ^\d{2}$ DDD cadastrado no e-commerce. NAO
    fone string ^\d{9}$ Telefone cadastrado no e-commerce. NAO
    cep string ^\d{8}$ CEP cadastrado no e-commerce. NAO
    numero string \d+ Número do endereço cadastrado no e-commerce. NAO
    email string ^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$ E-mail cadastrado no e-commerce. NAO
    buscaSeEmailGratuito string (SIM|NAO) Busca se E-mail informado é gratuito. Se não informado é considerado como NAO NAO
    dataNascimento string ^(\w{4})-(\w{2})-(\w{2})$ Data de nascimento cadastrada no e-commerce. NAO
    buscaIndiceRelacionamentoMercado string (SIM|NAO) Busca índice de Relacionamento com o Mercado. Se não informado é considerado como NAO NAO
    buscaCpfCnpjCompleto string (SIM|NAO) Busca Consulta CPF CNPJ Completo. Se não informado é considerado como NAO NAO
    numeroCartao string ^\d{16}$ Busca nomes vinculados ao cartão caso seja informado os 16 dígitos do cartão (000000XXXXXX0000) NAO
    ocultarNoMatches string (SIM|NAO) Flag para ocultar exibição do bloco No Matches. Se não informado á considerado como NAO NAO
    dataHoraTransacao string \w+ Data e hora da transação NAO
    ipTransacao string ^[\d]{1,3}.[\d]{1,3}.[\d]{1,3}.[\d]{1,3}$ IP da transação NAO
    buscaSeIpProxy string (SIM|NAO) Mostra se ip é um Proxy. Se não informado é considerado como NAO NAO
    buscaScoreRiscoIp string (SIM|NAO) Mostra score de risco do ip informado. Se não informado é considerado como NAO NAO
    idTransacao string \w+ ID da transação NAO

    Ícone Procob Autenticação

    Todas as chamadas a API devem ser autenticadas, o formato escolhido é a autenticação basic através do header Basic Authorization. Nesse header é enviado o email concatenado por dois pontos (:) mais a senha, tudo junto sem espaços. Esse conteúdo é convertido para uma chave usando algoritmos de base 64, ficando como o exemplo abaixo:

    Authorization: Basic UUAN5678e9WsdDdsSaD54854=

    É possível gerar o valor a ser enviado no cabeçalho através do comando unix abaixo:

    echo -n conta:Senha | base64

    É possível fazer esse procedimento através do site base64Encode gratuitamente.

    Para realizar os testes aqui no Sandbox basta preencher o usuário e senha no formulário no topo superior direito da página.

    Ícone Procob Request

    Separamos alguns exemplos de requisição em diversas linguagens de programação que retorna somente se a comunicação foi bem sucedida.

    var client = new RestClient("https://api.procob.com/consultas/teste");
    var request = new RestRequest(Method.GET);
    request.AddHeader("authorization", "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp");
    IRestResponse response = client.Execute(request);
    
    package main
    
    	import (
    		"fmt"
    		"net/http"
    		"io/ioutil"
    	)
    
    	func main() {
    
    		url := "https://api.procob.com/consultas/teste"
    
    		req, _ := http.NewRequest("GET", url, nil)
    
    		req.Header.Add("authorization", "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp")
    
    		res, _ := http.DefaultClient.Do(req)
    
    		defer res.Body.Close()
    		body, _ := ioutil.ReadAll(res.Body)
    
    		fmt.Println(res)
    		fmt.Println(string(body))
    
    	}
    
    package javaapplication1;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    /**
     *
     * @author anderson
     */
    public class JavaApplication1 {
    
        public static final String HOST = "https://api.procob.com";
        
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws MalformedURLException, IOException {
            
            String path = "/consultas/teste";
            
            URL obj = new URL(HOST + path);
            
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            
            con.setRequestMethod("GET");
            con.setRequestProperty("Authorization", "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp");
            
            BufferedReader in = new BufferedReader(
    		        new InputStreamReader(con.getInputStream()));
    		String inputLine;
    		StringBuilder response = new StringBuilder();
    
    		while ((inputLine = in.readLine()) != null) {
    			response.append(inputLine);
    		}
    		in.close();
    
    		System.out.println(response.toString());
        }
    }
    
    var http = require("https");
    
    var options = {
      "method": "GET",
      "hostname": "api.procob.com",
      "port": 443,
      "path": "/consultas/teste",
      "headers": {
        "authorization": "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp",
      }
    };
    
    var req = http.request(options, function (res) {
      var chunks = [];
    
      res.on("data", function (chunk) {
        chunks.push(chunk);
      });
    
      res.on("end", function () {
        var body = Buffer.concat(chunks);
        console.log(body.toString());
      });
    });
    
    req.end();
    
    #import <Foundation/Foundation.h>
    
    NSDictionary *headers = @{ @"authorization": @"Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp"};
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.procob.com/consultas/teste"]
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:10.0];
    [request setHTTPMethod:@"GET"];
    [request setAllHTTPHeaderFields:headers];
    
    NSURLSession *session = [NSURLSession sharedSession];
    NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                                completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                    if (error) {
                                                        NSLog(@"%@", error);
                                                    } else {
                                                        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                        NSLog(@"%@", httpResponse);
                                                    }
                                                }];
    [dataTask resume];
    
    <?php
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.procob.com/consultas/teste",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_HTTPHEADER => array(
        "authorization: Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp"
      ),
    ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    
    import http.client
    
    conn = http.client.HTTPConnection("api.procob.com")
    
    headers = {
        'authorization': "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp"
        }
    
    conn.request("GET", "/consultas/teste", headers=headers)
    
    res = conn.getresponse()
    data = res.read()
    
    print(data.decode("utf-8"))
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.procob.com/consultas/teste")
    
    http = Net::HTTP.new(url.host, url.port)
    
    request = Net::HTTP::Get.new(url)
    request["authorization"] = 'Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp'
    
    response = http.request(request)
    puts response.read_body
    
    import Foundation
    
    let headers = [
      "authorization": "Basic c2FuZGJveEBwcm9jb2IuY29tOlRlc3RlQXBp"
    ]
    
    var request = NSMutableURLRequest(URL: NSURL(string: "https://api.procob.com/consultas/teste")!,
                                            cachePolicy: .UseProtocolCachePolicy,
                                        timeoutInterval: 10.0)
    request.HTTPMethod = "GET"
    request.allHTTPHeaderFields = headers
    
    let session = NSURLSession.sharedSession()
    let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
      if (error != nil) {
        println(error)
      } else {
        let httpResponse = response as? NSHTTPURLResponse
        println(httpResponse)
      }
    })
    
    dataTask.resume()
    

    Ícone Procob Retorno

    Caso o retorno seja de sucesso, você irá receber um JSON como o exibido abaixo:

    {
        "code": "000",
        "message": "Pesquisa feita com sucesso",
        "date": "2019-08-20",
        "hour": "13:29:07",
        "content": {
            "dados_cadastro_site": {
                "cpf_cnpj": "99999999999",
                "nome": "FULANO DECOL",
                "idade": "99",
                "data_nascimento": "9999-99-99",
                "obito": "",
                "sexo": "MASCULINO",
                "pessoa": "FISICA",
                "uf": "PR",
                "situacao_receita": "REGULAR",
                "data_situacao_receita": "9999-99-99 99:99:99",
                "relacionamento_com_mercado": "",
                "numero_cartao": "",
                "cpf_cnpj_completo": ""
            },
            "features": {
    
            },
            "matches": [
                {
                    "cpf_cnpj": "9999999999",
                    "nome": "FULANO DECOL",
                    "sexo": "MASCULINO",
                    "pessoa": "FISICA",
                    "nascimento": "9999-99-99",
                    "idade": "99",
                    "obito": "",
                    "cidade": "ARAUCÁRIA",
                    "uf": "PR",
                    "situacao_receita": "REGULAR",
                    "data_situacao_receita": "9999-99-99 99:99:99",
                    "tipos_match": [
                        {
                            "tipo": "mesma_pessoa",
                            "titulo": "Mesma pessoa",
                            "evidencia": "O documento informado na Loja (9999999999) é o mesmo do titular do Cartão.",
                            "natureza_match": "CL"
                        }
                    ],
                    "relacionamento_com_mercado": "",
                    "numero_cartao": "",
                    "cpf_cnpj_completo": ""
                }
            ],
            "busca_indice_relacionamento_mercado": "NAO",
            "nomes_vinculados_ao_cartao": [
    
            ],
            "cartoes_vinculados_ao_nome": [
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "9999"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "999"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "9999"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "99"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "999"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "9999"
                },
                {
                    "cartao_prefixo": "999999",
                    "cartao_sufixo": "9999"
                }
            ],
            "no_matches": [
    
            ]
        }
    }

    A resposta da API se da sempre em um bloco contendo o código da resposta, a mensagem, a data e hora da consulta e o conteúdo da consulta efetuada, caso ele exista.

    Segue abaixo a lista de retornos disponíveis:

    Código Mensagem
    000 Pesquisa feita com sucesso
    001 Nao encontramos registros para a pesquisa
    002 Seus creditos são inferiores ao valor da consulta
    003 Tipo de documento invalido para está consulta
    004 Sem informacoes disponiveis
    005 É necessario passar parametros via GET
    006 O fornecedor desta consulta se encontra em manutencao, favor tentar daqui alguns minutos
    007 Produto se encontra em manutencao, favor tentar daqui alguns minutos
    008 Usuário ou senha invalidos
    009 Operacao realizada com sucesso
    010 Usuario não cadastrado
    011 Usuario não cadastrado via rede social especificada
    012 Data de nascimento obrigatório para o documento informado
    900 Ocorreu um erro de execucao, favor contatar o suporte Procob
    999 Mensagem generica usada para diversos retornos na API