Histórico de mensagens sobre sdk em módulos-plugins

EXIBINDO CONVERSAS RECENTES:

Texto: sdk
Canal: módulos-plugins
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

@felipecasseb., qual a versão da SDK que está utilizando?

Avatar discord do usuario felipecasseb.

felipecasseb.

Ver Respostas

Boa tarde! Estou utilizando o SDK da Gerencianet no Flutter. Estou tentando criar um link de pagamento, porém, retorna que que o endpoins oneStepLink não existe. Segui o exemplo do Github.
imagem enviada na mensagem pelo usuario felipecasseb.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @fabioselau! Verifiquei que na instalação da SDK está com um conflito em uma dependência do Laravel. Farei uma atualização para corrigir.
Caso queira já instalar para implementação, pode usar uma versão anterior da SDK sem problemas, basta executar o comando composer require efipay/sdk-php-apis-efi:1.0.1
Depois que lançar a correção poderá atualizar a SDK no seu projeto.

Avatar discord do usuario guilherme_efi

guilherme_efi

@fabioselau Você pode tentar modificar o código da SDK para substituir o SymfonyCache pelo RedisAdapter. Isso permitirá que todas as instâncias do aplicativo compartilhem o mesmo cache.

Segue uma ideia de como pode ficar o src/Efi/CacheRetriever.php:

php
use Symfony\Component\Cache\Adapter\RedisAdapter;

class CacheRetriever
{
private $cache;

public function __construct()
{
$redisConnection = RedisAdapter::createConnection('redis://localhost');
$this->cache = new RedisAdapter($redisConnection, 'Efi');
}

// ...
}

Avatar discord do usuario fabioselau

fabioselau

Fechou então, tu q criou o sdk, né? Se n for é o mesmo nome e a foto 🤣
Vou testar aqui, obrigado Guilherme

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @fabioselau! Tudo bem com você?
Sim, você pode implementar a SDK de PHP no Laravel sim!

O fato de usar várias máquinas com load balancing, o cache será armazenado localmente em cada máquina individualmente. Então se o cache não refletir em todas as máquinas, não poderá aproveitar o token de acesso. Mas não encontrado o cache, a SDK fará uma nova autenticação funcionando normalmente.

Avatar discord do usuario fabioselau

fabioselau

Ver Respostas

Galera, consigo utilizar o sdk do php no Laravel 10?
Pois vi que ele salva o token Bearer de acesso no cache utilizando o new FilesystemAdapter('Efi'), em Laravel funciona ou somente para PHP puro esse sdk? Pois se salva no local, em ambientes com várias máquinas com load balacing vai dá problema

Avatar discord do usuario allanmello

allanmello

Ver Respostas

Sim João, eu entendi isso. Antes mesmo de vcs responderem, tinha alterado o SDK para "gn-api-sdk-typescript". A questão é que qualquer lib desenvolvida p/ Node roda em Nestjs, já que o framework roda sob node.
Sugiro atualizar a documentação colocando um /Nestjs após o Typecrypt da documentação do SDK, Typescript/NestJS.
Para os próximos usuários não perderem tempo "debugando erros" em uso de SDK incorreto.
Bem como atualizar os vídeos com erratas, por exemplo:
No vídeo sobre Typescript, a função "gnCreateEvp" não existe, agora é "pixCreateEvp".

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @allanmello acredito que para funcionar dessa forma seria necessário um pacote da forma @types/gn-api-sdk-node, porém atualmente não temos este pacote disponibilizado.
Portanto sempre que for utilizar TS será necessário usar o pacote gn-api-sdk-typescript ou sdk-typescript-apis-efi.

Avatar discord do usuario allanmello

allanmello

Ver Respostas

Bom dia, Lucas. Sim, já tinha feito isso, trocado p/ o SDK Typescript.
Mas o SDK Node deveria funcionar no NestJS, já que o mesmo é um framework que roda sob o nodejs.
Grato

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @allanmello, tudo bem?
Pela mensagem recebida acredito que a falha seja por conta de sua aplicação ser desenvolvida em TS.
Caso sua aplicação esteja desenvolvida em TS, instale o pacote gn-api-sdk-typescript, altere a importação para buscar neste pacote e então deve ser possível instanciar a classe Gerencianet.

