Integração SDK Efí Node NestJS

EXIBINDO RESPOSTAS:

Avatar discord do usuario allanmello

allanmello

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 joaolucas_efi

joaolucas_efi

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

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

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

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".