Ir para conteúdo
  • Cadastre-se

Recommended Posts

  • Consultores
Postado

ele mostra como preencher os dados e tem como deve preencher em cada situação. 

 

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Bom dia,

@Juliomar Marchetti segue mais orientações que recebi no grupo da nota fiscal de Campinas.

"

1. Regras Estruturais da Assinatura

1.1.   A tag infDPS deve conter o atributo Id preenchido corretamente conforme o exemplo:
• <infDPS Id="DPS00001...">
Na estrutura da assinatura, referenciar como elemento o Id da TAG raiz, sendo assim o URI dentro do elemento <Reference> da assinatura deve apontar exatamente para esse Id precedido por uma hashtag: URI="#DPS00001..."
•   Id: Identificador único formado de acordo com a regra da documentação.


1.2.   O posicionamento do grupo de assinatura <Signature> deve ser inserida dentro do bloco principal da DPS e recomenda-se, por boa prática, gerar a assinatura sem prefixos de namespace:
• <Signature>, e não <ds:Signature>.

• <DPS>
    <infDPS Id="DPS??????????????????????????????????????????">
       ... <!-- Dados da declaração de prestação de serviços... -->
    </infDPS>
        <!-- Bloco Assinatura XML Digital Signature (Obrigatório para o envio à API) -->
    <Signature>
   ... <!-- Tags geradas pelo seu certificado digital -->
   <Reference URI="#DPS??????????????????????????????????????????">
       ...
    </Signature>
  </DPS>


2. Algoritmos Utilizados (Padrão)
Padrão de assinatura dos documentos XML: XMLDSIG (https://www.w3.org/TR/xmldsig-core/)
Transformações (Transform): confirmadas como obrigatórias:
http://www.w3.org/2000/09/xmldsig#enveloped-signature
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (C14N)


3. Exemplo: Vide arquivo anexo Exemplo_XML-DPS.txt nesse post.


4. Identificador principal (Id) da DPS (AnexoI - LEIAUTE DPS_NFS-e - campo 101):
• A string do identificador deve conter exatamente 45 posições.
• Ele é formado obrigatoriamente pela concatenação, nesta ordem exata, das seguintes informações:
    - Prefixo Literal: "DPS" (3 posições).
    - Código do Município Emissor (cLocEmi): Código IBGE da cidade (7 posições).
    - Tipo de Inscrição Federal do Emitente: 1 para CPF ou 2 para CNPJ (1 posição).
    - Inscrição Federal do Emitente (CNPJ ou CPF): O número do documento (14 posições). Atenção: se for CPF, é obrigatório completar com zeros à esquerda até atingir as 14 posições.
    - Série da DPS (serie): (5 posições).
    - Número da DPS (nDPS): (15 posições).


5. Transformação do XML para compor o JSON de envio (AnexoI e AnexoIV):
• Assinatura Digital: O XML já deve estar devidamente assinado com o seu certificado digital (contendo a tag <Signature> referenciando o identificador da <infDPS>).
• Codificação Padrão: O arquivo XML deve estar obrigatoriamente codificado no padrão UTF-8.
• Compactação (GZIP): Todo o conteúdo do XML assinado deve ser compactado utilizando o formato GZIP.
• Codificação (Base64): O arquivo binário resultante da compactação GZIP deve ser convertido para uma string em formato Base64.
• Montagem do JSON e Envio: {"dpsXmlGZipB64": "H4sIAAAAAAAAA+1We...[string do XML compactado]...=="}
• Envio do JSON utilizando o método POST para o endpoint.

"

 

Obrigada,

Paula

Exemplo_XML-DPS.txt

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...