Consultar histórico de transações
Como funciona
- Seu sistema solicita o histórico de transações em um intervalo de datas enviando os dados em parâmetros HTTP;
- A Gerencianet processa as informações e retorna todas as transações dentro do intervalo solicitado em formato XML;
- Com as informações sobre as transações em mãos, você poderá executar baixas em seu estoque, liberar serviços, bloquear ou desbloquear clientes, etc.
Token de integração
O token de integração é uma espécie de senha. Ele é solicitado em todas as requisições da api de pagamentos.
Não divulgue seu token de integração. Caso isto aconteça, a Gerencianet recomenda que você gere um novo.
Para gerar um token de integração acesse sua conta Gerencianet e clique em Desenvolvedor e, em seguida Token de integração.
Consumindo a API
Para consultar o histórico de transações, sua aplicação deve nos enviar o token de integração, intervalo de datas, números máximo de registros e a página:
POST https://go.gerencianet.com.br/api/historico/xml HTTP/1.1
Content-Type: multipart/form-data; charset=utf-8
token=token_de_integracao
dados=seu_xml
Ambiente de testes
Para realizar testes de consulta de histórico de transações basta enviar as requisições para o ambiente de testes localizado em:
POST https://go.gerencianet.com.br/teste/api/historico/xml HTTP/1.1
Content-Type: multipart/form-data; charset=utf-8
token=token_de_integracao
dados=seu_xml
Requisições enviadas ao ambiente de testes retornam apenas um histórico fictício.
Exemplo dos dados em formato XML
A seguir você encontra um exemplo de como os dados devem ser organizados em formato xml. O exemplo a seguir possui todos os parâmetros disponíveis.
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <dataInicial>2013-01-01</dataInicial>
- <dataFinal>2014-12-31</dataFinal>
- <registrosPorPagina>5</registrosPorPagina>
- <pagina>2</pagina>
- </integracao>
Descrição dos parâmetros de entrada
Tag | Obrigatória | Descrição |
---|---|---|
dataInicial | sim | Data a partir da qual as transações foram realizadas. |
dataFinal | sim | Data limite das transações realizadas. |
registrosPorPagina | sim | Número de registros exibidos por página. |
pagina | sim | Página a ser retornada. |
Resposta em caso de sucesso
Se a requisição for processada com sucesso a Gerencianet retornará uma listagem de transações em formato XML, como no exemplo a seguir:
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <status>2</status>
- <resposta>
- <paginacao>
- <totalItens>10</totalItens>
- <paginaAtual>2</paginaAtual>
- <registrosPorPagina>5</registrosPorPagina>
- <ultimaPagina>2</ultimaPagina>
- </paginacao>
- <historico>
- <registro>
- <transacao>11110005</transacao>
- <email>seucliente5@email.com</email>
- <valor>1500</valor>
- <dataEmissao>2014-01-05T10:00:00</dataEmissao>
- <status>recusado</status>
- <codigoStatus>6</codigoStatus>
- </registro>
- <registro>
- <transacao>11110004</transacao>
- <email>seucliente4@email.com</email>
- <valor>1400</valor>
- <dataEmissao>2014-01-04T10:00:00</dataEmissao>
- <status>pago</status>
- <codigoStatus>5</codigoStatus>
- </registro>
- <registro>
- <transacao>11110003</transacao>
- <email>seucliente3@email.com</email>
- <valor>1300</valor>
- <dataEmissao>2014-01-03T10:00:00</dataEmissao>
- <status>pago</status>
- <codigoStatus>5</codigoStatus>
- </registro>
- <registro>
- <transacao>11110002</transacao>
- <email>seucliente2@email.com</email>
- <valor>1200</valor>
- <dataEmissao>2014-01-02T10:00:00</dataEmissao>
- <status>aguardando</status>
- <codigoStatus>1</codigoStatus>
- </registro>
- <registro>
- <transacao>11110001</transacao>
- <email>seucliente1@email.com</email>
- <valor>1100</valor>
- <dataEmissao>2014-01-01T10:00:00</dataEmissao>
- <status>aguardando</status>
- <codigoStatus>1</codigoStatus>
- </registro>
- </historico>
- </resposta>
- </integracao>
Resposta em caso de erro
Caso ocorra algum erro na requisição a resposta listará todos os erros encontrados como no exemplo a seguir:
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <status>1</status>
- <erros>
- <codigo>10034</codigo>
- <erro>Pagina informada não existe</erro>
- </erros>
- </integracao>
Descrição dos parâmetros de saída
Tag | Descrição |
---|---|
status | Status da requisição. Varia entre 2 e 1, indicando sucesso ou erro, respectivamente. |
resposta | Engloba as informações retornadas. |
paginacao | Contém as informações referentes à paginação da consulta |
totalItens | Número de itens encontrados na consulta. |
paginaAtual | Página retornada na consulta. |
registrosPorPagina | Número de registros retornados em uma página. |
ultimaPagina | Última página da consulta. |
historico | Engloba os registros retornados. |
registro | Engloba as informações inerentes a cada registro. |
transacao | Identificador único da transação. |
Contém o e-mail da pessoa que recebeu a cobrança. | |
valor | Valor, em centavos, da cobrança emitida. Se a cobrança for de R$ 15,00, por exemplo, este valor conterá “1500”. |
dataEmissao | Data na qual a cobrança foi emitida. |
status | Demonstra o status atual da transação. Os status podem ser:
|
codigoStatus | Demonstra código referente ao status atual da transação. Os códigos podem ser:
|
Exemplos
Via Curl
- $url = "https://go.gerencianet.com.br/api/historico/xml";
- $token = "token";
- $xml = "<?xml version='1.0' encoding='utf-8'?>
- <integracao>
- <dataInicial>2013-01-01</dataInicial>
- <dataFinal>2013-12-31</dataFinal>
- <registrosPorPagina>10</registrosPorPagina>
- <pagina>1</pagina>
- </integracao>";
- $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
- curl_setopt($ch, CURLOPT_AUTOREFERER, true);
- $data = array("token" => $token, "dados" => $xml);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- $response = curl_exec($ch);
- curl_close($ch);
- echo "<xmp>".$response."</xmp>";
Via Guzzle
- $url = "https://go.gerencianet.com.br/api/historico/xml";
- $token = "token";
- $xml = "<?xml version='1.0' encoding='utf-8'?>
- <integracao>
- <dataInicial>2013-01-01</dataInicial>
- <dataFinal>2013-12-31</dataFinal>
- <registrosPorPagina>10</registrosPorPagina>
- <pagina>1</pagina>
- </integracao>";
- $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
- Guzzle\Http\StaticClient::mount();
- $client = new \Guzzle\Http\Client($url);
- $request = $client->post('', null, array("token" => $token, "dados" => $xml));
- $response = $request->send();
- echo "<xmp>".$response."</xmp>";
- String url = "https://go.gerencianet.com.br/api/historico/xml";
- String token = "token";
- String xml = "<?xml version='1.0' encoding='utf-8'?>" +
- "<integracao>" +
- "<dataInicial>2013-01-01</dataInicial>" +
- "<dataFinal>2013-12-31</dataFinal>" +
- "<registrosPorPagina>1</registrosPorPagina>" +
- "<pagina>1</pagina>" +
- "</integracao>";
- HttpClient client = new DefaultHttpClient();
- HttpPost post = new HttpPost(url);
- post.setHeader("User-Agent", HttpHeaders.USER_AGENT);
- List<NameValuePair> urlParameters;
- urlParameters = new ArrayList<>();
- urlParameters.add(new BasicNameValuePair("token", token));
- urlParameters.add(new BasicNameValuePair("dados", xml));
- post.setEntity(new UrlEncodedFormEntity(urlParameters));
- HttpResponse response = client.execute(post);
- System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
- BufferedReader rd = new BufferedReader(
- new InputStreamReader(response.getEntity().getContent()));
- StringBuilder result = new StringBuilder();
- String line = "";
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- System.out.println(result.toString());
- String url = "http://go.gerencianet.com.br/api/historico/xml";
- String token = "token";
- String xml = "<?xml version='1.0' encoding='utf-8'?>" +
- "<integracao>" +
- "<dataInicial>2013-01-01</dataInicial>" +
- "<dataFinal>2013-12-31</dataFinal>" +
- "<registrosPorPagina>10</registrosPorPagina>" +
- "<pagina>1</pagina>" +
- "</integracao>";
- WebClient client = new WebClient();
- NameValueCollection postData = new NameValueCollection() { { "token", token }, { "dados", xml } };
- byte[] response = client.UploadValues(url, postData);
- Console.WriteLine("Output: " + System.Text.Encoding.Default.GetString(response));
- import requests
- url = "http://go.gerencianet.com.br/api/historico/xml"
- token = "token"
- params = { 'integracao': { 'dataInicial': '2013-01-01', 'dataFinal': '2013-12-31', 'registrosPorPagina': '1', 'pagina': '1' } }
- response = requests.post(url = url, data = { 'token': token, 'dados': xmltodict.unparse(params) })
- print response.text
- require 'httparty'
- url = "http://go.gerencianet.com.br/api/historico/xml"
- token = "token"
- xml = "<?xml version='1.0' encoding='utf-8'?>
- <integracao>
- <dataInicial>2013-01-01</dataInicial>
- <dataFinal>2013-12-31</dataFinal>
- <registrosPorPagina>10</registrosPorPagina>
- <pagina>1</pagina>
- </integracao>"
- HTTParty.post(url, body: { token: token, dados: xml }, headers: { "User-Agent" => request.user_agent }).body
Histórico de requisições
Acompanhe o histórico de requisições realizadas à API de pagamentos em sua conta. O histórico de requisições é ideal para identificar erros durante a etapa de implementação da integração.