Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GetOrderListPayment #2

Open
CristianoMCon opened this issue Jul 5, 2018 · 25 comments
Open

GetOrderListPayment #2

CristianoMCon opened this issue Jul 5, 2018 · 25 comments

Comments

@CristianoMCon
Copy link

Olá pessoal!
Alguém tá conseguindo usar a opção "GetOrderListPayment" da API do Bradesco?
Comigo sempre esta retornando erro mesmo com todos parametros mencionados na documentação preenchidos.
Erro: "Dados minimos da requisicao nao informados (Verifique: merchantid, email, chave da loja, tokenCode, dataInicial e dataFinal)."
Quando uso a opção "GetOrderById" funciona certinho então já descarto falha na autenticação.

@gilcierweb
Copy link
Owner

gilcierweb commented Jul 5, 2018

CristianoMCon Olá essa parte de consulta um contribuidor enviou um pull request no projeto e aceitei, mais eu pessoalmente não testei com dados reais. Mais eu posso ajudar, talvez pode ter algo no headers do CURL que pode ter mudado na documentação. Se você quiser posso fazer uma conferência para ver o que está acontecendo. Entre no site http://gilcierweb.com.br/ e envie email informando o horário disponível para o call.

@gilcierweb
Copy link
Owner

gilcierweb commented Jul 6, 2018

CristianoMCon Olá, essa feature GetOrderListPayment não existia na classe shopfacil, adicionei ela agora na ultima atualização não sei como você está fazendo, mais se que quiser contribuir com o projeto faça um pull request no projeto com sua melhoria.

// Consultas de Pedidos opcional / Query orders optional
$order_id = 'XXXXXX';
$type = 'boleto'; // or 'transferencia'
$dateInitial = date('Y/m/d H:i'); // aaaa/mm/dd  hh:mm
$dateFinal = date('Y/m/d H:i'); // aaaa/mm/dd  hh:mm
$status = 0;
$offset = 1;
$limit = 15;

// Para consultas é preciso adicionar o email na instância da classe exemplo
$bradesco_shopfacil = new Shopfacil($merchant_id, $chave_seguranca, 'example@example.com');

$return_api_order_by_id = $bradesco_shopfacil->serviceGetOrderById($order_id);
$return_api_order_list_payment_boleto = $bradesco_shopfacil->serviceGetOrderListPayment($type = 'boleto', $dateInitial, $dateFinal, $status, $offset, $limit);
$return_api_order_list_payment_transferencia = $bradesco_shopfacil->serviceGetOrderListPayment($type = 'transferencia', $dateInitial, $dateFinal, $status, $offset, $limit);

@gilcierweb
Copy link
Owner

gilcierweb commented Jul 6, 2018

Estou fechando esse issues porque já foi implementado a feature mencionada e quem abriu está usando de forma desconhecida pois não existia no projeto shopfacil e não mostrou como está usando.

Exemplo de uso da feature #serviceGetOrderListPayment e #serviceGetOrderById:

// Consultas de Pedidos opcional / Query orders optional
$order_id = 'XXXXXX';
$type = 'boleto'; // or 'transferencia'
$dateInitial = date('Y/m/d H:i'); // aaaa/mm/dd  hh:mm
$dateFinal = date('Y/m/d H:i'); // aaaa/mm/dd  hh:mm
$status = 0;
$offset = 1;
$limit = 15;

// Para consultas é preciso adicionar o email na instância da classe exemplo
$bradesco_shopfacil = new Shopfacil($merchant_id, $chave_seguranca, 'example@example.com');

$return_api_order_by_id = $bradesco_shopfacil->serviceGetOrderById($order_id);
$return_api_order_list_payment_boleto = $bradesco_shopfacil->serviceGetOrderListPayment($type = 'boleto', $dateInitial, $dateFinal, $status, $offset, $limit);
$return_api_order_list_payment_transferencia = $bradesco_shopfacil->serviceGetOrderListPayment($type = 'transferencia', $dateInitial, $dateFinal, $status, $offset, $limit);

@CristianoMCon
Copy link
Author

CristianoMCon commented Jul 6, 2018 via email

