Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Suplemento, assinatura e protocolo

Id de Reference no protocolo: identificar a referência sem mudar o alvo

@IdnfeProc › protNFe › ds:Signature › ds:SignedInfo › ds:Reference › @Id

Revisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

Id de Reference, em /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/@Id, identifica a própria referência XMLDSig. Ele é opcional e do tipo XML ID. Não é o atributo que escolhe o alvo da assinatura do protocolo.

Três posições que não devem ser confundidas

Reference/@Id nomeia o elemento que descreve uma referência. Reference/@URI indica onde está o objeto referenciado. infProt/@Id identifica o grupo de informações do protocolo, previsto como objeto da assinatura da resposta. O literal ID seguido de nProt, indicado em PR04, pertence a esta última posição.

Um identificador textual didático como referenciaRespostaA poderia nomear Reference sem dizer qual infProt está protegido. O alvo continua dependendo da URI. Tampouco o atributo Type resolve o alvo: ele tem outra função, a de tipificar o objeto quando presente.

Por que o tipo ID importa

O tipo ID impõe um nome XML válido e unicidade no documento. Um valor com espaços ou iniciado por algarismo não serve para esse tipo. A identificação não é um número fiscal de tamanho fixo, e a ausência do atributo é admitida.

Como Reference integra SignedInfo, modificar esse Id altera informação incluída na canonicalização de SignedInfo. Uma renomeação aparentemente inocente pode invalidar SignatureValue. Não regenere nem complete esse atributo em resposta recebida da SEFAZ.

Como diagnosticar referências que não são localizadas

Confirme primeiro qual campo a integração usa para procurar o objeto. Se ela usa Reference/@Id quando deveria resolver Reference/@URI, corrija o mapeamento e compare com o alvo esperado em infProt. Se o problema for duplicidade de IDs, valide o documento original e examine eventual concatenação ou reconstrução feita após o recebimento.

Exemplo: a identificação de Reference está ausente, mas a URI resolve um único infProt e a verificação segue normalmente. Não existe, nesse cenário, obrigação estrutural de acrescentar Reference/@Id. Em outro cenário, duas referências reconstruídas recebem o mesmo Id: a montagem precisa ser investigada, sem alterar o protocolo fiscal original.

Não há XML completo neste exemplo; reproduzir Reference de forma operacional exigiria alvo, transformações e digest originais. A distinção de atributos permite conferir a integração sem criar uma assinatura fictícia. XSD, digest, confiança e autorização são verificações diferentes.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/@Id
Namespace
Não informado
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
0–1 no contexto do elemento pai
Tipo
ID
Preenchimento no catálogo
Condicional

A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.