TF Fiscal

APIs principais

NFC-e

15 endpoints

POST/api/nfce/company/create

Cadastrar empresa para NFC-e

Cadastra (ou atualiza) uma empresa para emissão de NFC-e. Razão social, IE, endereço e demais dados são extraídos automaticamente via SintegraWS a partir do CNPJ. Se o CNPJ já existir para o usuário, atualiza os campos NFC-e e retorna a empresa existente.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken do distribuidor (b2b)
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
cnpj *stringCNPJ da empresa emissora
cert_content *stringConteúdo do arquivo do certificado A1 (.pfx/.p12) em Base64
cert_filestringDescontinuado — rejeitado a partir de 2026-09-01. URL HTTPS do certificado
cert_pwd *stringSenha do certificado
csc_id *stringID do CSC (Código de Segurança do Contribuinte) no Fisco
csc *stringToken CSC (segredo compartilhado com o Fisco)
serie_nfceintSérie da NFC-e
number_nfceintNúmero inicial da numeração de NFC-e
telefonestringTelefone da empresa

* Campo obrigatório. Demais dados (nome, IE, endereço, etc.) são extraídos automaticamente via SintegraWS pelo CNPJ.

POST/api/nfce/company/update

Atualizar empresa NFC-e

Atualiza dados da empresa NFC-e identificada pelo header token. Todos os campos do body são opcionais — envie apenas os que deseja modificar. Ao atualizar cep, o sistema resolve automaticamente stateCode e ibge. Quando cert_content e cert_pwd vêm juntos, o certificado é validado antes de salvar.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body (todos os campos opcionais — envie ≥ 1)

CampoTipoDescrição
Identificação
namestringRazão social
aliasstringNome fantasia
iestringInscrição Estadual
invoice_typestringRegime tributário
emailstringE-mail
telefonestringTelefone
Endereço
cepstringCEP (atualiza automaticamente stateCode e ibge)
addressstringLogradouro
house_numberstringNúmero
complementostringComplemento
townstringBairro
citystringMunicípio
statestringUF
NFC-e
csc_idstringID do CSC
cscstringToken CSC
serie_nfceintSérie
number_nfceintPróximo número
cert_contentstringConteúdo do arquivo do certificado A1 (.pfx/.p12) em Base64
cert_filestringDescontinuado — rejeitado a partir de 2026-09-01. URL HTTPS do certificado
cert_pwdstringSenha do certificado

Pelo menos 1 campo no body é obrigatório. CNPJ é imutável.

POST/api/nfce/company/get

Consultar empresa NFC-e

Retorna os dados da empresa NFC-e identificada pelo header token. Atenção: método é POST mas não há campos no body — a empresa é resolvida apenas pelo token.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

Vazio. Pode ser enviado {}.

Gerenciamento de Categorias Fiscais NFC-e

Categorias fiscais definem as regras tributárias aplicadas aos produtos na emissão de NFC-e. Diferente da NFe, a NFC-e opera apenas com vendas internas (dentro do estado), portanto a estrutura é simplificada: um único objeto por imposto, sem necessidade de múltiplos cenários.

Nota: As categorias NFC-e são armazenadas separadamente das categorias NFe. Cada categoria possui configurações de ICMS, PIS, COFINS e IBS/CBS. Todos os endpoints desta seção exigem os headers token, sign e timestamp.
POST/api/nfce/category/create

Criar categoria fiscal NFC-e

Cria uma categoria fiscal NFC-e. Cada categoria tem um único cenário (saída interna) e usa objetos planos para ICMS, PIS, COFINS e IBS/CBS (sem array, pois NFC-e não permite múltiplos cenários por categoria). Não possui IPI.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body (raiz)

CampoTipoDescrição
descricao *stringDescrição da categoria
codigo_cfop *stringCódigo CFOP (ex.: 5102, 5405)
icms *objectConfiguração de ICMS (objeto plano)
pis *objectConfiguração de PIS (objeto plano)
cofins *objectConfiguração de COFINS (objeto plano)
ibs_cbsobjectConfiguração de IBS/CBS (Reforma Tributária, opcional)
desconta_icms_pis_cofinsbooleanAbate o ICMS antes de calcular PIS/COFINS — tributa (valor − ICMS), padrão atual no Brasil; default false (sem abatimento, imposto maior)

icms

CampoTipoDescrição
situacao_tributaria *stringCST/CSOSN (ex.: 102, 500)
aliquota_reducaodecimalPercentual de redução da base de cálculo
aliquota_reducao_stdecimalPercentual de redução da base do ICMS-ST
aliquota_creditodecimalAlíquota de crédito do Simples Nacional em % (CSOSN 101, 201, 900)
aliquota_diferimentodecimalPercentual de diferimento do ICMS (CST 51)
motivo_desoneracaostringCódigo do motivo de desoneração
ad_rem_icmsdecimalICMS monofásico — alíquota ad rem em R$/unidade (CST 02, 15, 53)
ad_rem_icms_retdecimalICMS monofásico — ad rem retido em R$/unidade (CST 15, 61)
p_dif_monodecimalICMS monofásico — percentual de diferimento (CST 53)
q_bc_monodecimalICMS monofásico — quantidade tributada (litros/kg); 0 usa a quantidade do item (CST 02, 15, 53)
valor_desoneracaodecimalValor do ICMS desonerado em R$ — emite vICMSDeson (CST 40, 41, 50, 90)
v_bc_st_retdecimalBase de cálculo do ICMS-ST retido na operação anterior (informado, não calculado — CST 60, CSOSN 500)
p_stdecimalAlíquota suportada pelo consumidor final em % (informado, não calculado — CST 60, CSOSN 500)
v_icms_st_retdecimalValor do ICMS-ST retido na operação anterior (informado, não calculado — CST 60, CSOSN 500)
v_icms_substitutodecimalValor do ICMS próprio do substituto (informado, não calculado — CST 60, CSOSN 500)
v_bc_fcp_st_retdecimalBase de cálculo do FCP retido por ST (informado, não calculado — CST 60, CSOSN 500)
p_fcp_st_retdecimalAlíquota do FCP retido por ST em % (informado, não calculado — CST 60, CSOSN 500)
v_fcp_st_retdecimalValor do FCP retido por ST (informado, não calculado — CST 60, CSOSN 500)
aliquota_icmsarrayAlíquotas por estado: [{ "estado": "SP", "aliquota": 18.00 }]
aliquota_icms_starrayAlíquota ICMS-ST por estado: [{ "estado": "SP", "aliquota": 18.00 }]
aliquota_mvaarrayMVA/IVA-ST por estado: [{ "estado": "SP", "aliquota": 40.00 }]
aliquota_fcparrayFCP por estado: [{ "estado": "SP", "aliquota": 0.00 }]
aliquota_fcp_starrayFCP-ST por estado: [{ "estado": "SP", "aliquota": 0.00 }]
beneficio_fiscalarrayBenefício fiscal por estado: [{ "estado": "SP", "codigo": "SP800001" }]

pis / cofins

CampoTipoDescrição
situacao_tributaria *stringCST PIS/COFINS
aliquota *stringAlíquota percentual (ex.: "0.00", "1.65", "7.60")
valor_unidadestringPIS/COFINS por quantidade — valor em R$/unidade; v = quantidade × valor (CST 03 e demais formas por quantidade)

ibs_cbs (opcional)

CampoTipoDescrição
situacao_tributaria *stringCST IBS/CBS
classificacao_tributaria *stringCódigo de classificação tributária
p_ibs_ufstringAlíquota do IBS UF em % (opcional; vazio usa o padrão da transição, 0,10 em 2026). Aceita ponto ou vírgula
p_ibs_munstringAlíquota do IBS Município em % (opcional; padrão 0 em 2026)
p_cbsstringAlíquota da CBS em % (opcional; padrão 0,90 em 2026)
p_red_aliqstringPercentual de redução de alíquota (CST 011, 200, 515)
p_difstringPercentual de diferimento (CST 510, 515)
p_red_bcstringPercentual de redução da base de cálculo (CST 222)
proporcaostringProporção da operação em % (CST 221)
aliquota_cbs_monostringCBS monofásica — alíquota em % sobre a base; prevalece sobre valor_unidade_cbs (CST 620)
aliquota_ibs_monostringIBS monofásico — alíquota em % sobre a base; prevalece sobre valor_unidade_ibs (CST 620)
valor_unidade_cbsstringCBS monofásica — ad rem em R$/unidade; só usado quando não há alíquota percentual (CST 620)
valor_unidade_ibsstringIBS monofásico — ad rem em R$/unidade; só usado quando não há alíquota percentual (CST 620)
valor_deducao_legalstringValor da dedução legal da base em R$ (CST 830)

* Campo obrigatório.

GET/api/nfce/category/get_detail

Obter categoria fiscal NFC-e

Retorna os dados completos de uma categoria fiscal NFC-e (descrição, CFOP, ICMS, PIS, COFINS e IBS/CBS).

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Query string

CampoTipoDescrição
category_id *stringID da categoria NFC-e

* Campo obrigatório.

GET/api/nfce/category/get_list

Listar categorias fiscais NFC-e

Retorna lista paginada de categorias fiscais NFC-e cadastradas para a empresa autenticada.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Query string

CampoTipoDescrição
page *intNúmero da página (mínimo 1)
page_size *intItens por página (1 a 50)

* Campo obrigatório.

POST/api/nfce/category/edit

Editar categoria fiscal NFC-e

Nota: Mesma estrutura do endpoint /api/nfce/category/create, com o campo adicional category_id obrigatório. Os campos icms, pis, cofins e ibs_cbs são substituídos integralmente (não fazem merge).

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Campo adicional

CampoTipoDescrição
category_id *stringID da categoria a editar

* Campo obrigatório.

POST/api/nfce/category/delete

Excluir categoria fiscal NFC-e

Remove uma categoria fiscal NFC-e. Operação irreversível. Produtos vinculados a esta categoria continuarão referenciando o category_id removido — atualize-os antes.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
category_id *stringID da categoria NFC-e a excluir

* Campo obrigatório.

POST/api/nfce/create

Emitir NFC-e

Emite uma NFC-e (modelo 65, sempre saída interna ao estado, sem frete). Diferenças importantes em relação ao endpoint de NFe: o objeto do consumidor chama-se client (não cliente); o número do endereço é client.number; o consumidor é opcional; não existem impostos.ipi, shipping_address, delivery_address, nem transportation. O campo de valor em pag_info chama-se amount.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa NFC-e
signstringAssinatura MD5: MD5(token + path + body + timestamp)
timestampstringUnix timestamp em segundos (janela de 5 minutos)

Body (raiz)

CampoTipoDescrição
nature_of_operation *stringNatureza da operação (ex.: "Venda de mercadoria")
issuance_type *stringTipo de emissão: "1" (normal), "9" (contingência off-line NFC-e)
ambiente *string"1" produção, "2" homologação
products *arrayLista de produtos (ver detalhes abaixo)
idstringIdentificador externo
ind_presstringPresença do comprador: "1" presencial (default), "4" entrega em domicílio, "5" presencial fora do estabelecimento, "9" não se aplica
ind_intermedstring"0" sem intermediador, "1" marketplace. Obrigatório quando ind_pres = 2, 3 ou 4
total_discount_amountdecimalDesconto total da nota
trocodecimalValor do troco
segurodecimalValor de seguro
outras_despesasdecimalOutras despesas acessórias
informacoes_complementaresstringInformações complementares ao consumidor
informacoes_fiscostringInformações de interesse do fisco
clientobjectDados do consumidor (opcional — ver tabela)
pag_infoarrayPagamentos (default: dinheiro à vista — ver tabela)

client (opcional)

Preencha apenas se o consumidor for identificado. CPF ou CNPJ devem ser informados como apenas dígitos.

CampoTipoDescrição
cpfstringCPF (define pessoa física)
cnpjstringCNPJ (pessoa jurídica)
iestringInscrição estadual
namestringNome / razão social
enderecostringLogradouro
numberstringNúmero do endereço (atenção: nome diferente da NFe, que usa numero)
complementostringComplemento
bairrostringBairro
citystringCidade
ufstringUF (validada com base no CEP, se informado)
cepstringCEP (apenas dígitos)
telefonestringTelefone
emailstringE-mail

products[] (cada item)

CampoTipoDescrição
name *stringNome do produto (caracteres CJK são removidos)
ncm *stringNCM (8 dígitos)
count *decimalQuantidade
unit *stringUnidade comercial (ex.: "UN", "KG")
unit_price *decimalPreço unitário
total_price *decimalValor total do item
origem *intOrigem da mercadoria (0..8)
indicador_total *int1 = compõe o total da nota; 0 = não compõe
category_id ⚠stringID da categoria fiscal NFC-e (obrigatório se não enviar impostos)
impostos ⚠objectImpostos manuais (alternativa a category_id; sem IPI)
codigostringCódigo interno do produto
ceststringCEST
gtinstringGTIN/EAN comercial
gtin_tributavelstringGTIN tributável
discount_pricedecimalDesconto do item
nItemPedintItem do Pedido de Compra (I61). Número sequencial do item dentro do pedido referenciado em xPed (vem do id da raiz). Valores válidos: 1–999999. Default: omitido.

pag_info[] (cada item)

CampoTipoDescrição
payment_indicator *string"0" à vista, "1" a prazo
payment_method *stringForma de pagamento (01=dinheiro, 03=cartão crédito, 04=cartão débito, 17=PIX, 99=outros, etc.)
amountdecimalValor pago nesta forma
card_info.integration_typestring"1" integrado, "2" não integrado (obrigatório para cartão 03/04)
card_info.brand_codestringBandeira do cartão (obrigatório para cartão 03/04)
card_info.acquirer_cnpjstringCNPJ da credenciadora
card_info.authorization_codestringCódigo de autorização

* Campo obrigatório. ⚠ category_id ou impostos, um deles é obrigatório.

Campos da resposta (data)

CampoTipoDescrição
uuidstringIdentificador interno da NFC-e. Use nas consultas seguintes (/api/nfce/get_detail, /api/nfce/get_danfe)
statusstringSituação: "Success" (autorizada), "Failed" (rejeitada/falha), "Contingencia" (emitida em contingência offline, pendente de transmissão)
motivostringMensagem oficial do Fisco conforme o cStat (formato bilíngue PT / 中文)
nfceintNúmero da NFC-e emitida (atenção: o campo chama-se nfce, não nfe)
serieintSérie da NFC-e
chavestringChave de acesso de 44 dígitos (vazia quando a nota não é autorizada)
modelostringModelo do documento: "nfce"
xmlstringURL do XML autorizado
danfestringURL do DANFE NFC-e — vem vazio na emissão; gere sob demanda com /api/nfce/get_danfe
Na contingência offline (issuance_type = "9" ou Fisco indisponível), a resposta vem com status: "Contingencia" e os campos extras contingencia: true e tpEmis: 9; a nota precisa ser transmitida ao Fisco depois.

Resposta — rejeição / erro

Quando o Fisco rejeita a nota, success é false e data.motivo traz o motivo; a chave vem vazia. Erros de validação de campos (antes de chegar ao Fisco) retornam success: false com a mensagem em message, sem o objeto data.
        {
          "success": false,
          "data": {
            "uuid": "65f8b9a1c2d3e4f5a6b7c8d9",
            "status": "Failed",
            "motivo": "Rejeição 226: Código da UF do Emitente diverge da UF autorizadora / 拒绝 226: 发件人所在州代码与授权州不一致",
            "nfce": 5,
            "serie": 1,
            "chave": "",
            "modelo": "nfce",
            "xml": "",
            "danfe": ""
          }
        }
POST/api/nfce/cancel

Cancelar NFC-e

Cancela uma NFC-e já autorizada. Diferente da NFe, aqui o motivo do cancelamento é enviado pelo cliente e repassado ao Fisco. A janela de cancelamento no Fisco é curta (geralmente 15-30 minutos após a autorização).

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
chave *stringChave de 44 dígitos da NFC-e (atenção: aqui é chave, não uuid como em outros endpoints)
motivo *stringJustificativa do cancelamento (mín. 15 caracteres por exigência Fisco)

* Campo obrigatório.

Campos da resposta (data)

CampoTipoDescrição
motivostringMensagem oficial do Fisco para o evento de cancelamento
statusstringSituação: "Canceled" (cancelada)
nfceintNúmero da NFC-e cancelada
serieintSérie da NFC-e
chavestringChave de acesso de 44 dígitos
modelostringModelo do documento: "nfce"
cStatintCódigo do evento no Fisco: 135 ou 155 = cancelamento homologado. Se a NFC-e já estava cancelada, a resposta de sucesso vem sem cStat

