estou usando a versão do mk-auth 23.07 já saiu outra atualizacão ? quais as novidades? eu estou com o mesmo problema na versão 23.07 esotu usando o jwt token para conectar um servidor remoto e me retorna em branco api/titulo/aberto/$cpf e da resposta 200... porém api/titulo/listagem funciona tranquilo na versão 23.07 só que ele baixa todos os titulos, dai tive que adicionar código para efetuar a verificacão do titulo por CPF dentro do arquivo geral listagem que eu gero.. esse arquivo api.zip é atualizado posso jogar ele na versão 23.07 ?
No caso, o endpoint aberto ainda não existe na versão 23.07. Se atualizar o sistema, será possível utilizá-lo. Ou pode baixá-lo aqui titulo.zip, mas não inclui o pixqrcode (apenas na versão 24 em diante).
As próximas novidades que estou finalizando são a paginação da API (para não vir trocentos registros de uma vez) e no endpoint api/titulo/titulos, no modo POST, possibilitando passar login e CPF em um array e retornar os títulos de sua escolha (pagos, abertos e vencidos). logo fica um exemplo pratico no postman.
Boa noite josé então, eu consegui atualizar o titulo.api na versão 23.07 para me responder no curl o pixqrcode tive que criar a funcão abaixo
public function get_pix($valor) { // Ajustando a consulta para incluir dados do QR Code PIX $comandoSQL = "SELECT t.uuid_lanc AS uuid, t.login, t.status, t.tipo, t.valor, t.linhadig, t.datavenc, t.login, t.cpf_cnpj, p.qrcode FROM vtab_titulos AS t LEFT JOIN sis_qrpix AS p ON t.uuid_lanc = p.titulo WHERE (t.login = :valor OR t.cpf_cnpj = :valor) AND t.status = 'aberto' AND t.deltitulo = 0";
// Retornando os títulos abertos junto com os QR Codes PIX correspondentes echo json_encode(array('Total' => $numeroDeLinhas, 'titulosComPix' => $resultadosSQL)); }
em seguida testei via curl jwt token de um servidor remoto
curl -H 'Authorization: Bearer SEU JWT TOKEN AQUI' -i -k 'https://mk-auth-ip/api/titulo/pix/$cpf_cnpj' HTTP/1.1 200 OK Date: Fri, 26 Jan 2024 01:43:30 GMT Server: Apache/2.4.38 (Debian) Access-Control-Max-Age: 86400 Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET Etag: MKA_JSON_968a921225281 Vary: Accept-Encoding MKAUTH: API Content-Length: 5310 Content-Type: text/html;charset=UTF-8
receio de atualizar o mk-auth é grande kkkk ainda não tive tempo de subir uma nova VM para testar 100% a versão 24.0x antes de rodar um update no sistema em producão.
confesso que tentei criar o arquivo pix.api e adicionei o código mas ao conectar via JWT ele me dava erro. acesso negado.. foi então que eu vi que só os arquivos já criados com .api que conseguiriam executar o código.
Pedro Costa > Thiago MendonçaJaneiro 26, 2024 21:14
é possivel sim se pegar o link completo url com uuid mas para isso é necessário filtra via CPF = numero titulo = uuuid para buscar , acredito que irá abrir direto no site do banco e baixar o pdf no meu caso estou testando com gerencianet abre direto o link completo do gerencianet, mesmo link que aparece quando clicamos dentro do mk-auth em visualizar boleto ele já abre em pdf /boleto/boleto.hhvm?titulo=$tit_number
José aproveitei e corrigi o seu código para funcionar na versão 23.07 titulo.api
e funcionou, vou tentar verificar as novidades que postou no link https://storage.. pra implementar na api 23.07
segue o código alterado pra funcionar na 23.07
public function get_aberto($valor) {
$comandoSQL = "SELECT uuid_lanc AS uuid, login, status, tipo, valor, linhadig, datavenc,login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON uuid_lanc = sis_qrpix.titulo WHERE (login = :valor OR cpf_cnpj = :valor) AND status = 'aberto' AND deltitulo = 0 ORDER BY uuid_lanc;";
José sabe informar se dá para adicionar código para o jwt puxar direto da pasta /boleto/qrcode ? pois o sistema armazena lá a imagem do qrcode especifico PIX.01020304-506070800A0B0C0D0E0F10.png agora só resta saber como o código armazena os mesmos lá. se é quando o carne com todos os titulos é gerado ou se são salvos posteriormente.
Boa tarde, fiz alguns testes aqui e consegui pegar os QR codes desta pasta e passá-los na API, caso o título tenha o QR code e o sistema tenha salvo.
Se puder testar e dar um feedback, ajudaria muito. Este arquivo está atualizado com os últimos endpoints que atualizei e pode usar a documentação que vai funcionar.
Respostas
Boa noite José
estou usando a versão do mk-auth 23.07 já saiu outra atualizacão ? quais as novidades? eu estou com o mesmo problema na versão 23.07 esotu usando o jwt token para conectar um servidor remoto e me retorna em branco api/titulo/aberto/$cpf e da resposta 200... porém api/titulo/listagem funciona tranquilo na versão 23.07 só que ele baixa todos os titulos, dai tive que adicionar código para efetuar a verificacão do titulo por CPF dentro do arquivo geral listagem que eu gero.. esse arquivo api.zip é atualizado posso jogar ele na versão 23.07 ?
vai incluir na api webhook? para quando der alguma baixa no pagamento sermos notificados, assim como os chamados etc
Boa noite josé então, eu consegui atualizar o titulo.api na versão 23.07 para me responder no curl o pixqrcode tive que criar a funcão abaixo
public function get_pix($valor) {
// Ajustando a consulta para incluir dados do QR Code PIX
$comandoSQL = "SELECT t.uuid_lanc AS uuid, t.login, t.status, t.tipo, t.valor, t.linhadig, t.datavenc, t.login, t.cpf_cnpj, p.qrcode
FROM vtab_titulos AS t
LEFT JOIN sis_qrpix AS p ON t.uuid_lanc = p.titulo
WHERE (t.login = :valor OR t.cpf_cnpj = :valor)
AND t.status = 'aberto' AND t.deltitulo = 0";
$rotinaSQL = DB::prepare($comandoSQL);
$rotinaSQL->bindParam(':valor', $valor);
$rotinaSQL->execute();
$resultadosSQL = $rotinaSQL->fetchAll(PDO::FETCH_ASSOC);
$numeroDeLinhas = $rotinaSQL->rowCount();
// Retornando os títulos abertos junto com os QR Codes PIX correspondentes
echo json_encode(array('Total' => $numeroDeLinhas, 'titulosComPix' => $resultadosSQL));
}
em seguida testei via curl jwt token de um servidor remoto
curl -H 'Authorization: Bearer SEU JWT TOKEN AQUI' -i -k 'https://mk-auth-ip/api/titulo/pix/$cpf_cnpj'
HTTP/1.1 200 OK
Date: Fri, 26 Jan 2024 01:43:30 GMT
Server: Apache/2.4.38 (Debian)
Access-Control-Max-Age: 86400
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Etag: MKA_JSON_968a921225281
Vary: Accept-Encoding
MKAUTH: API
Content-Length: 5310
Content-Type: text/html;charset=UTF-8
{"Total":1,"titulosComPix":[{"uuid":"857B0000-FF00-4D00-8F00-C1767E340000","login":"clienteteste","status":"aberto","tipo":"mensalidade","valor":"58.68","linhadig":"36490.00032 003214.9561705 00001.553459442 9 35600000005847","datavenc":"2024-02-12 00:00:00","cpf_cnpj":"01234567890","qrcode":"00020101021363940014BR.GOV.BCB.PIX2571qrcodespix.sejaefi.com.br\/bolix\/v2\/cobv\/2c32a6f1d36b40f5a50eca74f04bccc05204000025435866802BR5905EFISA6008SAOPAULO62070503***6304F3F5"}]}
receio de atualizar o mk-auth é grande kkkk ainda não tive tempo de subir uma nova VM para testar 100% a versão 24.0x antes de rodar um update no sistema em producão.
confesso que tentei criar o arquivo pix.api e adicionei o código mas ao conectar via JWT ele me dava erro. acesso negado.. foi então que eu vi que só os arquivos já criados com .api que conseguiriam executar o código.
é possivel sim se pegar o link completo url com uuid mas para isso é necessário filtra via CPF = numero titulo = uuuid para buscar , acredito que irá abrir direto no site do banco e baixar o pdf no meu caso estou testando com gerencianet abre direto o link completo do gerencianet, mesmo link que aparece quando clicamos dentro do mk-auth em visualizar boleto ele já abre em pdf /boleto/boleto.hhvm?titulo=$tit_number
José aproveitei e corrigi o seu código para funcionar na versão 23.07 titulo.api
e funcionou, vou tentar verificar as novidades que postou no link https://storage.. pra implementar na api 23.07
segue o código alterado pra funcionar na 23.07
public function get_aberto($valor) {
$comandoSQL = "SELECT uuid_lanc AS uuid, login, status, tipo, valor, linhadig, datavenc,login, cpf_cnpj, sis_qrpix.qrcode AS pix
FROM vtab_titulos
LEFT JOIN sis_qrpix ON uuid_lanc = sis_qrpix.titulo
WHERE (login = :valor OR cpf_cnpj = :valor) AND status = 'aberto' AND deltitulo = 0
ORDER BY uuid_lanc;";
$rotinaSQL = DB::prepare($comandoSQL);
$rotinaSQL -> bindParam('valor', $valor);
$rotinaSQL -> execute();
$resultadosSQL = $rotinaSQL -> fetchAll();
$numeroDeLinhas = $rotinaSQL -> rowCount();
if ($numeroDeLinhas > 0) {
echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL));
} else {
echo json_encode(array('mensagem' => 'Registro não encontrado'));
}
}
e a resposta abaixo
curl -H 'Authorization: Bearer JWT TOKEN' -i -k 'https://190.8.160.4/api/titulo/aberto/01234567890'
HTTP/1.1 200 OK
Date: Sat, 27 Jan 2024 01:40:00 GMT
Server: Apache/2.4.38 (Debian)
Access-Control-Max-Age: 86400
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Etag: MKA_JSON_3b879c288f039
Vary: Accept-Encoding
MKAUTH: API
Content-Length: 5268
Content-Type: text/html;charset=UTF-8
{"Total":2,
"titulos":
[
{"uuid":"04441CD1-B998-4F82-B650-CCB9C1856785207",
"login":"nomedocliente",
"status":"aberto",
"tipo":"mensalidade",
"valor":"97.99",
"linhadig":"36491.01192 00024.9231006 00001.556956 3 00000000009099",
"datavenc":"2024-07-10 00:00:00",
"cpf_cnpj":"01234567890",
"pix":"00020406071829990014BR.GOV.BCB.PIX2572qrcodespix.sejaefi.com.br\/bolix\/v2\/cobv\/000000000065408a94ab3be1470d28aa5204000053039865802BR5905EFISA6008SAOPAULO62070503***63040DF3"}
{"uuid":"2D4441E1-B8DE-4F16-A0CD-C18E3094561581B",
"login":"nomedocliente",
"status":"aberto",
"tipo":"mensalidade",
"valor":"97.99",
"linhadig":"36490.00092 00014.981005 00000.557009 3 00000000009799",
"datavenc":"2024-08-10 00:00:00",
"cpf_cnpj":"01234567890",
"pix":"00020304025226947084BR.GOV.BCB.PIX2572qrcodespix.sejaefi.com.br\/bolix\/v2\/cobv\/0000000000bd4cffae708af548d9b82a5204000053039865802BR5905EFISA6008SAOPAULO62070503***630497B4"}
]
}
OBS- alguns dados pessoais editados na resposta do CURL.. por motivos de privacidade.
Bom dia, para criar um controle personalizado, você deve nomear a classe igual ao arquivo .api e então liberar o acesso no webadmin
pix.zip
José sabe informar se dá para adicionar código para o jwt puxar direto da pasta /boleto/qrcode ? pois o sistema armazena lá a imagem do qrcode especifico PIX.01020304-506070800A0B0C0D0E0F10.png agora só resta saber como o código armazena os mesmos lá. se é quando o carne com todos os titulos é gerado ou se são salvos posteriormente.