@contai-evoluke/sdk
v0.1.0
Published
SDK oficial TypeScript da API Contaí — 27 calculadoras fiscais brasileiras (CLT, PJ, impostos, finanças, saúde) com tipos completos.
Maintainers
Readme
@contai-evoluke/sdk
SDK oficial TypeScript da API Contaí — 27 calculadoras fiscais brasileiras.
CLT, PJ, impostos, finanças, saúde — engine puro versionado, mesma fórmula que roda em calculas.com.br. Zero deps de runtime.
Instalação
npm install @contai-evoluke/sdk
# ou
pnpm add @contai-evoluke/sdk
# ou
bun add @contai-evoluke/sdkUso
import { ContaiClient } from '@contai-evoluke/sdk'
// Free tier (sem auth — 100 req/dia por IP)
const client = new ContaiClient()
// Pro/Team (10k ou 50k req/dia, autenticado)
const client = new ContaiClient({ apiKey: 'ck_live_...' })
// Calcular rescisão CLT
const r = await client.calc('rescisao-clt', {
tipo: 'sem_justa_causa',
salarioBrutoCents: 500_000, // R$ 5.000,00
admissao: '2024-01-01',
demissao: '2026-04-01',
})
console.log(r.totalLiquidoCents) // valor em centavos
console.log(r.formula) // string explicativaTratamento de erros
import { ContaiClient, ContaiApiError } from '@contai-evoluke/sdk'
try {
await client.calc('rescisao-clt', { ... })
} catch (err) {
if (err instanceof ContaiApiError) {
if (err.code === 'RATE_LIMITED') {
// Backoff e retry
} else if (err.code === 'INVALID_INPUT') {
// err.details tem o path do campo
}
}
}Slugs disponíveis
type CalcSlug =
| 'rescisao-clt'
| 'salario-liquido'
| '13o-salario'
| 'ferias'
| 'horas-extras'
| 'horas-extras-dsr'
| 'fgts-acumulado'
| 'adicional-noturno'
| 'aviso-previo'
| 'inss-facultativo'
| 'insalubridade-periculosidade'
| 'seguro-desemprego'
| 'mei-das'
| 'simples-nacional'
| 'lucro-presumido'
| 'comparador-regime-tributario'
| 'financiamento-imobiliario'
| 'itbi'
| 'itcmd'
| 'ipva'
| 'irpf-restituicao'
| 'juros-compostos'
| 'simulador-aposentadoria'
| 'consorcio-vs-financiamento'
| 'porcentagem'
| 'imc'
| 'calculadora-gestacional'Outros métodos
// Lista calcs
await client.listCalcs()
// Schema de inputs (pra UI dinâmica)
await client.getSchema('rescisao-clt')
// Taxas BCB
await client.getRates()
// OpenAPI spec
await client.getOpenApiSpec()Configuração avançada
const client = new ContaiClient({
apiKey: 'ck_live_...',
baseUrl: 'https://api.calculas.com.br', // default
timeoutMs: 10_000, // default
fetch: customFetch, // pra Node 16- ou polyfills
userAgent: 'meu-app/1.0',
})Cancelamento
const ctrl = new AbortController()
setTimeout(() => ctrl.abort(), 5000)
await client.calc('rescisao-clt', { ... }, { signal: ctrl.signal })Documentação
Licença
MIT
