Consultar histórico de transações

Como funciona

  1. Seu sistema solicita o histórico de transações em um intervalo de datas enviando os dados em parâmetros HTTP;
  2. A Gerencianet processa as informações e retorna todas as transações dentro do intervalo solicitado em formato XML;
  3. 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.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <dataInicial>2013-01-01</dataInicial>
  4. <dataFinal>2014-12-31</dataFinal>
  5. <registrosPorPagina>5</registrosPorPagina>
  6. <pagina>2</pagina>
  7. </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:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <status>2</status>
  4. <resposta>
  5. <paginacao>
  6. <totalItens>10</totalItens>
  7. <paginaAtual>2</paginaAtual>
  8. <registrosPorPagina>5</registrosPorPagina>
  9. <ultimaPagina>2</ultimaPagina>
  10. </paginacao>
  11. <historico>
  12. <registro>
  13. <transacao>11110005</transacao>
  14. <email>seucliente5@email.com</email>
  15. <valor>1500</valor>
  16. <dataEmissao>2014-01-05T10:00:00</dataEmissao>
  17. <status>recusado</status>
  18. <codigoStatus>6</codigoStatus>
  19. </registro>
  20. <registro>
  21. <transacao>11110004</transacao>
  22. <email>seucliente4@email.com</email>
  23. <valor>1400</valor>
  24. <dataEmissao>2014-01-04T10:00:00</dataEmissao>
  25. <status>pago</status>
  26. <codigoStatus>5</codigoStatus>
  27. </registro>
  28. <registro>
  29. <transacao>11110003</transacao>
  30. <email>seucliente3@email.com</email>
  31. <valor>1300</valor>
  32. <dataEmissao>2014-01-03T10:00:00</dataEmissao>
  33. <status>pago</status>
  34. <codigoStatus>5</codigoStatus>
  35. </registro>
  36. <registro>
  37. <transacao>11110002</transacao>
  38. <email>seucliente2@email.com</email>
  39. <valor>1200</valor>
  40. <dataEmissao>2014-01-02T10:00:00</dataEmissao>
  41. <status>aguardando</status>
  42. <codigoStatus>1</codigoStatus>
  43. </registro>
  44. <registro>
  45. <transacao>11110001</transacao>
  46. <email>seucliente1@email.com</email>
  47. <valor>1100</valor>
  48. <dataEmissao>2014-01-01T10:00:00</dataEmissao>
  49. <status>aguardando</status>
  50. <codigoStatus>1</codigoStatus>
  51. </registro>
  52. </historico>
  53. </resposta>
  54. </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:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <status>1</status>
  4. <erros>
  5. <codigo>10034</codigo>
  6. <erro>Pagina informada não existe</erro>
  7. </erros>
  8. </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.
email 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:
  • aguardando (para transações ainda não pagas)
  • pago (para transações que já foram pagas)
  • recusado (para transações com cartão de crédito recusado)
  • visualizado (para transações em que o cliente já abriu a tela de pagamento mas ainda não o efetuou)
  • selecionado (para transações que estão aguardando a confirmação do pagamento)
  • cancelado (para transações que foram canceladas)
  • arquivado (para transações que foram pagas e arquivadas)
  • vencido (para transações que ultrapassaram a data de vencimento e ainda não foram pagas)
codigoStatus Demonstra código referente ao status atual da transação. Os códigos podem ser:
  • 1 (aguardando)
  • 2 (visitado)
  • 3 (selecionado)
  • 4 (vencido)
  • 5 (pago)
  • 6 (recusado)
  • 7 (arquivado)
  • 8 (cancelado)

Exemplos

Via Curl
  1. $url = "https://go.gerencianet.com.br/api/historico/xml";
  2. $token = "token";
  3.  
  4. $xml = "<?xml version='1.0' encoding='utf-8'?>
  5. <integracao>
  6. <dataInicial>2013-01-01</dataInicial>
  7. <dataFinal>2013-12-31</dataFinal>
  8. <registrosPorPagina>10</registrosPorPagina>
  9. <pagina>1</pagina>
  10. </integracao>";
  11.  
  12. $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
  13.  
  14. $ch = curl_init();
  15. curl_setopt($ch, CURLOPT_URL, $url);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17. curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
  18. curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  19. $data = array("token" => $token, "dados" => $xml);
  20.  
  21. curl_setopt($ch, CURLOPT_POST, true);
  22.  
  23. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  24. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  25. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  26. $response = curl_exec($ch);
  27.  
  28. curl_close($ch);
  29.  
  30. echo "<xmp>".$response."</xmp>";
