Pesquisa que traz outros documentos do documento pesquisado.
Nome | Tipo | Formato | Descrição | Obrigatório? |
---|---|---|---|---|
documento | String | (^\d{11}$|\d{14}) | Documento a ser pesquisado | SIM |
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.
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()
Caso o retorno seja de sucesso, você irá receber um JSON como o exibido abaixo:
{ "code": "000", "message": "Consulta de testes com dados fictícios", "date": "2019-12-15", "hour": "00:28:43", "content": { "existe_informacao": "SIM", "conteudo": [ { "tipo": "pis", "documento": "99999999999" }, { "tipo": "rg", "documento": "999999999" }, { "tipo": "titulo_de_eleitor", "documento": "N/D" }, { "tipo": "ct", "documento": "N/D" }, { "tipo": "passaporte", "documento": "N/D" } ] } }
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 |