UNPKG

@dueheads/citi-bank-boleto-sdk

Version:

SDK para registro de boletos na API do Citibank via mTLS.

107 lines (106 loc) 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const src_1 = require("./src"); async function main() { // Configuração do SDK com os caminhos para seus certificados const sdk = new src_1.CitiBankBoletoSDK({ certPath: './certs/cert.crt', keyPath: './certs/private.key', rejectUnauthorized: false, // Lembre-se: use 'true' em produção debug: true, // Ativa o modo de depuração para logs detalhados }); // --- Exemplo 1: Usando o novo padrão Builder (Recomendado) --- console.log("--- Iniciando registro com o Padrão Builder ---"); // Dados do boleto separados para clareza const beneficiario = { identificador: "1234", inscricao: "1234", tipo: "J", // 'F' para CPF, 'J' para CNPJ convenio: "1234", // Identificação do convênio nome: "EMPRESA LTDA" // Nome do beneficiário }; const pagador = { tipo_inscricao: "1", // '1' para CPF, '2' para CNPJ inscricao: "05607107981", nome: "Thiago Gonzaga Pedroso", email: null, endereco: { cep: "057057128", logradouro: "Rua pamplona", numero: "145", complemento: null, bairro: "Jardim Paulista", cidade: "Sao Paulo", uf: "SP" } }; const sacador = { tipo_inscricao: null, inscricao: null, nome: null, email: null, endereco: { cep: null, logradouro: null, numero: null, complemento: null, bairro: null, cidade: null, uf: null } }; const documento = { numero: "2407081575", nosso_numero: "2487081587", especie: "03", valor: "1.02", data_emissao: "2025-07-08", data_vencimento: "2025-10-30", data_processamento: "2025-07-11", mensagem: "Mensagem de teste via SDK", pagamento_parcial: { permitido: null, quantidade: null }, protesto: null, multa: null, juros: null, desconto: null, pix_cobranca: null }; try { sdk .onSuccess((res) => { console.log('SUCESSO (Builder):', res); }) .onError((res) => { console.error('ERRO DE NEGÓCIO (Builder):', JSON.stringify(res, null, 2)); }) .onFail((error) => { console.error('FALHA GERAL (Builder):', error); }); sdk.setBeneficiario(beneficiario); sdk.setPagador(pagador); sdk.setSacador(sacador); sdk.setDocumento(documento); await sdk.registraBoleto(); } catch (error) { console.error('Ocorreu um erro fatal na execução do SDK (Builder):', error); } // --- Exemplo 2: Usando o método original com o payload completo --- //console.log("\n--- Iniciando registro com o Payload Completo ---"); // O mesmo objeto de boleto, mas agora montado de uma vez const boletoCompleto = { dadosBeneficiario: beneficiario, dados: { pagador: pagador, sacador: sacador, documento: documento } }; try { // Você pode registrar os hooks e depois chamar o método sdk.onSuccess((res) => { console.log('SUCESSO (Payload):', res); }).onError((res) => { console.error('ERRO DE NEGÓCIO (Payload):', JSON.stringify(res, null, 2)); }).onFail((error) => { console.error('FALHA GERAL (Payload):', error); }); //await sdk.registraBoletoWithPayload(boletoCompleto); } catch (error) { console.error('Ocorreu um erro fatal na execução do SDK (Payload):', error); } } main();