Via Guzzle
  1. $url = "https://go.gerencianet.com.br/api/historico/xml";
  2. $token = "token";
  3.  
  4. $xml = "<?xml version='1.0' encoding='utf-8'?>
  5. <integracao>
  6. <dataInicial>2013-01-01</dataInicial>
  7. <dataFinal>2013-12-31</dataFinal>
  8. <registrosPorPagina>10</registrosPorPagina>
  9. <pagina>1</pagina>
  10. </integracao>";
  11.  
  12. $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
  13.  
  14. Guzzle\Http\StaticClient::mount();
  15. $client = new \Guzzle\Http\Client($url);
  16. $request = $client->post('', null, array("token" => $token, "dados" => $xml));
  17. $response = $request->send();
  18.  
  19. echo "<xmp>".$response."</xmp>";
  1. String url = "https://go.gerencianet.com.br/api/historico/xml";
  2. String token = "token";
  3.  
  4. String xml = "<?xml version='1.0' encoding='utf-8'?>" +
  5. "<integracao>" +
  6. "<dataInicial>2013-01-01</dataInicial>" +
  7. "<dataFinal>2013-12-31</dataFinal>" +
  8. "<registrosPorPagina>1</registrosPorPagina>" +
  9. "<pagina>1</pagina>" +
  10. "</integracao>";
  11.  
  12. HttpClient client = new DefaultHttpClient();
  13. HttpPost post = new HttpPost(url);
  14.  
  15. post.setHeader("User-Agent", HttpHeaders.USER_AGENT);
  16.  
  17. List<NameValuePair> urlParameters;
  18. urlParameters = new ArrayList<>();
  19. urlParameters.add(new BasicNameValuePair("token", token));
  20. urlParameters.add(new BasicNameValuePair("dados", xml));
  21.  
  22. post.setEntity(new UrlEncodedFormEntity(urlParameters));
  23.  
  24. HttpResponse response = client.execute(post);
  25. System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
  26.  
  27. BufferedReader rd = new BufferedReader(
  28. new InputStreamReader(response.getEntity().getContent()));
  29.  
  30. StringBuilder result = new StringBuilder();
  31. String line = "";
  32. while ((line = rd.readLine()) != null) {
  33. result.append(line);
  34. }
  35.  
  36. System.out.println(result.toString());
  1. String url = "http://go.gerencianet.com.br/api/historico/xml";
  2. String token = "token";
  3. String xml = "<?xml version='1.0' encoding='utf-8'?>" +
  4. "<integracao>" +
  5. "<dataInicial>2013-01-01</dataInicial>" +
  6. "<dataFinal>2013-12-31</dataFinal>" +
  7. "<registrosPorPagina>10</registrosPorPagina>" +
  8. "<pagina>1</pagina>" +
  9. "</integracao>";
  10.  
  11. WebClient client = new WebClient();
  12. NameValueCollection postData = new NameValueCollection() { { "token", token }, { "dados", xml } };
  13. byte[] response = client.UploadValues(url, postData);
  14.  
  15. Console.WriteLine("Output: " + System.Text.Encoding.Default.GetString(response));
  1. import requests
  2.  
  3. url = "http://go.gerencianet.com.br/api/historico/xml"
  4. token = "token"
  5.  
  6. params = { 'integracao': { 'dataInicial': '2013-01-01', 'dataFinal': '2013-12-31', 'registrosPorPagina': '1', 'pagina': '1' } }
  7.  
  8. response = requests.post(url = url, data = { 'token': token, 'dados': xmltodict.unparse(params) })
  9. print response.text
  1. require 'httparty'
  2.  
  3. url = "http://go.gerencianet.com.br/api/historico/xml"
  4. token = "token"
  5. xml = "<?xml version='1.0' encoding='utf-8'?>
  6. <integracao>
  7. <dataInicial>2013-01-01</dataInicial>
  8. <dataFinal>2013-12-31</dataFinal>
  9. <registrosPorPagina>10</registrosPorPagina>
  10. <pagina>1</pagina>
  11. </integracao>"
  12.  
  13. 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.