@dueheads/citi-bank-boleto-sdk
Version:
SDK para registro de boletos na API do Citibank via mTLS.
107 lines (106 loc) • 3.73 kB
JavaScript
;
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();