Skip to content

viavarejo/b2b-sdk-api-node

Repository files navigation

SDK node para API B2B

Provê os componentes em javascript para o uso da API B2B, disponibilizado pela VIA, facilitando a integração com as documentações relacionadas:

Documentação Swagger

Swagger
http://api-integracao-pontofrio.hlg-b2b.net/swagger/ui/index#/
http://api-integracao-casasbahia.hlg-b2b.net/swagger/ui/index#/
http://api-integracao-extra.hlg-b2b.net/swagger/ui/index#/

Configurando o ambiente

Instalar:

  • node js

  • typescript

npm install -g typescript

  • mocha

npm i --save-dev @types/mocha

  • node-fetch

npm install node-fetch

  • dotenv

npm install dotenv

  • chai

npm i --save-dev chai

Configurando o SDK

Dentro da pasta raiz se encontra o arquivo de configurações (.env.example), renomear para .env e configurar as duas propriedades:

  • HOST_BANDEIRA (end-point utilizado).
  • TOKEN_PARCEIRO (token de acesso).

Estrutura do projeto

A estrutura de pastas do projeto é composto pela pasta raiz [app] e dentro dela as pastas [js] e [ts], os arquivos javascript da pasta [js] é o resultado da compilação das classes Typescript da [ts]. Também possui a pasta [test] onde encontra-se os arquivos de teste das api, e servirão de exemplo de como consumir as api's.

Classe de representação de cada path das APIs disponíveis

Na pasta [app / ts / api] contem as classes:

  • CampanhaApi
  • FormaPagamentoApi
  • PedidoApi
  • ProdutoApi
  • SegurancaApi

Estas classes compõe a camada de acesso para os serviços disponibilizados pelo B2B, alguns exemplos de como utiliza-las estão disponíveis.

Classes DTO e Helpers

Na pasta [app / ts / model] e [app / ts / helper] estão as classes DTO e Helper que auxiliam nos requests e responses das chamadas da api.

Classe para criptografia

Na pasta [app / ts / security] está a classe de criptografia para os dados do cartão de crédito, eles devem ser criptografados pelo parceiro. A encriptação deverá ser do tipo RSA2048 (RSA2048 PKCS1-UTF8) e deverá utilizar uma chave pública fornecida pela Via Varejo, no Swagger, GET /seguranca/chaves.

Classe para comunicação com Api's

Na pasta [app / ts / service] está a classe de serviço responsável por fazer a comunicação com a Api.

Compilando typescript

npm run compile

A seguir, são apresentadas as APIs e exemplos com as principais operações do B2B.






Testes unitarios

Foram criados na pasta [ test ] um arquivo específico para cada uma das 5 API's do B2B, nesses arquivos você encontrará exemplos de como consumir os serviços oferecidos.

Na pasta [tests] contem os arquivos:

  • campanha-api-test.ts
  • forma-pagamento-api-test.ts
  • pedido-api-test.ts
  • produto-api-test.ts
  • seguranca-api-test.ts

Para fazer teste de arquivo individual:

npm test ./test/campanha-api-test.ts

Screenshot

  • Teste geral:

npm test ./test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published