Histórico de Mensagens

EXIBINDO RESPOSTAS:

Avatar discord do usuario bgeneto

bgeneto

Boa tarde!
Gostaria de reportar um BUG 🐛 no end-point /v1/charges que nos impede de listar todas as assinaturas de um cliente.
Esta simples requisição:

bash
curl --location 'https://cobrancas.api.efipay.com.br/v1/charges?charge_type=subscription&begin_date=2024-02-18&end_date=2025-02-18&customer_document=03973638004' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data ''
Retorna a seguinte exceção:
json
{
"code": 3500011,
"error": "invalid_data",
"error_description": {
"property": "3973638004",
"message": "documento 3973638004 incorreto"
}
}
Pois remove, indevidamente, o zero inicial. Provavelmente por estar, internamente, convertendo para inteiro.
Poderiam corrigir isso ASAP? @guilherme_efi Grato!

Avatar discord do usuario yasmin_efi

yasmin_efi

Boa tarde @bgeneto! Tudo bem? De fato a mensagem de erro está removendo o 0 do documento em questão. Já repassamos a demanda para o nosso time responsável atuar na correção. Porém o CPF informado está incorreto mesmo, no momento de validar ele considera o 0 e foi neste momento que o erro foi retornado. Não encontramos nenhum registro para o cpf 03973638004

Avatar discord do usuario bgeneto

bgeneto

Oi. O cpf informado não existe de propósito para não expor dados de cliente ou de ninguém. O problema não é exatamente a mensagem de erro que está removendo o zero, mas sim que a API não está encontrando/retornando nada quando o CPF começa com 0 pois converte ele pra inteiro antes de realizar pesquisa na base de dados. Nossos cliente de Minas Gerais (Uberlândia, Uberaba, por exemplo) não aparecem em nenhuma listagem pois lá os CPFs são/eram registrados com zero inicial... Colocando entre aspas resolve, mas isso definitivamente não está certo!

Avatar discord do usuario rubenskuhl

rubenskuhl

Pior que pode estar certo. Em JSON, se não estiver entre aspas, é inteiro.

Avatar discord do usuario bgeneto

bgeneto

Até pode, mas seria bem estranho e totalmente fora dos padrões... imagine eu usando a sdk php e tendo que fazer assim para escapar as aspas:

php
$params = [
"charge_type" => "subscription",
"begin_date" => "2024-02-18",
"end_date" => "2025-02-18",
"customer_document" => "\"03973638004\"" // CPF with double quotes?!?
];

Ou em vanilla javascript:

javascript
fetch("https://cobrancas.api.efipay.com.br/v1/charges?charge_type=subscription&begin_date=2024-02-18&end_date=2025-02-18&customer_document=\"03973638004\"", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));


E pode ficar pior... em nodejs, tendo que escapar com '%22':

javascript
var options = {
'method': 'GET',
'hostname': 'cobrancas.api.efipay.com.br',
'path': '/v1/charges?charge_type=subscription&begin_date=2024-02-18&end_date=2025-02-18&customer_document=%2203973638004%22',
'headers': {
'Authorization': 'Bearer ',
'Content-Type': 'application/json'
}
};

Mas se insistirem nisso eu realmente espero que uniformizem isso para toda a API EfíPay.... e não somente para esse endpoint. É lamentável que a gente não consiga falar com os devs da API diretamente por aqui...

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas o problema aqui é justamente um padrão, o JSON... para fazer como você está sugerindo, eles vão precisar desobedecer esse padrão. Agora, as chamadas do SDK não são afetadas por esse padrão. Então uma possibilidade seria o SDK sempre colocar entre aspas ao criar o JSON, e aí garantir que não seja interpretado como inteiro.

E os exemplos que você deu são de path parameters, também não afetados por codificação JSON.

Avatar discord do usuario bgeneto

bgeneto

Desculpe, mas não... Não é quebrar padrão nenhum. Ajuda aí vai por favor!!! Será possível que temos que debater tanto para sinalizar um BUG tão óbvio? Quanta perda de tempo!
A API inteira da Efí quando usa CPF ou CNPJ não precisa usar quotes, daí só este end-point que precisa e você tá defendendo que isso tá certo? Desculpe eu realmente não entendo o motivo...
Exemplo da SDK PHP:

php
// createCarnet.php
$customer = [
"name" => "Gorbadoc Oldbuck",
"cpf" => "94271564656",
];
// pixCreateCharge.php
$body = [
"calendario" => [
"expiracao" => 3600 // Charge lifetime, specified in seconds from creation date
],
"devedor" => [
"cpf" => "12345678909",
"nome" => "Francisco da Silva"
],

Avatar discord do usuario rubenskuhl

rubenskuhl

Se você não gosta de questionamento, pode preferir enviar isso em privado para Efí... canal público poderá ter opiniões de outros clientes.

Avatar discord do usuario bgeneto

bgeneto

Questiona com razão.. O problema é só querer ter razão...

Avatar discord do usuario guilherme_efi

guilherme_efi

Oi, @bgeneto. Bom dia! Tudo bem?
Conforme a Yasmin comentou, já passamos essa demanda para o nosso time de engenharia da API para corrigir o bug.
Assim que tivermos novidades, avisamos você!