Resposta — erro

Quando o Fisco rejeita o evento (ex.: prazo de cancelamento excedido), success é false e data vem com status: "Failed" e o cStat da rejeição. Erros de validação (chave/motivo ausentes, motivo com menos de 15 caracteres, NFC-e não encontrada, contingência ainda não transmitida) retornam success: false com a mensagem em message, sem o objeto data.
        {
          "success": false,
          "data": {
            "motivo": "Rejeição: Pedido de Cancelamento intempestivo",
            "status": "Failed",
            "nfce": 5,
            "serie": 1,
            "chave": "35210112345678901234650010000000051234567890",
            "modelo": "nfce",
            "cStat": 501
          }
        }
POST/api/nfce/return

Devolver NFC-e

Emite a devolução de uma NFC-e autorizada. A devolução é uma NF-e de entrada (modelo 55) que referencia a chave de acesso da NFC-e de origem no XML; a NFC-e não possui documento de devolução próprio. A nota de origem é localizada entre os registros de NFC-e por uuid ou chave, e itens e campos tributários são reaproveitados dela. /api/invoice/return procura a origem apenas entre as NF-e e responde "nota fiscal não existe" para qualquer NFC-e; utilize esta rota.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoObrigatórioDescrição
uuidstringNãouuid da NFC-e de origem. Informe este campo ou chave
chavestringNãoChave de acesso de 44 dígitos da NFC-e de origem. Informe este campo ou uuid
cfopstringSimCFOP da devolução; em geral 1202 dentro do estado e 2202 entre estados
natureza_operacaostringNãoNatureza da operação. Padrão Devolução de Mercadoria
clienteobjectNãoDestinatário, isto é, o comprador da nota de origem. Campos: cpf, cnpj, name, endereco, numero, complemento, bairro, city, uf, cep, email, telefone. Os campos enviados substituem os da origem; os omitidos são mantidos

A devolução é uma NF-e e o endereço do destinatário é obrigatório, enquanto a NFC-e normalmente não registra o endereço do comprador. Quando o XML de origem não traz endereço, cliente deve conter endereco, bairro, city, uf e cep; a rota informa quais faltam.

Somente NFC-e autorizada pode ser devolvida. O ambiente (produção ou homologação) segue o da nota de origem e não é informado como parâmetro.

Chamadas repetidas não emitem duas vezes: se já existe devolução para a mesma origem no mesmo ambiente, aquele documento é devolvido na resposta.

A devolução é integral. Itens, quantidades e campos tributários vêm da origem; os tributos são resolvidos primeiro pela categoria fiscal e, na falta dela, copiados da CST e das alíquotas do XML de origem.

Campos da resposta (data)

CampoTipoDescrição
uuidstringIdentificador da nota de devolução
statusstringSuccess autorizada, Failed rejeitada
motivostringMensagem retornada pelo Fisco
nfeintNúmero da nota de devolução
serieintSérie da nota de devolução
chavestringChave de acesso de 44 dígitos da nota de devolução
modelostringSempre nfe: a devolução é uma NF-e
epecbooleanSe a emissão ocorreu em contingência
xmlstringURL do XML da nota de devolução

Resposta — erro

Em problemas de parâmetro ou da nota de origem, success é false, o motivo vem em message e não há data. Quando o Fisco rejeita o documento, success também é false, porém data está presente com status igual a Failed e o motivo em motivo.
        {
          "success": false,
          "message": "A devolução é uma NF-e e exige o endereço do comprador; a NFC-e original não o traz. Informe em cliente: endereco, bairro, city, uf, cep / 退货票是 NF-e,必须有买方地址,原 NFC-e 没有。请在 cliente 里传:endereco、bairro、city、uf、cep"
        }
GET/api/nfce/get_detail

Consultar detalhes da NFC-e

Retorna os detalhes de uma NFC-e específica pelo UUID. Inclui URLs do XML e do DANFE (cupom térmico), além de dados do cliente quando informado.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5 (path inclui a query string)
timestampstringUnix timestamp em segundos

Query string

ParâmetroTipoDescrição
uuid *stringUUID da NFC-e

* Campo obrigatório.

POST/api/nfce/get_danfe

Obter DANFE da NFC-e

