DC-e
Emitir DC-e
Acepta una Declaração de Conteúdo Eletrônica (modelo 99) y la autoriza de forma asíncrona en la SEFAZ.
/openapi/v2/empresas/{empresaId}/dc-eRequiere las cabeceras de firma token, timestamp y sign, vea Autenticación.
La aceptación devuelve HTTP 200 sin cuerpo. Reenviar el mismo id: una huella idéntica del mensaje reutiliza la tarea original (idempotente), una huella distinta devuelve 10019030 y un fallo terminal anterior reabre la tarea con el nuevo mensaje. El resultado llega por la consulta o por los webhooks dce.authorized / dce.rejected (vea DC-e). La empresa debe estar aprobada, con certificado utilizable y con emissaoDCe configurado; ambiente debe coincidir con el entorno actual de la empresa (atención: el nombre del campo es ambiente, no ambienteEmissao como en la NF-e). Las cadenas de enumeración no distinguen mayúsculas de minúsculas.
Parámetros
Parámetros de ruta
empresaIdstringobligatorioIdentificador devuelto por Registrar empresa.
Ejemplo:1934811222334455
Cuerpo de la petición
idstringobligatorioId del documento en el integrador (≤64), usado como variable de ruta
dceIden la consulta / cancelación; clave de idempotencia.Ejemplo:DCe-000012333ambientestringobligatorioProducao/Homologacao, debe coincidir con el entorno de la empresa (el nombre del campo esambiente, noambienteEmissaocomo en la NF-e). Una discrepancia devuelveDCe00004.dataEmissaostringopcionalFecha/hora de emisión en ISO-8601; por defecto el momento de aceptación. Con offset o
Z(2026-09-08T10:00:00-03:00) se convierte tal como se indica; una hora local sin offset (2026-09-08T10:00:00) se interpreta en la zona horaria del estado de la empresa. Ventana permitida: como máximo 5 minutos hacia adelante y como máximo 30 días hacia atrás (configurable en el servidor); fuera de ella la solicitud falla con10019048(la SEFAZ rechaza undhEmifuturo y el número se desperdiciaría; una fecha muy antigua arrastra el AAMM de la chave a un periodo antiguo). Se escribe en el XMLdhEmicon el offset del estado de la empresa.Ejemplo:2026-09-06T12:00:00Zremetenteobjectobligatorio para empresas Marketplace / CarrierRemitente (
DCe00005cuando falta en una empresa Marketplace / Carrier); una empresaOwnIssuerpuede omitirlo (la propia empresa); cuando se envía,cpfCnpjdebe ser igual al CNPJ de la empresa.destinatarioobjectobligatorioDestinatario;
cpfCnpjobligatorio (DCe00009).itensarrayobligatorioMercancías declaradas, 1-999 ítems.
transporteobjectobligatorioDatos de transporte.
autorizacaoDownloadXmlarrayopcionalCPF / CNPJ autorizados a descargar el XML, hasta 10 (
10019022). No incluya el CNPJ del propio emisor (ya autorizado por defecto; el autorizador responde "CNPJ do Marketplace ja autorizado para download") y no repita un documento: ambos se rechazan en la aceptación.informacoesAdicionaisstringopcionalInformación adicional del marketplace (≤5000) →
infAdic/infAdMarketplace.informacoesAdicionaisFiscostringopcionalInformación adicional para la autoridad fiscal (≤2000) →
infAdic/infAdFisco.informacoesAdicionaisEmitentestringopcionalInformación complementaria del emisor (≤5000) →
infAdic/infCpl.observacoesMarketplacearrayopcionalHasta 10 observaciones →
infAdic/obsMarketplace(atributoxCampo+xTexto).
Respuestas
Aceptado; sin cuerpo de respuesta. El documento entra en Pendente y se numera y envía a la SEFAZ de forma asíncrona. Haga seguimiento por la consulta o el webhook.
Sin cuerpo de respuesta
Errores
| Código | HTTP | |
|---|---|---|
| 10003000 | 404 |
|
| DCe00004 | 400 | Empresa no configurada para DC-e (falta |
| DCe00005 | 400 | Empresa Marketplace / Carrier sin |
| DCe00006 | 400 |
|
| DCe00007 | 400 | Remitente brasileño sin |
| DCe00008 | 400 | La empresa no puede emitir (no aprobada / certificado no listo). Espere la aprobación / vincule el certificado. |
| DCe00009 | 400 | Destinatario brasileño sin |
| GW001 | 400 | Código IBGE del municipio no encontrado o inconsistente con |
| 10019005 | 400 | Solicitud duplicada concurrente. Reintente más tarde. |
| 10019006 | 400 | Demasiadas tareas pendientes para el CNPJ. Reintente más tarde. |
| 10019007 | 400 | Serie no resuelta (varias series habilitadas). Pida a operaciones consolidar las series. |
| 10019013 | 400 | Tipo de emisor |
| 10019018 | 400 | Ítem inválido (longitud del NCM, cantidad ≤ 0, precio unitario negativo). Corrija según |
| 10019019 | 400 | Enumeración o formato inválido ( |
| 10019020 | 400 | CNPJ de la transportadora inválido. Corrija |
| 10019021 | 400 | Información adicional demasiado larga. Acorte el texto. |
| 10019022 | 400 | Cantidad o documento inválido en |
| 10019030 | 400 | Mismo |
| 10019031 | 400 | Producción: ya existe un documento activo / autorizado para el |
| 10019048 | 400 |
|
| 10001001 | 400 | Falló la validación de campos (una entrada por campo). Corrija según |
Valores calculados y saneamiento
vProd = quantidade × valorUnitario (HALF_UP, 2 decimales) y vDC = Σ vProd son calculados por la plataforma y escritos en el XML. Los campos de texto se sanean (se quitan acentos, los caracteres de control se reemplazan por espacios, los espacios en blanco se colapsan) antes de validar la longitud.
Validación en la aceptación
Verificaciones realizadas en la aceptación (sin numeración, sin llamada a la SEFAZ, 400 directo): empresa apta para emitir con certificado utilizable y DC-e configurado; ambiente igual al de la empresa; longitud y dígitos verificadores de los documentos; código IBGE del municipio coherente con la UF; cep de 8 dígitos; itens no vacío con cantidad / precio unitario / NCM válidos; límites de tamaño de las listas; longitud de los textos.
Los rechazos de la SEFAZ durante la emisión no son errores HTTP: aparecen como estado Negada en la consulta y en el webhook dce.rejected. La máquina de estados completa está en DC-e.