@CristianoMCon
Copy link
Author

CristianoMCon commented Jul 6, 2018 via email

@gilcierweb
Copy link
Owner

Valeu pelo feedback! Para testar o shopfacil é um pouco complicado pois não tenho mais nenhum cliente que tem conta no bradesco shopfacil aí ficar dificil fazer testes reais, mais agradeço o feedback e se der tudo certo informa e se não manda o error detalhado!
Valeu, obrigado.

@CristianoMCon
Copy link
Author

CristianoMCon commented Jul 6, 2018 via email

@CristianoMCon
Copy link
Author

@gilcierweb Testei a função que criou porém tava dando erro na autenticação inicial. Ajustei a propriedade sandbox para ficar como padrão "true", dessa forma seta a url de homologação para testes, deu certo a autenticação porem deu o mesmo retorno de erro que havia mencionado na criação dessa issue.
O curioso é que quando autentico e uso a função GetOrderById retorna com sucesso os dados porem quando uso a função GetOrderListPayment retorna erro de falta de parametros.
Acredito que seja algum erro no tratamento do servidor do banco, alguma falha na documentação deles pois todos os parametros estão sendo preenchidos.

@gilcierweb
Copy link
Owner

Hum, teria como você me mandar esse dados de homologação por email, para ver ser tem algum parâmetro faltando no header ou mal formatado.
Você pode entrar em contato com eles passados os dados de header e parâmetros usado pra eles analisarem.

@gilcierweb gilcierweb reopened this Jul 10, 2018
@CristianoMCon
Copy link
Author

Eu entrei em contato com eles na semana passada porém ainda estou aguardando retorno.

@CristianoMCon
Copy link
Author

O problema não pode ser no header pois senão eu não conseguiria usar a função GetOrderById.
De acordo com a documentação, primeiro precisa autenticar, dando certo é gerado um token e esse token é usado nas funções GetOrderById e GetOrderListPayment.

@gilcierweb
Copy link
Owner

Se tem uma coisa que aprendi durante esses anos é que tudo pode em se tratando de error, pode ser adição do de algum header a mais ou menos pode ser o link mal formatado.
Eles tem uma politica forte anti spam se seu email for empresarial e estiver hospedado em outro país é provável que nem tenha chegado pra eles não demoram tanto pra responder não.

@CristianoMCon
Copy link
Author

CristianoMCon commented Jul 11, 2018 via email

@derlanoliver
Copy link

derlanoliver commented Jul 24, 2018

@CristianoMCon não sei se vai funcionar pra você, mas depois de umas 5h na frente do notebook, algumas garrafas de café e madrugada a dentro... descobri que:
$dateInitial = date('Y/m/d H:i'); // aaaa/mm/dd hh:mm
$dateFinal = date('Y/m/d H:i'); // aaaa/mm/dd hh:mm

Não pode ter espaço entre o dia e a hora. Você pode testar somente com a data, sem a hora ou então, no lugar do espaço, coloca o sinal % ficando assim:

$dateInitial = date('Y/m/d%H:i'); // aaaa/mm/dd%hh:mm

$dateFinal = date('Y/m/d%H:i'); // aaaa/mm/dd%hh:mm

Comigo deu certo. Faz um teste ai e depois me avise.

@CristianoMCon
Copy link
Author

CristianoMCon commented Jul 24, 2018 via email

@derlanoliver
Copy link

Blz amigo.
Aqui está funcionando já em modo Produção.
Ahh vale lembrar também que o intervalo das datas são só de 6 dias. Eu fiz um teste com o intervalo de 7 dias e o problema apareceu novamente.

No mais, estou por aqui caso precise de algum help!

Abraço e boa noite :)

@CristianoMCon
Copy link
Author

