@azify/caas-backoffice-sdk
v1.4.0
Published
TypeScript SDK for Azify CaaS Backoffice API - Partners and Vaults management
Readme
Azify Backoffice SDK
SDK em TypeScript para integração com a API Azify Backoffice, fornecendo acesso fácil às funcionalidades de gerenciamento de Partners e Vaults.
Instalação
npm install @azify/caas-backoffice-sdkInício Rápido
import { CaasBackofficeSDK } from '@azify/caas-backoffice-sdk';
const sdk = new CaasBackofficeSDK({
baseUrl: 'https://caas.aztech.rest/api/v1.0/Backoffice',
clientId: 'seu-client-id',
clientSecret: 'seu-client-secret',
});Exemplos de Uso
Gerenciamento de Partners
// Listar partners paginados
const partners = await sdk.partners.getPaginated({
page: 1,
perPage: 10,
});
console.log('Partners:', partners);
// Obter partner por ID
const partner = await sdk.partners.getById({ id: 123 });
console.log('Partner:', partner);
// Desabilitar ou habilitar partner
const result = await sdk.partners.disableOrEnable({ id: 123 });
console.log('Status alterado:', result);Gerenciamento de Vaults
// Listar vaults paginados
const vaults = await sdk.vaults.getPaginated({
page: 1,
perPage: 10,
partnerId: 123, // opcional
});
console.log('Vaults:', vaults);
// Obter vault por UUID
const vault = await sdk.vaults.getByUuid({ uuid: 'uuid-do-vault' });
console.log('Vault:', vault);
// Obter saldo de um ativo do vault
const balance = await sdk.vaults.getAssetBalance({
vaultUuid: 'uuid-do-vault',
currency: 'BTC_TEST',
});
console.log('Saldo:', balance);Tratamento de Erros
import { BackofficeSDKError } from '@azify/backoffice-sdk';
try {
const partner = await sdk.partners.getById({ id: 123 });
} catch (error) {
if (error instanceof BackofficeSDKError) {
console.error('Erro do SDK:', {
message: error.message,
statusCode: error.statusCode,
details: error.details
});
} else {
console.error('Erro inesperado:', error);
}
}Exemplo Completo
import { CaasBackofficeSDK, BackofficeSDKError } from '@azify/backoffice-sdk';
async function exemploCompleto() {
const sdk = new CaasBackofficeSDK({
baseUrl: 'https://caas.aztech.rest/api/v1.0/Backoffice',
clientId: 'seu-client-id',
clientSecret: 'seu-client-secret',
timeout: 30000,
retries: 3,
retryDelay: 1000,
});
try {
// 1. Listar partners
const partners = await sdk.partners.getPaginated({
page: 1,
perPage: 10,
});
console.log('✅ Partners encontrados:', partners.total);
// 2. Obter detalhes de um partner
if (partners.result.length > 0) {
const partner = await sdk.partners.getById({ id: partners.result[0].id });
console.log('✅ Partner:', partner.name);
}
// 3. Listar vaults
const vaults = await sdk.vaults.getPaginated({
page: 1,
perPage: 10,
});
console.log('✅ Vaults encontrados:', vaults.total);
// 4. Obter saldo de um vault
if (vaults.result.length > 0) {
const balance = await sdk.vaults.getAssetBalance({
vaultUuid: vaults.result[0].uuid,
currency: 'BTC_TEST',
});
console.log('💰 Saldo:', balance.available);
}
} catch (error) {
if (error instanceof BackofficeSDKError) {
console.error('❌ Erro na operação:', error.message);
} else {
console.error('❌ Erro inesperado:', error);
}
}
}
exemploCompleto();Autenticação
O SDK utiliza autenticação Basic Auth. Você deve fornecer clientId e clientSecret na configuração do SDK:
const sdk = new CaasBackofficeSDK({
baseUrl: 'https://caas.aztech.rest/api/v1.0/Backoffice',
clientId: 'seu-client-id',
clientSecret: 'seu-client-secret',
});Tipos TypeScript
O SDK inclui tipos TypeScript abrangentes para todas as requisições e respostas da API, proporcionando:
- Autocompletar no IDE
- Verificação de tipos em tempo de compilação
- Documentação inline dos parâmetros
- Tratamento de erros tipado
Configuração Avançada
const sdk = new BackofficeSDK({
baseUrl: 'https://caas.aztech.rest/api/v1.0/Backoffice',
clientId: 'seu-client-id',
clientSecret: 'seu-client-secret',
timeout: 30000, // Timeout em milissegundos (padrão: 30000)
retries: 3, // Número de tentativas em caso de falha (padrão: 1)
retryDelay: 1000, // Delay entre tentativas em milissegundos (padrão: 1000)
});
// Atualizar configuração após criação
sdk.updateConfig({
timeout: 60000,
});Licença
MIT
