Como transmitir a DeRE
Credencial, token, lote assinado e consulta do protocolo, como o Manual do Desenvolvedor da DeRE e a documentação do Receita Integra definem. Os números desta página saem dos dois documentos, não de recomendação nossa.
O caminho, em quatro passos
-
1. Gerar a credencial de API
No serviço "Gerar Credencial de Acesso para API", com conta gov.br e representação da pessoa jurídica. A empresa recebe client_id e client_secret. Portais:
https://serviços.receitafederal.gov.brhttps://consumo.tributos.gov.br. -
2. Obter o token
OAuth 2.0 no fluxo
client_credentials(RFC 6749, RFC 6750), por POST sobre HTTPS no Authorization Server. O token vale 60 minutos e vai em todas as chamadas no cabeçalhoAuthorization: Bearer <access_token>. -
3. Montar e assinar o lote
Cada evento é gerado pelo leiaute dele e assinado individualmente em XMLDSig com certificado ICP-Brasil. Os eventos assinados entram na estrutura XML do lote, que é validada contra o XSD antes de ir para a fila. O lote é obrigatório mesmo para um evento só.
-
4. Enviar e consultar o protocolo
POST https://api.receitafederal.gov.br/dere/v1/recepcao/lotescomContent-Type: application/xmlAuthorization: Bearer TOKEN_RECEITA_INTEGRA. O processamento é assíncrono: guarde o protocolo da resposta e consulte o resultado depois emGET https://api.receitafederal.gov.br/dere/v1/consulta/lotes/{protocolo}. O HTTP 201 é só o protocolo provisório: a obrigação se cumpre com o Recibo de Processamento Definitivo da consulta.
São 2 tokens por hora, e isso decide a arquitetura
O token vale 60 minutos e o Receita Integra limita a 2 tokens por hora. A documentação determina que se implemente cache para reutilizar o token. Quem pede token a cada requisição funciona no teste e falha em produção, quando o volume sobe: e o erro que volta é de autenticação, que manda procurar defeito na credencial.
Endereços
| O quê | Endereço |
|---|---|
| Authorization Server (Produção) | https://api.receitafederal.gov.br/token |
| POST · produção | https://api.receitafederal.gov.br/dere/v1/recepcao/lotes |
| GET · produção | https://api.receitafederal.gov.br/dere/v1/consulta/lotes/{protocolo} |
| POST · produção restrita | https://api.receitafederal.gov.br/prr-dere/v1/recepcao/lotes |
| GET · produção restrita | https://api.receitafederal.gov.br/prr-dere/v1/consulta/lotes/{protocolo} |
| DELETE · produção restrita | https://api.receitafederal.gov.br/prr-dere/v1/recepcao/limpezaDadosContribuinte/{cnpjDeclarante} |
Os endereços de produção não estão no manual: saíram no comunicado da Receita Federal e do CGIBS de 28/09/2026. O tráfego abre em 01/10/2026 às 09h00 (horário de Brasília). Antes disso, o barramento rejeita a conexão. Os lotes usam o pacote 06-Arquivos XSD (v 1.2.0 PRODUÇÃO). ⚠ O pacote 1.3.0, publicado depois, ainda não vale para transmitir: "No presente momento, a versão 1.3.0 destina-se apenas ao desenvolvimento preliminar, não estando ativa para recepção ou transmissão nos serviços do SERPRO em nenhum dos ambientes."
⚠ Já a tabela de ambientes do Receita Integra traz uma linha só, a de produção, e não há homologação declarada nela. O Buscador NCM publica o que as tabelas trazem, com a contagem, em vez de completar o que a fonte não diz.
Assinatura e certificado
Padrões da assinatura
- Padrão de assinatura:
- XML Digital Signature (XMLDSig)
- Formato da assinatura:
- Enveloped Signature
- Certificado digital:
- ICP-Brasil
- Cadeia de certificação:
- EndCertOnly
- Tipo de certificado:
- A1 ou A3
- Algoritmo de assinatura:
- RSA-SHA256
- Codificação:
- Base64
- Tamanho da chave:
- Compatível com certificados A1 e A3 (1024 e 2048 bits)
Transformações obrigatórias:
- Enveloped Signature
http://www.w3.org/2000/09/xmldsig#enveloped-signature - Canonicalização XML (C14N)
http://www.w3.org/TR/2001/REC-xml-c14n-20010315
Requisitos do certificado
- →Possuir cadeia de certificação válida e confiável
- →Possuir cadeia certificadora vinculada à Autoridade Certificadora Raiz da ICPBrasil
- →Não estar revogado no momento da validação
- →Não estar expirado na data da verificação da assinatura
- →Ser do tipo e-CNPJ, e-PJ, e-CPF, e-PF ou e-Aplicação
- →Possuir os atributos digitalSignature e nonRepudiation definidos na extensão
Só o certificado do assinante final entra na assinatura
A cadeia declarada é EndCertOnly: não devem ser incluídos certificados intermediários
nem o da autoridade certificadora na estrutura XML da assinatura. Várias bibliotecas embutem a cadeia
inteira por padrão, e o resultado é uma assinatura válida do lado de quem assina e recusada do lado
que valida. As informações do certificado vão no elemento X509Certificate.
Os 11 códigos HTTP e o tratamento
| Código | Descrição | Tratamento recomendado |
|---|---|---|
| 200 OK | Requisição processada com sucesso. | Processar normalmente a resposta retornada pela API. |
| 202 Accepted | Requisição recebida e aceita para processamento assíncrono. | Armazenar o protocolo retornado e realizar consulta posterior do resultado do processamento. |
| 400 Bad Request | Requisição inválida ou malformada. | Corrigir os dados da requisição antes de realizar novo envio. |
| 401 Unauthorized | Token ausente, inválido ou expirado. | Obter novo token junto ao Receita Integra e repetir a operação. |
| 403 Forbidden | Acesso não autorizado para a operação solicitada. | Verificar credenciais, permissões e configurações de acesso. |
| 404 Not Found | Recurso não encontrado. | Verificar os parâmetros informados, como número de protocolo ou URL utilizada. |
| 429 Too Many Requests | Limite de utilização da API excedido. | Aguardar antes de realizar novas chamadas e reduzir a frequência das requisições. |
| 500 Internal Server Error | Erro interno da aplicação. | Registrar a ocorrência e realizar nova tentativa após intervalo adequado. |
| 502 Bad Gateway | Falha temporária de comunicação entre serviços. | Realizar retentativa controlada após aguardar alguns instantes. |
| 503 Service Unavailable | Serviço temporariamente indisponível. | Aguardar a normalização do serviço antes de realizar nova tentativa. |
| 504 Gateway Timeout | Tempo limite excedido durante o processamento. | Realizar nova tentativa observando as recomendações de retentativa da aplicação. |
⚠ Antes de qualquer retentativa: em timeout ou falha de rede durante a transmissão de um lote, a aplicação não deve presumir que o lote não chegou. O manual manda registrar a ocorrência e verificar antes de transmitir de novo, para não duplicar informação.
- →As retentativas devem ser utilizadas apenas para falhas temporárias de
- →As retentativas sejam realizadas de forma controlada
- →Seja adotado intervalo crescente entre tentativas sucessivas (backoff)
- →Não sejam executadas tentativas contínuas em intervalos muito curtos
- →As falhas sejam registradas para fins de auditoria e suporte.
Limites operacionais
O manual declara 5 dimensões de limite e não publica os valores: eles serão divulgados pelos canais oficiais (Portal SPED e Portal Nacional do IBS e da CBS). O teto existe, o número ainda não é público, e é assim que esta página o apresenta.
O que é limitado
- →Quantidade de requisições realizadas em determinado período
- →Frequência de consultas aos serviços
- →Quantidade de eventos por lote
- →Tamanho máximo das mensagens transmitidas
- →Tempo máximo de processamento das requisições.
O que evitar
- →Consultas repetitivas em intervalos reduzidos
- →Retentativas contínuas sem controle
- →Transmissões redundantes do mesmo conteúdo
- →Processos automatizados que realizem chamadas em volume incompatível com a
Produção restrita
É o ambiente para validar a geração dos eventos, a assinatura, a transmissão do lote e o tratamento
dos retornos. As informações transmitidas nele não produzem efeitos legais ou fiscais. ⚠ Ele não foi projetado para teste de carga, de estresse ou de desempenho: transmissão massiva ali é uso incompatível com o que o ambiente é. Os dados são limpos periodicamente, e há endpoint próprio para isso: DELETE /v1/recepcao/limpezaDadosContribuinte/{cnpjDeclarante}.
Perguntas frequentes
Como se transmite um evento da DeRE?
Em quatro passos, na ordem: gerar a credencial de API (client_id e client_secret) nos portais da Receita Federal; obter um token OAuth 2.0 no fluxo client_credentials; montar o lote de eventos, com cada evento assinado individualmente em XMLDSig; e enviar o XML do lote por POST em https://api.receitafederal.gov.br/dere/v1/recepcao/lotes, com os cabeçalhos Content-Type e Authorization. O processamento é assíncrono: a resposta traz um protocolo, e o resultado se consulta depois em GET https://api.receitafederal.gov.br/dere/v1/consulta/lotes/{protocolo}. A resposta HTTP 201 é só o protocolo provisório de entrega. A obrigação se cumpre com o Recibo de Processamento Definitivo que a consulta devolve.
Preciso montar lote mesmo para enviar um evento só?
Sim. O manual do desenvolvedor é explícito: a estrutura de lote é obrigatória para a transmissão de qualquer informação, e o endpoint de recepção espera receber o documento XML representativo do lote, não os arquivos de eventos soltos. O lote funciona como um envelope que agrupa os eventos já assinados, e ele próprio é validado contra o esquema XSD de lote antes de entrar na fila de processamento.
Quantos tokens por hora a DeRE permite?
2. Cada token vale 60 minutos, e o manual do Receita Integra determina que se implemente cache para reutilizá-lo. ⚠ Isto decide arquitetura: quem pede token a cada requisição esgota o limite e passa a receber erro de autenticação em produção, no dia em que o volume subir. O token vai no cabeçalho Authorization: Bearer <access_token>.
Qual é o endereço da API da DeRE?
Em produção, POST https://api.receitafederal.gov.br/dere/v1/recepcao/lotes para enviar o lote e GET https://api.receitafederal.gov.br/dere/v1/consulta/lotes/{protocolo} para consultar o processamento. Os endereços saíram no comunicado da Receita Federal e do CGIBS de 28/09/2026, com o tráfego aberto a partir de 01/10/2026 às 09h00 (horário de Brasília); antes disso o barramento rejeita a conexão. Na produção restrita, a URLBASE do manual é https://api.receitafederal.gov.br/prr-dere. O Authorization Server do token fica em https://api.receitafederal.gov.br/token, e a tabela de ambientes do manual da plataforma traz uma linha só, a de produção.
Como assinar os eventos da DeRE?
Com certificado ICP-Brasil, no padrão XML Digital Signature em formato Enveloped Signature, aplicado ao elemento que tem o atributo Id, com Reference URI apontando explicitamente para esse identificador. Padrão de assinatura: XML Digital Signature (XMLDSig); Formato da assinatura: Enveloped Signature; Certificado digital: ICP-Brasil; Cadeia de certificação: EndCertOnly; Tipo de certificado: A1 ou A3; Algoritmo de assinatura: RSA-SHA256; Codificação: Base64; Tamanho da chave: Compatível com certificados A1 e A3 (1024 e 2048 bits). ⚠ A cadeia é EndCertOnly: a assinatura deve conter apenas o certificado do assinante final, sem intermediários nem o da autoridade certificadora — incluir a cadeia inteira é o default de várias bibliotecas e reprova.
Que certificado digital a DeRE aceita?
Possuir cadeia de certificação válida e confiável; Possuir cadeia certificadora vinculada à Autoridade Certificadora Raiz da ICPBrasil; Não estar revogado no momento da validação; Não estar expirado na data da verificação da assinatura; Ser do tipo e-CNPJ, e-PJ, e-CPF, e-PF ou e-Aplicação; Possuir os atributos digitalSignature e nonRepudiation definidos na extensão. As informações do certificado vão no elemento X509Certificate do XMLDSig.
Quais são os limites de uso da API da DeRE?
O manual declara 5 dimensões de limite — Quantidade de requisições realizadas em determinado período; Frequência de consultas aos serviços; Quantidade de eventos por lote; Tamanho máximo das mensagens transmitidas; Tempo máximo de processamento das requisições. — e ⚠ **não publica os valores**: ele diz que os limites vigentes serão divulgados pelos canais oficiais (Portal SPED e Portal Nacional do IBS e da CBS). Ou seja, o teto existe e o número ainda não é público. O manual também nomeia os comportamentos a evitar: Consultas repetitivas em intervalos reduzidos; Retentativas contínuas sem controle; Transmissões redundantes do mesmo conteúdo; Processos automatizados que realizem chamadas em volume incompatível com a.
O que fazer quando a API devolve erro?
Depende do código, e o manual traz o tratamento recomendado de cada um: 200 OK — Processar normalmente a resposta retornada pela API. 202 Accepted — Armazenar o protocolo retornado e realizar consulta posterior do resultado do processamento. 400 Bad Request — Corrigir os dados da requisição antes de realizar novo envio. 401 Unauthorized — Obter novo token junto ao Receita Integra e repetir a operação. 403 Forbidden — Verificar credenciais, permissões e configurações de acesso. 404 Not Found — Verificar os parâmetros informados, como número de protocolo ou URL utilizada. ⚠ E há uma regra que antecede todas: em timeout ou falha de rede durante a transmissão de um lote, a aplicação não deve presumir que o lote não foi recebido; o certo é registrar a ocorrência e verificar antes de retransmitir, para não duplicar informação.
Existe ambiente de teste da DeRE?
Existe a Produção Restrita, e ela não produz efeitos legais ou fiscais. ⚠ Ela se destina à validação funcional e técnica da integração: o manual diz que o ambiente não foi projetado para testes de carga, de estresse ou de desempenho, e que as aplicações não devem fazer transmissões massivas. Os dados são limpos periodicamente, e há API própria para isso: DELETE /v1/recepcao/limpezaDadosContribuinte/{cnpjDeclarante}.
Fontes: DeRE — Manual de Orientação ao Desenvolvedor, versão 1.0.2 de 18/08/2026 e Receita Integra — Documentação Técnica, versão 1.4 de 17/07/2026, ambos do pacote de documentação técnica da DeRE. O segundo descreve a plataforma de integração da Receita Federal, não a DeRE em particular.