Provê os componentes em javascript para o uso da API B2B, disponibilizado pela VIA, facilitando a integração com as documentações relacionadas:
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#/ |
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
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).
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.
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.
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.
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.
Na pasta [app / ts / service] está a classe de serviço responsável por fazer a comunicação com a Api.
npm run compile
A seguir, são apresentadas as APIs e exemplos com as principais operações do B2B.
-
Api Utilizada para operações de campanha. Os testes unitários estão disponiveis no arquivo test/campanha-api-test.ts. Esses testes servirão como exemplo de utilização da api.
-
Api utilizada para operações de pedidos. Os testes unitários estão disponiveis no arquivo test/pedido-api-test.ts. Esses testes servirão como exemplo de utilização da api.
As constantes do arquivo menionado acima ID_SKU_CRIACAO_PEDIDO, ID_SKU_CRIACAO_PEDIDO_COM_CARTAO, ID_CAMPANHA, ID_LOJISTA e CEP podem mudar dependendo de quando forem testar. Existe uma dependência entre os testes, pois a massa de dados é criado em tempo de execução do teste.
-
Api Utilizada para operações de forma de pagamento, Os testes unitários estão disponiveis no arquivo test/forma-pagamento-api-test.ts. Esses testes servirão como exemplo de utilização da api.
-
Api Utilizada para operações de produto. Os testes unitários estão disponiveis no arquivo test/produto-api-test.ts. Esses testes servirão como exemplo de utilização da api.
-
Api Utilizada para operações de seguranca. Os testes unitários estão disponiveis no arquivo test/segurqanca-api-test.ts. Esses testes servirão como exemplo de utilização da api.
Obter chave pública 2048 bits utilizada para criptografia dos dados do cartão: http://api-integracao-casasbahia.hlg-b2b.net/swagger/ui/index#!/Seguranca/Seguranca_ObterChave http://api-integracao-pontofrio.hlg-b2b.net/swagger/ui/index#!/Seguranca/Seguranca_ObterChave http://api-integracao-extra.hlg-b2b.net/swagger/ui/index#!/Seguranca/Seguranca_ObterChave
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
- Teste geral:
npm test ./test