API de integração fiscal
A API fiscal deixa o seu sistema cadastrar empresas e certificados e emitir e acompanhar CT-e e MDF-e. Ela é um produto à parte, só por API: você chama os endpoints com uma credencial que a equipe Subcontratei emite para você. Não há login nem tela para a conta da API fiscal.
URL base: https://api.logmonitor.com.br/services/v1/integracoes. Todos os caminhos desta referência partem dela, por exemplo GET /services/v1/integracoes/ctes. A resposta é sempre JSON, no envelope da Subcontratei.
Usa IA para integrar? Esta referência em markdown limpo está em /llms.txt (índice) e /llms-full.txt (tudo numa página); cada página também abre em .md, como /ctes.md.
Ambientes
A mesma URL atende os dois ambientes. O que decide é a credencial:
- Produção (
sbc_live_…): emite documentos fiscais reais, no ambiente de produção da SEFAZ. - Homologação (
sbc_test_…): emite no ambiente de homologação, para testar a integração sem valor fiscal.
Comece com a credencial de homologação. A de produção sai depois, quando a homologação estiver concluída.
Credenciais
A credencial é emitida pela equipe Subcontratei, mediante contrato da API fiscal. Ela é o único acesso à conta: não há usuário para entrar em nenhum app. Ela sai primeiro de teste (sbc_test_…), para você integrar sem valor fiscal. Depois da homologação, sai a de produção (sbc_live_…).
Na emissão, a equipe combina com você:
- Nome, para reconhecer a credencial depois.
- Ambiente: produção ou homologação. Não muda depois. Conta em homologação só recebe credencial de homologação.
- Escopos: o que a credencial pode fazer (veja abaixo). Ao menos um.
- Empresas (CNPJs) permitidas: as empresas da conta com que ela trabalha, ou todas, inclusive as cadastradas depois. A credencial só vê os documentos dessas empresas; os demais respondem
404. - IPs: até 20 IPs (
200.10.20.30) ou faixas (200.10.20.0/24) de onde as chamadas podem vir. Vazio aceita qualquer IP. - Validade: opcional. Depois da data, as chamadas recebem
401.
O token e o segredo chegam uma vez só
O token (sbc_live_… ou sbc_test_…, com 40 caracteres depois do prefixo) e o segredo de assinatura (sbcsig_…) chegam por link de uso único, em canais separados. Depois de abrir o link, eles não aparecem de novo: guarde os dois num cofre de segredos.
Troca e revogação do token: para trocar ou revogar o token, peça à equipe Subcontratei. Ela emite um token novo, e o anterior continua valendo por mais 24 h, para você trocar sem parar a integração. Perdeu o token? Peça um novo à equipe, pelo mesmo caminho.
Revogação da credencial: para desativar a credencial inteira, peça à equipe. Revogada, ela e todos os tokens dela param na hora, com 401.
Consultar a credencial
GET https://api.logmonitor.com.br/services/v1/integracoes/credencial
Devolve o que a credencial do token da chamada pode fazer. Serve para conferir, logo depois de receber o token, o ambiente, os escopos, as empresas e os IPs. Não exige escopo: qualquer credencial ativa lê os próprios dados. Também não pede assinatura nem Idempotency-Key.
http
GET /services/v1/integracoes/credencial
Authorization: Bearer sbc_test_…
Accept: application/jsonResposta 200:
json
{
"status": "success",
"identifier": 1790000000,
"message": "",
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"nome": "Integração do ERP",
"ambiente": "homologacao",
"escopos": ["empresas:ler", "ctes:ler", "ctes:emitir"],
"empresas": ["00000000000000"],
"ips": ["200.10.20.0/24"],
"expira_em": "2027-01-31T23:59:59-03:00",
"ultimo_uso_em": "2026-11-04T10:15:00-03:00",
"token": {
"prefixo": "sbc_test_xxxx…",
"expira_em": null,
"ultimo_uso_em": "2026-11-04T10:15:00-03:00"
}
},
"return_type": "SUCCESS"
}uuid: o identificador da credencial.nome: o nome combinado na emissão.ambiente:producaoouhomologacao.escopos: a lista de escopos da credencial.empresas: os CNPJs permitidos, ounullquando a credencial vale para todas as empresas da conta, inclusive as cadastradas depois.ips: os IPs e faixas permitidos.[]aceita qualquer IP.expira_em: a validade da credencial, em ISO 8601, ounullsem validade.ultimo_uso_em: a última chamada da credencial, em ISO 8601, ounullse nunca foi usada.token: o token usado nesta chamada.prefixo: os 13 primeiros caracteres do token, seguidos de…, para você reconhecê-lo.expira_em: só vem preenchido no token antigo, durante as 24 h da troca; senão,null.ultimo_uso_em: a última chamada com este token, ounull.
O segredo de assinatura e o token inteiro nunca aparecem na resposta.
Erros: 401 com token ausente, inválido, vencido ou revogado; 403 ip_nao_permitido, assinatura_inativa ou feature_indisponivel (recusas 403); 429 acima do limite.
Escopos
| Escopo | O que libera |
|---|---|
empresas:ler | Listar e consultar empresas e ver o certificado. |
empresas:gerenciar | Cadastrar, alterar e enviar o certificado. |
ctes:ler | Listar, consultar, baixar o XML e listar eventos do CT-e. |
ctes:emitir | Emitir CT-e. |
ctes:eventos | Registrar eventos do CT-e. |
mdfes:ler | Listar, consultar, baixar o XML e listar eventos do MDF-e. |
mdfes:emitir | Emitir MDF-e. |
mdfes:eventos | Registrar eventos do MDF-e. |
webhooks:gerenciar | Cadastrar, alterar e excluir webhooks, rotacionar o segredo, testar e ver ou reenviar entregas. |
Sem o escopo da rota, 403 escopo_insuficiente, com data.escopo (o exigido pela rota) e data.escopos (os da credencial). Para ver o que a sua credencial pode fazer, consulte a credencial.
Cada grupo de rotas exige que o contrato da conta inclua o recurso correspondente: empresas, CT-e, MDF-e e webhooks. Uma rota fora do contrato responde 403 feature_indisponivel, com data.feature e a lista de recursos.
Por onde seguir
- Autenticação e assinatura: o token, a assinatura das escritas e a idempotência, com exemplos em JavaScript e PHP.
- Empresas e certificados: cadastrar a empresa emitente e enviar o certificado.
- CT-e: emitir, acompanhar, baixar o XML e registrar eventos.
- MDF-e: emitir, acompanhar e encerrar.
- Webhooks: ser avisado das mudanças, conferir a assinatura e tratar as novas tentativas.
- Respostas, erros e limites.