Como começar
Instalando
Preferencialmente, recomendamos o NodeJs em sua versão LTS (latest).
Execute o comando abaixo que instala as dependências necessárias com o npm:
$ npm install @woovi/node-sdk
Dessa forma, o SDK será instalado.
Criando o cliente
O ponto de entrada do SDK é um createClient
para o serviço.
CommonJs:
const WooviSdk = require("@woovi/node-sdk");
// Para inicializar
const woovi = WooviSdk.createClient({appId: "seu-app-id"});
Ts/Module:
import { createClient } from "@woovi/node-sdk"
// Para inicializar
const woovi = createClient({appId: "seu-app-id"})
O método createClient
cria um novo cliente a partir de um ID de aplicativo obtido no site da OpenPix.
Chamando a API
Um cliente possui recursos (por exemplo: clientes, cobranças, assinaturas, etc.) que podem ser acessados através de createClient
.
woovi.customer
Cada recurso irá ter um conjunto de métodos que podem serem executados para realizarem operações:
const client = woovi.customer.create({}); //lembre-se de passar o payload de criação de cliente
Opera ções em recursos
Em cada recurso, há uma convenção nos nomes das operações, na qual, em sua maioria, se resumem em:
get
: Obter apenas um recurso. Associado ao verbo HTTPGET
.list
: Obter vários recursos, de forma paginada. Associado ao verbo HTTPGET
.create
: Criar um recurso. Associado ao verbo HTTPPOST
.delete
: Remover um recurso. Associado ao verbo HTTPDELETE
.
Formato das entradas
No caso de operações de listagem, normalmente se aceita um objeto com um uma chave opcional de paginação.
woovi.refund.list({ skip: 0, limit: 20 })
Formato de saída
A execução de uma operação irá devolver resultados da API na forma de um array direto ou na forma de um paginador, caso este seja aplicado ao metodo usado.
Tipagem
Em cada operação disponível para um determinado tipo de recurso, existem tipagens disponíveis direto na resposta, informando o formato de entrada e saída da operação com um link para a documentação da API Rest e exemplo de utilização.
Para utilizar, é sugerido utilizar um editor com Intellisense como Visual Studio Code.
Também é possível consultar a documentação no site da OpenPix caso haja dúvidas.
Recursos disponíveis
Os seguintes recursos estão disponíveis no Client
gerado:
woovi.account
: Operações em uma conta.woovi.cashback
: Operações em cashback.woovi.charge
: Operações em uma carga de pagamento.woovi.chargeRefund
: Operações em em extorno de uma carga.woovi.customer
: Operações em clientes.woovi.partner
: Operações em parceiros.woovi.pixQrCode
: Operações em codigos qr relacionados a pix.woovi.refund
: Operações em extorno.woovi.subAccount
: Operações em sub contas.woovi.subscription
: Operações em inscrições.woovi.transactions
: Operações em transações.woovi.transfer
: Operações em transferencias.woovi.webhook
: Operações em webhook.
Webhook
O método webhook conta com um recurso especial chamado handle, ótimo para ser usado para validar recursos diretamente na sua api. Veja a seguir como ultiliza-lo:
import { createClient } from "@woovi/node-sdk";
const woovi = createClient({ appId: "seu-app-id" });
const handler = woovi.webhook.handler({
onChargeCompleted: async (payload) => {},
onChargeExpired: async (payload) => {},
});
export const POST = handler.POST;
Post recebe sua requisição.
Dependências
O projeto não ultiliza de dependencias externas para seu funcionamento.