Retorna a URL do DANFE NFC-e (cupom fiscal eletrônico) em PDF, com QR Code para consulta no Fisco. Geração sob demanda com cache por hash (chave + status); chamadas repetidas retornam a URL existente.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
uuid *stringUUID da NFC-e (atenção: aqui é uuid, diferente do cancel que usa chave)

* Campo obrigatório.

GET/api/nfce/get_list

Listar NFC-e (com paginação)

Lista as NFC-e da empresa com paginação. Parâmetros passados via query string (não no body). O filtro de tempo é opcional, mas se enviado exige ambos start_create_time e end_create_time.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5 (path inclui a query string)
timestampstringUnix timestamp em segundos

Query string

ParâmetroTipoDescrição
page *intNúmero da página (≥ 1)
page_size *intTamanho da página (1–50)
start_create_timelongUnix timestamp em milissegundos — início (exige end_create_time)
end_create_timelongUnix timestamp em milissegundos — fim
statusstringFiltrar por status. Valores: "Success" (autorizada), "Canceled" (cancelada), "Processing" (em processamento), "Failed" (falhou), "Unknown" (desconhecida)

* Campo obrigatório.

POST/api/nfce/export

Exportar NFC-e em lote

Exporta em lote as NFC-e de produção da empresa por período (notas de homologação não entram). A geração é assíncrona: a primeira chamada dispara a exportação e responde "status": "Processing"; repita a mesma chamada (mesmo body) até receber "status": "Success" com a url de download. XML e PDF saem em .zip (um arquivo por nota); planilha sai em .xlsx ou .csv. O resultado vale por 10 dias: nesse prazo, os mesmos parâmetros devolvem o mesmo arquivo (notas emitidas depois da geração não entram — use outro período para gerar um arquivo novo).

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
type *string"xml" (ZIP de XMLs), "pdf" (ZIP de DANFEs) ou "sheet" (planilha)
start_create_timestringData inicial dd/MM/yyyy, hora de Brasília — o período começa às 00:00:00 desse dia
end_create_timestringData final dd/MM/yyyy — o dia final entra inteiro (até 23:59:59)
monthintAlternativa ao período: mês completo (1–12, hora de Brasília); mês maior que o atual = ano passado
statusstring"all" (padrão), "emitida", "cancelada" ou "contingencia"
patternstringPara sheet: "xlsx" (padrão) ou "csv". Para pdf: largura do cupom em mm — "80" (padrão), "72" ou "50"

* Campo obrigatório. Informe o período com start_create_time + end_create_time ou com month.

Exemplo 1 — Venda Presencial (sem destinatário)

        {
          "nature_of_operation": "Venda de mercadoria",
          "ambiente": "2",
          "ind_pres": "1",
          "products": [
            {
              "codigo": "001",
              "name": "Refrigerante 350ml",
              "ncm": "22021000",
              "count": 3,
              "unit": "matriz",
              "unit_price": 5.50,
              "total_price": 16.50,
              "category_id": "BEBIDAS_PADRAO",
              "origem": "0",
              "indicador_total": "1",
              "cfop": "5102"
            }
          ],
          "pag_info": [
            { "payment_indicator": "0", "payment_method": "17" }
          ]
        }

Exemplo 2 — Entrega a Domicílio (com destinatário)

        {
          "nature_of_operation": "Venda de mercadoria",
          "ambiente": "2",
          "ind_pres": "4",
          "client": {
            "cpf": "12345678900",
            "name": "Maria Silva",
            "endereco": "Rua das Flores",
            "number": "456",
            "bairro": "Jardim Primavera",
            "city": "São Paulo",
            "uf": "SP",
            "cep": "04567000"
          },
          "products": [
            {
              "codigo": "PIZZA01",
              "name": "Pizza Grande Marguerita",
              "ncm": "19059090",
              "count": 1,
              "unit": "matriz",
              "unit_price": 45.90,
              "total_price": 45.90,
              "category_id": "ALIMENTOS",
              "origem": "0",
              "indicador_total": "1",
              "cfop": "5102"
            }
          ],
          "pag_info": [
            { "payment_indicator": "0", "payment_method": "03" }
          ],
          "frete": 8.00,
          "informacoes_complementares": "Entrega em até 40 minutos"
        }