Avatar discord do usuario allanmello

allanmello

Ver Respostas

Boa tarde, estou com o seguinte cenário:
- Já possuo uma API em NestJS e estou integrando o GN Node SDK da Efi
- Porém alguns erros persistem ao tentar inicializar o SDK conforme orientações p/ Node

Perguntas:
- Qual a maneira correta de inicializar o SDK em NestJS, haja vista, que o SDK está gerando alguns erros como :
1 - Na Declaração ( import Gerencianet from 'gn-api-sdk-node':
Error: Could not find a declaration file for module 'gn-api-sdk-node'. 'd:/Desenv/Dev/Projetos/ServerPay/efiserver/node_modules/gn-api-sdk-node/index.js' implicitly has an 'any' type.

2 - No construtor ( this.apiGnet = new Gerencianet(this.options) ):
Error: gn_api_sdk_node_1.Gerencianet is not a constructor

3 - A SDK funciona com NestJS?

4 - Se funciona, onde encontro exemplo da mesma em NestJS?

Avatar discord do usuario alexmopereira

alexmopereira

Ver Respostas

@guilherme_efi desculpa, agora entendi o que perguntou da versão do SDK a minha é "version": "5.1.1",

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Certo. Acredito que possa ter alguma incorência na instação da SDK em seu projeto. De acordo com os logs que apresentou, o arquivo "/src/Gerencianet/Endpoints.php" refere-se a versão 5.x da SDK.

Faça o seguinte. Crie um backup da pasta "vendor" e arquivo "composer.lock". Confirme se no arquivo "composer.json" está a versão "1.0.17". Depois execute o comando composer install para instalar as dependências corretamente.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @alexmopereira! Tudo bem?
Qual é a versão da SDK de PHP instalada em seu projeto? Você está utilizando o método createCarnet para a emissão do carnê?

Avatar discord do usuario alexmopereira

alexmopereira

Ver Respostas

Bom dia, no meu sistema estou fazendo uma renegociação que preciso emitir um boleto da entrada e um carne com as demais parcelas, mas estou tendo o seguinte erro

Warning: Illegal string offset 'api' in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php on line 67

Warning: Illegal string offset 'sandbox' in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php on line 79

Warning: Illegal string offset 'url' in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php on line 79

Warning: Illegal string offset 'url' in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php on line 81

Fatal error: Uncaught TypeError: Argument 1 passed to Gerencianet\ApiRequest::__construct() must be of the type array or null, string given, called in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php on line 86 and defined in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/ApiRequest.php:13 Stack trace: #0 /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php(86): Gerencianet\ApiRequest->__construct() #1 /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/Endpoints.php(38): Gerencianet\Endpoints->Gerencianet\{closure}() #2 /www/wwwroot/sistema.representacoesrd.com.br/renegociacao/processa_renegociar.php(369): Gerencianet\Endpoints->__call() #3 {main} thrown in /www/wwwroot/sistema.representacoesrd.com.br/gerencianet/gn-api-sdk-php/src/Gerencianet/ApiRequest.php on line 13

ele gera o boleto mas nao o carnê.

Avatar discord do usuario victorzac

victorzac

Ver Respostas

Segue mensagem de erro: Fatal error: Uncaught Error: Undefined constant "Gerencianet\CURLOPT_SSLCERTTYPE" in /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Request.php:57 Stack trace: #0 /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Request.php(82): Gerencianet\Request->verifyCertificate() #1 /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Auth.php(50): Gerencianet\Request->send() #2 /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/ApiRequest.php(23): Gerencianet\Auth->authorize() #3 /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Endpoints.php(89): Gerencianet\ApiRequest->send() #4 /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Endpoints.php(38): Gerencianet\Endpoints->Gerencianet\{closure}() #5 /var/www/www_gn/gn-api-sdk-php/examples/pix/webhooks/pixDetailWebhook.php(26): Gerencianet\Endpoints->__call() #6 {main} thrown in /var/www/www_gn/gn-api-sdk-php/vendor/gerencianet/gerencianet-sdk-php/src/Gerencianet/Request.php on line 57

Avatar discord do usuario victorzac

victorzac

Digito meusite.com.br/www_gn/gn-api-sdk-php/examples/pix/webhooks/pixDetailWebhook.php e recebo erro 404