Começando
Início rápido
Valide a sua chave e faça a primeira consulta de classificação fiscal.
O GetTax recebe o GTIN de um produto e o CFOP da operação e devolve as alternativas de enquadramento de CBS e IBS: CST, cClassTrib, alíquotas por componente e fundamento legal, com a versão de cada regra e tabela usada na decisão.
Atenção
A API está em homologação. Regras, tabela de cClassTrib e alíquotas ainda estão em validação pela curadoria fiscal e podem incluir dados de demonstração. Não emita documento fiscal real com base nestas respostas.
Antes de começar#
Você precisa de:
- Uma chave de API, no formato
gtx_<16 hex>.<64 hex>, criada no portal da revenda, em Chaves de API. O acesso ao portal é por convite da equipe GetTax. Ver Autenticação. - A URL base da API, informada pela equipe GetTax.
- Um backend para fazer as chamadas. A chave não pode ir para navegador, app ou PDV.
Defina as duas variáveis usadas em todos os exemplos:
export GETTAX_URL="https://..." # URL base informada pela equipe GetTaxexport GETTAX_KEY="gtx_0123456789abcdef.<segredo de 64 caracteres hexadecimais>"Requisições e respostas usam JSON em UTF-8. Envie Content-Type: application/json em toda requisição com corpo.
1. Valide a chave#
A lista de setores exige chave e não consome franquia. É o jeito mais barato de confirmar que a chave e o cabeçalho estão certos.
curl -sS "$GETTAX_URL/v1/enums/sectors" \ -H "Authorization: Bearer $GETTAX_KEY"{ "sectors": ["VAREJO_GERAL", "BAR_RESTAURANTE", "PRODUTOR_RURAL", "GOVERNO", "ATACADO", "ZONA_FRANCA"]}Se vier 401 com {"error": "INVALID_API_KEY"}, confira a chave e o cabeçalho Authorization.
2. Consulte um produto#
Envie o GTIN e o CFOP da operação. Esta consulta consome uma unidade da franquia.
curl -sS -X POST "$GETTAX_URL/v1/classifications/resolve" \ -H "Authorization: Bearer $GETTAX_KEY" \ -H "Content-Type: application/json" \ -d '{"gtin": "7891000315507", "cfop": "5102"}'sector (setor do cliente final) e referenceDate (data de vigência) são opcionais. Ver Dados da consulta.
3. Leia a resposta#
Uma resposta CLASSIFIED com uma alternativa (valores ilustrativos):
{ "decisionVersion": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d", "status": "CLASSIFIED", "reason": null, "gtin": "07891000315507", "cfop": "5102", "sector": null, "referenceDate": "2026-10-20", "product": { "id": "5e6f7a8b-9c0d-4e1f-a2b3-c4d5e6f7a8b9", "gtinAsProvided": "7891000315507", "description": "ARROZ BRANCO TIPO 1 5KG", "brand": "MARCA EXEMPLO", "ncm": "10063021", "ncmSource": "GS1", "cest": null, "gpcCode": null, "imageUrl": null, "sourceKind": "BULK" }, "classifications": [ { "stage": "PRODUCT", "rule": { "id": "3f6b2c1e-8a4d-4f2b-9c7e-1d2a3b4c5d6e", "version": 1, "effectiveFrom": "2026-01-01", "effectiveTo": null, "ncm": "1006", "gtin": null, "sector": null }, "cst": "200", "cClassTrib": "200034", "applicability": "Venda para alimentação humana.", "observation": null, "legalBasis": "LC 214/2025, Art. 135", "taxClassification": { "id": "6f7a8b9c-0d1e-4f2a-b3c4-d5e6f7a8b9c0", "sourceVersion": "CCLASSTRIB-2026", "effectiveFrom": "2026-01-01", "effectiveTo": null, "cst": "200", "cClassTrib": "200034", "reductionPctIbs": "0.600000", "reductionPctCbs": "0.600000", "gTribRegular": false, "isApplicable": true, "calculationMode": "STANDARD", "legalBasis": "LC 214/2025, Art. 135" }, "rates": [ { "id": "0b1c2d3e-4f50-4a61-8b72-c3d4e5f60718", "sourceVersion": "ALIQUOTAS-2026", "effectiveFrom": "2026-01-01", "effectiveTo": null, "component": "CBS", "rate": "0.009000" }, { "id": "1c2d3e4f-5061-4b72-9c83-d4e5f6071829", "sourceVersion": "ALIQUOTAS-2026", "effectiveFrom": "2026-01-01", "effectiveTo": null, "component": "IBS_UF", "rate": "0.001000" }, { "id": "2d3e4f50-6172-4c83-ad94-e5f60718293a", "sourceVersion": "ALIQUOTAS-2026", "effectiveFrom": "2026-01-01", "effectiveTo": null, "component": "IBS_MUN", "rate": "0.000000" } ], "components": [ { "component": "CBS", "cst": "200", "cClassTrib": "200034", "status": "STANDARD", "standardRate": "0.009000", "reductionPct": "0.600000", "effectiveRate": "0.003600" }, { "component": "IBS_UF", "cst": "200", "cClassTrib": "200034", "status": "STANDARD", "standardRate": "0.001000", "reductionPct": "0.600000", "effectiveRate": "0.000400" }, { "component": "IBS_MUN", "cst": "200", "cClassTrib": "200034", "status": "STANDARD", "standardRate": "0.000000", "reductionPct": "0.600000", "effectiveRate": "0.000000" } ], "calculation": { "status": "CALCULATED" } } ]}Leia nesta ordem:
status:CLASSIFIEDquer dizer que todas as alternativas têm resultado.PENDING,IN_REVIEWeNOT_FOUNDtambém chegam com HTTP 200 e pedem outra ação. Ver Status e alternativas.classifications[]: cada item é uma alternativa de enquadramento.cstecClassTribvão no documento fiscal;applicabilitydiz quando a alternativa se aplica. Com mais de uma alternativa, a ordem não é recomendação.components[]: a alíquota de cada componente. Aqui, CST 200 com redução de 60% (0.600000) sobre CBS de 0,9% dá CBS efetiva de 0,36% (0.003600). Os valores são strings de fração decimal. Ver Componentes e alíquotas.decisionVersion: identifica esta decisão na trilha de auditoria. Guarde junto do documento emitido.
Próximos passos#
- Autenticação: formato da chave, troca, revogação e como guardá-la.
- Status e alternativas: o que fazer em cada status.
- Consultar em lote: até 100 itens por requisição, para carga de catálogo.
- Boas práticas: o que guardar, como tratar decimais e quando repetir uma consulta.
