Histórico de mensagens sobre timeout em bolix

EXIBINDO CONVERSAS RECENTES:

Texto: timeout
Canal: bolix
Avatar discord do usuario rafaelogliari

rafaelogliari

Ver Respostas

Bom dia!

Estou com dificuldades de gerar boleto com PHP Curl. Sempre retorna: Unauthorized.
Utilizei credencias de Homologação.

Estou utilizando esse modelo:
$config = [
"client_id" => "Client_Id_....",
"client_secret" => "Client_Secret_...."
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://cobrancas-h.api.efipay.com.br/v1/charge/one-step',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"items": [{
"name": "Product 1",
"value": 500,
"amount": 1
}],
"shippings": [{
"name": "Default Shipping Cost",
"value": 100
}],
"payment": {
"banking_billet": {
"expire_at": "2024-04-16",
"customer": {
"name": "Gorbadoc Oldbuck",
"email": "[email protected]",
"cpf": "10617184682",
"birth": "1977-01-15",
"phone_number": "62986070247"

}
}
}
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario joaoscorissa

joaoscorissa

Ver Respostas

Boa tarde, estou com uma dificuldade no recebimento de notificações webhook, eu crio a cobrança informando o notification_url no metadata, porém não recebo as notificações, na plataforma as notificações estão com o status 408 e nos detalhes é informado que o servidor não respondeu, causando um timeout

Avatar discord do usuario gustavocarvalho5015

gustavocarvalho5015

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://v5.chatpro.com.br/$id_instancia/api/v1/send_message",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"number\":\"$numero_telefone\",\"message\":\"$texto\"}",
CURLOPT_HTTPHEADER => [
"Authorization: $token",
"accept: application/json",
"content-type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}

Avatar discord do usuario adamo.avelino

adamo.avelino

Porém quando tento buscar pela api, é retornado que o ID informado não existe.
O código que estou utilizando é bem simples.

PHP
$options = [
"client_id" => env('CLIENT_ID'),
"client_secret" => env('CLIENT_SECRET'),
"certificate" => __DIR__.'/../../../../'.env('CERTIFICATE'),
"sandbox" => false,
"debug" => true,
"timeout" => env('TIMEOUT')
];

$api = new \Gerencianet\Gerencianet($options);
$response = $api->detailCharge(['id' => 494940933]);

Avatar discord do usuario felipjose

felipjose

Bom dia.

Estou hoje com lentidão e em muitos casos com timeout na abertura dos boletos gerados pela API

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Realizei alguns testes aqui no ambiente sandbox e correu normalmente.
Vale ressaltar que em sandbox o tempo de resposta é um pouco maior, o que pode causar timeout dependendo da linguagem

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Esse sintoma é presença comum no canal, inclusive com sugestões de aumentar o timeout para mais de 30s... o que é um tempo alto para uma requisição relativa a um ítem, apesar de razoável para uma requisição relativa a vários. Uma maneira de lidar com isso é "assincronizar" tudo, que é o que se nota por exemplo na Amazon (e-commerce, não AWS). Isso não só torna o seu sistema não impactado por tempos de resposta, mas também aumenta bastante sua escalabilidade... a contra-partida é que você "enche" seu cliente com e-mails conforme as coisas acontecem.

Avatar discord do usuario Joel Fragoso

Joel Fragoso

Resolvido, só aumentei o timeout e consegui gerar o boleto. obg.

Avatar discord do usuario jrodella

jrodella

Já consegui resolver aumentando o tempo de timeout, obrigado!

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Tente aumentar o timeout e veja se funciona, tem o atributo "timeout" que pode ser passado como parâmetro, veja: https://github.com/gerencianet/gn-api-sdk-php#getting-started

json
$options = [
'client_id' => 'client_id',
'client_secret' => 'client_secret',
'pix_cert' => '../certs/developmentCertificate.pem',
'sandbox' => true,
'debug' => false,
'timeout' => 30
];

$api = new Gerencianet($options);

Avatar discord do usuario thomas.frankl1n

thomas.frankl1n

Ver Respostas

Na verdade está dando timeout

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Aumentar o tempo basicamente fala para a SDK esperar mais tempo entre o envio da requisição e a resposta, o ideal mesmo é verificar se existe alguma instabilidade no link de internet, pois, caso a requisição esteja demorando para chegar em nossa API o timeout de 30 segundos pode não ser o suficiente.

Avatar discord do usuario glaitonsilva

glaitonsilva

Ver Respostas

Então aumentando para 'timeout' => 60 isso não acontecera mais? Ou ainda tem alguma chance de acontecer?

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia, <@!617773421241040982>! Essa falha de curl ocorre quando retornamos o JSON com a resposta da requisição mas a sua aplicação já não está mais "esperando" e corta a conexão. Geralmente é devido ao link de internet que demora para entregar a resposta da API. Uma coisa que você pode fazer é aumentar o tempo de timeout como por exemplo: timeout => 60

Avatar discord do usuario hiagosilvas

hiagosilvas

É que na instituição que uso atualmente aconteceu de dar timeout nos backends deles e o boleto ter sido gerado também..

Avatar discord do usuario christianosilveira4948

christianosilveira4948

Ver Respostas

hWebService := CURL_EASY_INIT()

IF !EMPTY(hWebService)

CURL_EASY_SETOPT(hWebService, HB_CURLOPT_URL, "https://sandbox.gerencianet.com.br/v1/authorize")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_RETURNTRANSFER, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_ENCODING, '')
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_MAXREDIRS, 10)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_TIMEOUT, 0)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_FOLLOWLOCATION, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_1")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_CUSTOMREQUEST, "POST")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_POSTFIELDS, {"grant_type","client_credentials"})
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTPHEADER, {'Authorization: Basic Q2...','Content-Type: application/json'})

ncurlErr:=curl_easy_perform (hWebService)
IF ncurlErr > 0
? "Curl Error: "+str(ncurlErr)
ENDIF

ENDIF

curl_easy_cleanup( hWebService )

Avatar discord do usuario danilowiener

danilowiener

Ver Respostas

então, eu to usando o exemplo do gerencianet https://s3.amazonaws.com/gerencianet-pub-prod-1/printscreen/2021/03/25/marcelo.machado/36b99c-f16791cc-a4d4-4182-b9af-f069059e5c22.png para fazer o php, a chamada do usando desta forma, já uso assim para gerar os boletos, mas nunca usei via put...
$qp.ajax({
type : "post",
url : "_QUITAR_boletocliente.php",
data : "_method=put&id_transacao="+id,
dataType : "html",
success : function (htmlquitar){
alert(htmlquitar); //ver retorno do php
if(htmlquitar==1){
setTimeout(function(){ location.reload(); }, 3000);
}
}
});