@derlanoliver eu não resisti, fui testar agora mesmo e testei de varias formas, primeiro claro usando a dica que vc passou, não deu certo ¬¬ depois fui alternando o periodo e tirando ou deixando a hora mas infelizmente não retornou nenhum registro.
A minha url ficou desse jeito, claro q se vc testar direto no navegador vai dar erro de autenticacao mas só pra vc ter uma ideia da formatacao dela.
https://homolog.meiosdepagamentobradesco.com.br/SPSConsulta/GetOrderListPayment/100008999/boleto?token=da55183175efa64d46076fb11098627204782d35&dataInicial=2018/07/17&dataFinal=2018/07/24%07:08&status=0&offset=1&limit=999
O erro que retornar é o de sempre "Dados minimos da requisicao nao informados (Verifique: merchantid, email, chave da loja, tokenCode, dataInicial e dataFinal)."
O mais loco de tudo isso é que acessando a area de admin da api esse registro aparece, ou seja, ele foi registrado com sucesso!
Farei novos testes logo mais e caso consiga exito eu atualizo aqui mas obrigado pela dica, valeu a tentativa.
Abraço e boa noite! :D 👍

@derlanoliver
Copy link

Fala @CristianoMCon, faça um teste com essa url:

https://homolog.meiosdepagamentobradesco.com.br/SPSConsulta/GetOrderListPayment/100008999/boleto?token=da55183175efa64d46076fb11098627204782d35&dataInicial=2018/07/17&dataFinal=2018/07/23&status=0&offset=1&limit=999

e me da um toque se vai rolar alguma coisa.

Ps.: O intervalo das datas estava para 7 dias, coloquei pra 6 pra gente vê se funciona.

@CristianoMCon
Copy link
Author

@derlanoliver Que pena, não deu certo :/
Eu registrei um boleto agora, dia 24 por isso coloquei a data atual mas testei como vc disse, colocando a data final como dia 23 mas mesmo assim nao deu certo, deu a mensagem de "sem registro".
Eu percebi que a função primeiro verifica se existem registros no periodo, se sim entao ele passa para validação senão ele retorna com "sem registros encontrados"

@derlanoliver
Copy link

@CristianoMCon sim, não vai aparecer pq a data está como dia 23. Agora você pode mexer nas datas.
Coloque inicio dia 19/07 e final dia 24/07 pra ver se aparece algum resultado.

:)

@CristianoMCon
Copy link
Author

@derlanoliver Então, não deu certo tbm, que pena..., esse negocio ta engraçado rs
Esse periodo que vc passou da a mensagem "Nenhum registro encontrado."
Quando eu coloco 17/07 e 24/07 dae da outra mensagem "Dados minimos da requisicao nao informados (Verifique: merchantid, email, chave da loja, tokenCode, dataInicial e dataFinal)."
Essa função ta toda errada, a documentação deixa muito a desejar nesse sentido dos erros, a gente tem que ficar testando periodo até acertar, isso nao ta certo :/

@LeafarDev
Copy link

@CristianoMCon Olá, você conseguiu resolver esse problema ?
Comigo só retorna:

{
"status": {
"codigo": -501,
"mensagem": "Nenhum registro encontrado."
},
"token": {},
"pedidos": []
}

@gilcierweb
Copy link
Owner

gilcierweb commented Aug 30, 2019

@LeafarDev olá, você deve passar detalhadamente os parâmetros passados, para ser melhor analisado, e entrar em contato com o suporte Bradesco Shopfácil, pois quem tá retornando esse status é a api Bradesco Shopfácil.
Veja a página 16 do manual de consultas https://homolog.meiosdepagamentobradesco.com.br/manual/Manual_ConsultaPedidos.pdf

@LeafarDev
Copy link

Olá, @gilcierweb , desculpe a demora. Eu registrei o boleto pela url https://meiosdepagamentobradesco.com.br/apiregistro/api
E tentei consultar com os seguintes parametros:
https://meiosdepagamentobradesco.com.br/SPSConsulta/GetOrderListPayment/10000xxxx/boleto?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&dataInicial=2019/09/01 01:01&dataFinal=2019/09/05 23:59&status=0&offset=1&limit=15

@gilcierweb
Copy link
Owner

@LeafarDev o status "-501Nenhum registro encontrado." provavelmente não tem boleto gerados nesse período, entre em contato com o suporte Shopfácil pois se tiver boleto gerado no período informado eles tem que informar o motivo do não aparecimento de nenhum.
tente acessar diretamente a api por CURL, Postman ou Insomnia.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants