TF Fiscal
Documentação

E-mail de notas

Consultar e-mail da nota

Status, motivo da espera ou da falha e o que foi efetivamente enviado, pelo emailId da aceitação.

GET/openapi/v2/empresas/{empresaId}/emails/{emailId}
Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

Consulta um e-mail aceito em Enviar e-mail. Serve de reserva ao webhook: email.sent e email.failed trazem o mesmo veredito, mas exigem assinatura explícita. Um emailId de outra empresa responde 10021020.

Parâmetros de caminho

empresaId*
stringIdentificador da empresa
emailId*
stringIdentificador do e-mail

* Campo obrigatório

200
E-mail encontrado. Campos sem valor no status atual vêm como null.
emailId
stringIdentificador do e-mail
id
stringIdentificador da requisição
tipoDocumento
stringTipo de documento
documentoId
stringIdentificador da nota
numero
intNúmero da nota
chaveAcesso
stringChave de acesso
codigoVerificacao
stringCódigo de verificação
templateId
stringModelo usado
status
stringStatus do e-mail
motivoEspera
stringMotivo da espera
motivoFalha
stringMotivo da falha
destinatarios
arrayDestinatários efetivos
anexos
arrayAnexos pedidos
assunto
stringAssunto renderizado
criadoEm
stringAceitação
enviadoEm
stringEntrega ao serviço de envio
atualizadoEm
stringÚltima atualização

Os campos da nota (numero, chaveAcesso, codigoVerificacao) vêm do momento da aceitação e são atualizados no envio; assunto e enviadoEm só existem depois de enviado; motivoEspera só em Aguardando e motivoFalha só em Falha. Enviado e Falha são terminais: a partir deles a mesma nota aceita um novo envio.

Aguardando: falta a chave

NFS-e de São Paulo cuja chave de 50 dígitos ainda não voltou: chaveAcesso é null, codigoVerificacao já existe, motivoEspera = chaveAcesso. A plataforma reconfere a cada 30 segundos por até 120 minutos; nada a fazer do seu lado.

json
{
"emailId": "2103160000000000002",
"id": "mail-sp-000045",
"tipoDocumento": "NFSe",
"documentoId": "SP-20260928-045",
"numero": 45,
"chaveAcesso": null,
"codigoVerificacao": "ABCD1234",
"templateId": "2103150000000000002",
"status": "Aguardando",
"motivoEspera": "chaveAcesso",
"motivoFalha": null,
"destinatarios": ["financeiro@cliente.com.br"],
"anexos": ["pdf", "xml"],
"assunto": null,
"criadoEm": "2026-09-28T12:00:00Z",
"enviadoEm": null,
"atualizadoEm": "2026-09-28T12:03:00Z"
}
status*
stringStatus do e-mail
motivoEspera*
stringMotivo da espera

* Campo obrigatório

Aguardando: falta o PDF ou o XML

Você pediu anexo e o arquivo ainda não está disponível: motivoEspera = pdf quando o serviço de renderização está fora, xml quando o XML autorizado ainda não foi arquivado. Mesma reconferência de 30 segundos e mesmo prazo de 120 minutos.

json
{
"emailId": "2103160000000000003",
"id": "email-pedido-8843-1",
"tipoDocumento": "NFe",
"documentoId": "pedido-8843",
"numero": 11770,
"chaveAcesso": "35241204893402000113650010000117701017244270",
"codigoVerificacao": null,
"templateId": "2103150000000000001",
"status": "Aguardando",
"motivoEspera": "pdf",
"motivoFalha": null,
"destinatarios": ["comprador@exemplo.com"],
"anexos": ["pdf"],
"assunto": null,
"criadoEm": "2026-09-28T12:10:00Z",
"enviadoEm": null,
"atualizadoEm": "2026-09-28T12:10:30Z"
}
status*
stringStatus do e-mail
motivoEspera*
stringMotivo da espera

* Campo obrigatório

Enviado

O serviço de envio aceitou a mensagem: assunto traz o texto final e enviadoEm o momento da entrega ao serviço. Um email.sent chega com os mesmos dados. A entrega na caixa do destinatário depende do provedor dele.

json
{
"emailId": "2103160000000000001",
"id": "email-pedido-8842-1",
"tipoDocumento": "NFe",
"documentoId": "pedido-8842",
"numero": 11769,
"chaveAcesso": "35241204893402000113650010000117691017244265",
"codigoVerificacao": null,
"templateId": "2103150000000000001",
"status": "Enviado",
"motivoEspera": null,
"motivoFalha": null,
"destinatarios": ["comprador@exemplo.com"],
"anexos": ["pdf", "xml"],
"assunto": "Nota fiscal 11769 - Loja Exemplo LTDA",
"criadoEm": "2026-09-28T12:00:00Z",
"enviadoEm": "2026-09-28T12:00:31Z",
"atualizadoEm": "2026-09-28T12:00:31Z"
}
status*
stringStatus do e-mail
assunto*
stringAssunto renderizado
enviadoEm*
stringEntrega ao serviço de envio

* Campo obrigatório

Falha

Terminal. Causas: espera esgotada (motivoFalha nomeia chaveAcesso, pdf ou xml), tentativas de envio esgotadas, nota que deixou de estar autorizada, modelo desativado depois da aceitação ou comprovante que não pode ser emitido. Um email.failed chega com motivo_falha. Corrija a causa e reenvie com um id novo.

json
{
"emailId": "2103160000000000002",
"id": "mail-sp-000045",
"tipoDocumento": "NFSe",
"documentoId": "SP-20260928-045",
"numero": 45,
"chaveAcesso": null,
"codigoVerificacao": "ABCD1234",
"templateId": "2103150000000000002",
"status": "Falha",
"motivoEspera": null,
"motivoFalha": "Tempo esgotado aguardando: chaveAcesso",
"destinatarios": ["financeiro@cliente.com.br"],
"anexos": ["pdf", "xml"],
"assunto": null,
"criadoEm": "2026-09-28T12:00:00Z",
"enviadoEm": null,
"atualizadoEm": "2026-09-28T14:00:30Z"
}
status*
stringStatus do e-mail
motivoFalha*
stringMotivo da falha

* Campo obrigatório