E-mail de facturas
Enviar correo de la factura
Acepta el envío de un documento autorizado al cliente por correo; la entrega es asíncrona.
/openapi/v2/empresas/{empresaId}/emailstoken, timestamp y sign, vea Autenticación.Envía un documento ya autorizado (NF-e, NFS-e, CT-e o DC-e) por correo, con el cuerpo de la plantilla y, si se pide, el PDF y el XML adjuntos. La llamada es asíncrona: el HTTP 200 devuelve el emailId y el estado de aceptación; el resultado llega por email.sent / email.failed o por la consulta. id es la clave de idempotencia; mientras un correo del mismo documento está en curso, otro envío responde 409. El documento solo se envía cuando usted llama a este endpoint: nada sale automáticamente en la autorización.
Parámetros de ruta
empresaId* | string | Identificador de la empresa |
* Campo obligatorio
Cuerpo de la petición
id* | string | Identificador de la solicitud |
tipoDocumento* | string | Tipo de documento |
documentoId* | string | Identificador de la factura |
templateId | string | Identificador de la plantilla |
enviarPdf* | bool | Adjuntar PDF |
enviarXml* | bool | Adjuntar XML |
destinatarios | array | Destinatarios |
* Campo obligatorio
emailId para la consulta; siga el resultado por el webhook o por la consulta.emailId | string | Identificador del correo |
id | string | Identificador de la solicitud |
status | string | Estado en la aceptación |
tipoDocumento | string | Tipo de documento |
documentoId | string | Identificador de la factura |
templateId | string | Plantilla usada |
destinatarios | array | Destinatarios efectivos |
anexos | array | Adjuntos pedidos |
El HTTP 200 es solo la aceptación: el correo se monta y se envía después, por una tarea de la plataforma. El remitente es la dirección de la plataforma (no puede usarse su propio dominio); el nombre mostrado es la razón social de la empresa y el responder-a es el correo registrado de la empresa. El resultado llega por email.sent / email.failed (suscripción explícita, vea Registrar webhook) o por la consulta.
Solo el cuerpo y el XML
NFS-e con plantilla elegida y destinatario informado; enviarPdf = false evita generar la DANFSe. El XML adjunto se llama NFSe-{chave}.xml.
{"id": "mail-nfse-000123","tipoDocumento": "NFSe","documentoId": "PED-20260918-001","templateId": "2103150000000000002","enviarPdf": false,"enviarXml": true,"destinatarios": ["financeiro@cliente.com.br"]}
id* | string | Identificador de la solicitud |
tipoDocumento* | string | Tipo de documento |
documentoId* | string | Identificador de la factura |
templateId | string | Identificador de la plantilla |
enviarPdf* | bool | Adjuntar PDF |
enviarXml* | bool | Adjuntar XML |
destinatarios | array | Destinatarios |
* Campo obligatorio
PDF y XML al correo de la factura
Sin destinatarios la plataforma usa el correo del cliente informado en la emisión; solo NF-e y NFS-e lo tienen, CT-e y DC-e exigen destinatarios. Sin templateId usa la plantilla predeterminada del tipo. Si el PDF o el XML aún no está disponible, el correo espera en Aguardando en lugar de salir incompleto.
{"id": "email-pedido-8842-1","tipoDocumento": "NFe","documentoId": "pedido-8842","enviarPdf": true,"enviarXml": true}
id* | string | Identificador de la solicitud |
tipoDocumento* | string | Tipo de documento |
documentoId* | string | Identificador de la factura |
enviarPdf* | bool | Adjuntar PDF |
enviarXml* | bool | Adjuntar XML |
* Campo obligatorio
NFS-e de São Paulo a la espera de la clave
Una NFS-e del sistema municipal de São Paulo recibe la clave de 50 dígitos después, por el ambiente nacional. Mientras no llega, el envío se acepta como Aguardando con motivoEspera = chaveAcesso y se vuelve a comprobar cada 30 segundos, hasta 120 minutos; pasado ese plazo pasa a Falha y motivoFalha dice qué faltó. La respuesta de abajo es la de la aceptación.
{"emailId": "2103160000000000002","id": "mail-sp-000045","status": "Aguardando","tipoDocumento": "NFSe","documentoId": "SP-20260928-045","templateId": "2103150000000000002","destinatarios": ["financeiro@cliente.com.br"],"anexos": ["pdf", "xml"]}
status* | string | Estado en la aceptación |
* Campo obligatorio
Mismo documento en curso: 409
Mientras un correo del mismo documento (misma empresa, tipoDocumento y documentoId) no llega a Enviado o Falha, un nuevo envío con otro id se rechaza con HTTP 409 y 10021015; el mensaje trae el emailId y el estado del correo en curso. Espere el callback o consulte, y luego reenvíe con un id nuevo.
[{"codigo": "10021015","mensagem": "O e-mail anterior desta nota ainda não foi concluído: emailId=2103160000000000001 status=Enfileirado"}]
Reenvío idempotente
Repetir una llamada con el mismo id (en la misma empresa) devuelve el resultado original sin crear otro correo, aunque el cuerpo sea distinto; status refleja el estado actual. Para enviar de nuevo el mismo documento use un id nuevo tras el estado terminal.
{"emailId": "2103160000000000001","id": "email-pedido-8842-1","status": "Enviado","tipoDocumento": "NFe","documentoId": "pedido-8842","templateId": "2103150000000000001","destinatarios": ["comprador@exemplo.com"],"anexos": ["pdf", "xml"]}
status* | string | Estado en la aceptación |
* Campo obligatorio
Aguardando ──► Enfileirado ──► Enviando ──┬─► Enviado└─► Falha
Aguardando solo existe mientras falta la clave, el PDF o el XML; no consume intentos. Enviando que falla al salir vuelve a Enfileirado con espera creciente, hasta 5 intentos. Enviado y Falha son terminales y liberan el documento para un nuevo envío. El significado de cada estado y de motivoEspera está en Consultar correo.
tipoDocumentoTipo de documento
| Valores | Significado |
|---|---|
| NFe | NF-e, factura de mercancías |
| NFSe | NFS-e, factura de servicios |
| CTe | CT-e, conocimiento de transporte |
| DCe | DC-e, declaración de contenido |
statusEstado del correo
En la primera aceptación solo Aguardando o Enfileirado; los demás aparecen en el reenvío idempotente.
| Valores | Significado |
|---|---|
| Aguardando | Aceptado, a la espera de datos del documento; motivoEspera dice cuál |
| Enfileirado | En cola, datos completos, a la espera del envío |
| Enviando | Un worker está renderizando y enviando |
| Enviado | Entregado al servicio de envío; terminal |
| Falha | Fallo definitivo; motivoFalha lo explica; terminal |
anexos[]Adjuntos
Nombre del archivo: {tipo}-{chave}.pdf / .xml, por ejemplo NFSe-3550...077.xml.
| Valores | Significado |
|---|---|
| Comprobante en PDF: DANFE, DANFSe, DACTE o DACE | |
| xml | XML autorizado, el original legal |
| Código | HTTP | |
|---|---|---|
| 10001001 | 400 | Falló la validación de campos: id o documentoId en blanco o por encima de 64, tipoDocumento fuera de los valores, enviarPdf / enviarXml ausentes, más de 5 destinatarios o correo inválido; una entrada por campo. |
| 10003000 | 404 | empresaId no encontrado. |
| 10021001 | 404 | Plantilla de correo no encontrada: el templateId no existe o no es de este integrador. |
| 10021002 | 400 | Plantilla de correo desactivada, o el tipo de documento de la plantilla es distinto del documento. |
| 10021010 | 404 | Documento no encontrado o no pertenece a esta empresa. Verifique documentoId, tipoDocumento y empresaId. |
| 10021011 | 400 | Documento aún no autorizado, no puede enviarse al cliente; también para un documento cancelado o sustituido. Espere la autorización. |
| 10021012 | 400 | El tipo de documento no tiene plantilla predeterminada; informe templateId o marque una plantilla con padrao = true. |
| 10021013 | 400 | Sin destinatario: destinatarios no informado y el documento no tiene correo del cliente. CT-e y DC-e siempre exigen destinatarios. |
| 10021015 | 409 | El correo anterior de este documento aún no ha terminado; el mensaje trae emailId y estado. Espere Enviado o Falha y reenvíe con un id nuevo. |
