Class Configuracao
Classe das configurações para conexão e envio dos XMLs para os webservices
Inherited Members
Namespace: Unimake.Business.DFe.Servicos
Assembly: Unimake.Business.DFe.dll
Syntax
public class Configuracao
Fields
NaoAssina
Propriedade criada para atender o padrão FIORILLI, Monte Alto - SP; O município não precisa de assinatura em produção mas precisa em homologação.
Declaration
public TipoAmbiente? NaoAssina
Field Value
| Type | Description |
|---|---|
| TipoAmbiente? |
SchemasEspecificos
Schemas específicos de um mesmo serviço (Tipos de Evento, Modal CTe ou Modal MDFe)
Declaration
public Dictionary<string, SchemaEspecifico> SchemasEspecificos
Field Value
| Type | Description |
|---|---|
| Dictionary<string, SchemaEspecifico> |
TiposEventosEspecificos
Tipos de eventos específicos do REINF e eSocial
Declaration
public Dictionary<string, TiposEventosEspecificos> TiposEventosEspecificos
Field Value
| Type | Description |
|---|---|
| Dictionary<string, TiposEventosEspecificos> |
UrlsRecibosEventos
URLs para consulta de recibos do REINF
Declaration
public Dictionary<string, UrlsRecibosEventos> UrlsRecibosEventos
Field Value
| Type | Description |
|---|---|
| Dictionary<string, UrlsRecibosEventos> |
Properties
ApiKey
ApiKey - Header API
Declaration
public string ApiKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
BuscarConfiguracaoPastaBase
Buscar o arquivo de configuração na pasta base definida na propriedade "PastaDLL"? (true or false) Se existir o arquivo de configuração, da SEFAZ ou Prefeitura, na pasta definida na propriedade "PastaDLL", a DLL vai priorizar buscar as informações deste arquivo. Muito útil quando a SEFAZ ou Prefeitura muda as configurações dos web-services sem aviso prévio, com isso podemos fazer os ajustes no XML de configuração rapidamente e colocar o arquivo na pasta em questão que a DLL assuma as novas orientações sem precisar atualizar a DLL. Ativar esta configuração pode deixar a rotina, fração de segundos, mais lenta, pois vai fazer um acesso ao HD em busca do arquivo. Quando não ativamos esta propriedade a DLL continua buscando o arquivo de configuração somente nos recursos embutidos da mesma, e isso é muito rápido pois trabalha unicamente na memória.
Declaration
public bool BuscarConfiguracaoPastaBase { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
CSC
CSC = Código de segurança do contribuinte. Utilizado para criar o QRCode da NFCe
Declaration
public string CSC { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CSCIDToken
IDToken do CSC (Código de segurança do contribuinte). Utilizado para criar o QRCode da NFCe
Declaration
public int CSCIDToken { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
CertificadoArquivo
Caminho completo do certificado digital A1
Declaration
public string CertificadoArquivo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CertificadoBase64
BASE64 do certificado digital A1
Declaration
public string CertificadoBase64 { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CertificadoDigital
Certificado digital
Declaration
public X509Certificate2 CertificadoDigital { get; set; }
Property Value
| Type | Description |
|---|---|
| X509Certificate2 |
CertificadoSenha
Senha de instalação/uso do certificado digital A1
Declaration
public string CertificadoSenha { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CertificadoSerialNumberOrThumbPrint
SerialNumber ou ThumbPrint do Certificado Digital
Declaration
public string CertificadoSerialNumberOrThumbPrint { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ChaveAcesso
Chave de acesso utilizada nos URLs do padrão NACIONAL *(quando se necessita fazer o replace na url)
Declaration
public string ChaveAcesso { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ClientID
ClientID para gerar token (no momento, apenas Padrão AGILI)
Declaration
public string ClientID { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ClientSecret
ClientSecret para gerar token (no momento, apenas Padrão AGILI)
Declaration
public string ClientSecret { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CodigoConfig
Código da configuração
Declaration
public int CodigoConfig { get; }
Property Value
| Type | Description |
|---|---|
| int |
CodigoMunicipio
Código do IBGE do Município (Utilizando no envio de NFSe)
Declaration
public int CodigoMunicipio { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
CodigoTom
Nome da tag onde é definido o CodigoTOM da cidade
Declaration
public string CodigoTom { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CodigoUF
Código da Unidade Federativa (UF)
Declaration
public int CodigoUF { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
ConverteSenhaBase64
Propriedade para habilitar a conversao de alguma configuração para Base64 antes do envio (default == True)
Declaration
public bool ConverteSenhaBase64 { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Cookie
Cookie (caso exista) IPM v2.8: Após efetuar a primeira requisição na aplicação (seja de emissão ou de cancelamento), poderá ser obtida a informação referente à sessão.Em seguida, para as próximas requisições, deve-se passar junto ao cabeçalho a informação de Cookie, juntamente com o identificador de sessão. Este parâmetro é de extrema importação, ele faz com que o tempo de emissão da NFS -e reduza consideravelmente, pois não é necessário criar uma sessão para cada emissão.
Declaration
public string Cookie { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Definida
Configuração já foi definida anteriormente, não precisa carregar de acordo com os dados do XML
Declaration
public bool Definida { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Descricao
Descrição do serviço
Declaration
public string Descricao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
EncriptaTagAssinatura
Propriedade criada para atender o padrão DSF Versão 1.0.
Declaration
public bool EncriptaTagAssinatura { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
GZIPCompress
Compactar a mensagem (XML) com GZIP para ser enviado ao webservice?
Declaration
public bool GZIPCompress { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
HasProxy
Tem servidor de proxy?
Declaration
public bool HasProxy { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
HostHomologacao
Host - Header API
Declaration
public string HostHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
HostProducao
Host - Header API
Declaration
public string HostProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
HttpContent
HttpContent utilizado para a comunicação
Declaration
public HttpContent HttpContent { get; set; }
Property Value
| Type | Description |
|---|---|
| HttpContent |
IsAPI
O serviço consome API? true ou false
Declaration
public bool IsAPI { get; }
Property Value
| Type | Description |
|---|---|
| bool |
LoginConexao
Propriedade para habilitar o uso de usuário e senha para consumo pela API
Declaration
public bool LoginConexao { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
MetodoAPI
Método de solicitação da API
Declaration
public string MetodoAPI { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Modelo
Modelo do documento fiscal que é para consultar o status do serviço
Declaration
public ModeloDFe Modelo { get; set; }
Property Value
| Type | Description |
|---|---|
| ModeloDFe |
MunicipioSenha
Senha de acesso ao webservice/api do município
Declaration
public string MunicipioSenha { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
MunicipioToken
Token de acesso ao webservice/api do município
Declaration
public string MunicipioToken { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
MunicipioTokenValidade
Data de validade do token de acesso ao webservice/api do município
Declaration
public DateTime MunicipioTokenValidade { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime |
MunicipioUsuario
Usuário de acesso ao webservice/api do município
Declaration
public string MunicipioUsuario { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Nome
Nome do estado ou município
Declaration
public string Nome { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
NomeUF
Nome da Unidade Federativa (UF)
Declaration
public string NomeUF { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
NumeroProtocolo
Número do protocolo retornado no envio do lote do REINF
Declaration
public string NumeroProtocolo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PadraoNFSe
Padrão da NFSe
Declaration
public PadraoNFSe PadraoNFSe { get; set; }
Property Value
| Type | Description |
|---|---|
| PadraoNFSe |
PastaArquivoConfiguracao
Por padrão é a pasta base onde a DLL está instalada de onde está sendo executada, mas o desenvolvedor pode mudar esta pasta definindo a que lhe for melhor.
Declaration
public string PastaArquivoConfiguracao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ProxyAutoDetect
True = Detectar o servidor de proxy automaticamente False = Utiliza os dados de Proxy Default
Declaration
public bool ProxyAutoDetect { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
ProxyPassword
Senha do usuário para conexão do servidor de proxy
Declaration
public string ProxyPassword { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ProxyUser
Usuário para conexão do servidor de proxy
Declaration
public string ProxyUser { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RequestURI
Request URI utilizado na comunicação por API
Declaration
public string RequestURI { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RequestURIHomologacao
Endereco para consumo de API - no ambiente de homologação
Declaration
public string RequestURIHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RequestURILoginHomologacao
Endereço para login na API - homologação
Declaration
public string RequestURILoginHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RequestURILoginProducao
Endereço para login na API - produção
Declaration
public string RequestURILoginProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
RequestURIProducao
Endereco para consumo de API - no ambiente de producao
Declaration
public string RequestURIProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ResponseMediaType
Nome da tag onde você escolhe como deseja que seja tratado o retorno.
Declaration
public string ResponseMediaType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SchemaArquivo
Nome do arquivo de schema para validação do XML
Declaration
public string SchemaArquivo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SchemaVersao
Versão do schema do XML
Declaration
public string SchemaVersao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SchemaVersaoEvento
Versão do schema do XML do evento
Declaration
public string SchemaVersaoEvento { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Servico
Serviço que será executado
Declaration
public Servico Servico { get; set; }
Property Value
| Type | Description |
|---|---|
| Servico |
TagAssinatura
Nome da tag de Assinatura do XML
Declaration
public string TagAssinatura { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TagAtributoID
Nome da tag que tem o atributo de identificador único a ser utilizado no Reference.URI da assinatura
Declaration
public string TagAtributoID { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TagExtraAssinatura
Nome da tag de Assinatura do XML, quando tiver uma terceira tag para assinar (É o caso da Substituição da NFSe)
Declaration
public string TagExtraAssinatura { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TagExtraAtributoID
Nome da tag que tem o atributo de identificador único a ser utilizado no Reference.URI da assinatura
Declaration
public string TagExtraAtributoID { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TagLoteAssinatura
Nome da tag de Assinatura do XML, quando tem lote (Exemplo: Uma lote com várias NFe ou NFSe)
Declaration
public string TagLoteAssinatura { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TagLoteAtributoID
Nome da tag que tem o atributo de identificador único a ser utilizado no Reference.URI da assinatura, quando tem lote (Exemplo: Uma lote com várias NFe ou NFSe)
Declaration
public string TagLoteAtributoID { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TargetNS
Namespace do XML para validação de schema
Declaration
public string TargetNS { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TemCDATA
Propriedade criada para tratar municípios com mais de um CDATA no SOAP.
Declaration
public bool TemCDATA { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
TimeOutWebServiceConnect
Tempo, em milissegundos, para aguardar resposta dos WebServices. (default = 60000)
Declaration
public int TimeOutWebServiceConnect { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
TipoAmbiente
Ambiente (2-Homologação ou 1-Produção)
Declaration
public TipoAmbiente TipoAmbiente { get; set; }
Property Value
| Type | Description |
|---|---|
| TipoAmbiente |
TipoDFe
Tipo do Documento Fiscal Eletrônico (DF-e)
Declaration
public TipoDFe TipoDFe { get; set; }
Property Value
| Type | Description |
|---|---|
| TipoDFe |
TipoEmissao
Tipo de Emissao (1-Normal, 2-Contingencia, 6/7/8-SVC/AN/RS/SP, ...
Declaration
public TipoEmissao TipoEmissao { get; set; }
Property Value
| Type | Description |
|---|---|
| TipoEmissao |
TipoEventoEFDReinf
Tipo do Evento do EFDReinf
Declaration
public string TipoEventoEFDReinf { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
TokenSoap
Token de acesso ao soap do município
Declaration
public string TokenSoap { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
UrlChaveHomologacao
URL para consulta do DFe (NFCe e CTe) manualmente no ambiente de homologação
Declaration
public string UrlChaveHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
UrlChaveProducao
URL para consulta do DFe (NFCe e CTe) manualmente no ambiente de produção
Declaration
public string UrlChaveProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
UrlQrCodeHomologacao
URL para consulta do DFe (NFCe e CTe) via QRCode no ambiente de homologação
Declaration
public string UrlQrCodeHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
UrlQrCodeProducao
URL para consulta do DFe (NFCe e CTe) via QRCode no ambiente de produção
Declaration
public string UrlQrCodeProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
UsaCertificadoDigital
Propriedade para habilitar o uso de certificado digital (default == True)
Declaration
public bool UsaCertificadoDigital { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
VersaoConfiguracao
Versão da configuração definido no XML de configurações da UF ou Município Esta versão só vai existir se a configuração foi alterada e o ERP deseja usar ela na pasta sem precisar atualizar a DLL. A DLL vai verificar se a versão da configuração que está na pasta é maior que a versão da DLL, se for, vai priorizar o que está na pasta, caso contrário vai pegar a configuração embutida na DLL, pois é mais atual. Tag que deve ser informada no arquivo de configuração: Exemplo:
AC.XML
<?xml version="1.0" encoding="utf-8"?> <Configuracoes> <VersaoConfiguracao>202312061103</VersaoConfiguracao> <Heranca>SVRS.xml</Heranca> </Configuracoes>
Formato deve ser conforme acima: ano com 4 dígitos + mês com 2 dígitos (zeros a esquerda) + dia com 2 dígitos (zeros a esquerda) + horas com 2 dígitos (zeros a esquerda) + minutos com 2 dígitos (zeros a esquerda)
Declaration
public string VersaoConfiguracao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
VersaoQRCodeNFCe
Versão do QRCode da NFCe utilizado para gerar o QRCode da NFCe 2 = Versão 2 do QRCode NFCe (Padrão Nacional) 3 = Versão 3 do QRCode NFCe (Padrão Nacional)
Declaration
public int VersaoQRCodeNFCe { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
WebActionHomologacao
Ação, do webservice, a ser executada no ambiente de homologação
Declaration
public string WebActionHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebActionProducao
Ação, do webservice, a ser executada no ambiente de produção
Declaration
public string WebActionProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebContentType
ContentType para conexão via classe HttpWebRequest
Declaration
public string WebContentType { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Examples
Exemplos de conteúdo:
application/soap+xml; charset=utf-8; text/xml; charset=utf-8;
Deixe o conteúdo em brando para utilizar um valor padrão.
WebEncodingRetorno
Encoding do XML retornado pelo webservice (Padrão é UTF-8, mas tem webservices que retornam em encodings diferentes, para estes tem que definir para que os caracteres fiquem corretos.)
Declaration
public string WebEncodingRetorno { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebEnderecoHomologacao
Endereço WebService do ambiente de homologação
Declaration
public string WebEnderecoHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebEnderecoProducao
Endereço WebService do ambiente de produção
Declaration
public string WebEnderecoProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebSoapString
String do Soap para envio para o webservice;
Declaration
public string WebSoapString { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Examples
Exemplo de conteúdo que deve ser inserido nesta propriedade:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header>{xmlHeader}</soap:Header><soap:Body><nfeDadosMsg xmlns="{ActionWeb}">{xmlBody}</nfeDadosMsg></soap:Body></soap:Envelope>
Onde estiver {xmlHeader} o conteúdo será substituído pelo XML do header em tempo de execução Onde estiver {ActionWeb} o conteúdo será substituído pelo WebAction em tempo de execução Onde estiver {xmlBody} o conteúdo será substituído pelo XML do Body em tempo de execução
Deixe o conteúdo em branco para utilizar um soap padrão.
WebSoapStringHomologacao
String do Soap para envio para o webservice;
Declaration
public string WebSoapStringHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Examples
Exemplo de conteúdo que deve ser inserido nesta propriedade:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header>{xmlHeader}</soap:Header><soap:Body><nfeDadosMsg xmlns="{ActionWeb}">{xmlBody}</nfeDadosMsg></soap:Body></soap:Envelope>
Onde estiver {xmlHeader} o conteúdo será substituído pelo XML do header em tempo de execução Onde estiver {ActionWeb} o conteúdo será substituído pelo WebAction em tempo de execução Onde estiver {xmlBody} o conteúdo será substituído pelo XML do Body em tempo de execução
Deixe o conteúdo em branco para utilizar um soap padrão.
WebSoapStringProducao
String do Soap para envio para o webservice;
Declaration
public string WebSoapStringProducao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Examples
Exemplo de conteúdo que deve ser inserido nesta propriedade:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header>{xmlHeader}</soap:Header><soap:Body><nfeDadosMsg xmlns="{ActionWeb}">{xmlBody}</nfeDadosMsg></soap:Body></soap:Envelope>
Onde estiver {xmlHeader} o conteúdo será substituído pelo XML do header em tempo de execução Onde estiver {ActionWeb} o conteúdo será substituído pelo WebAction em tempo de execução Onde estiver {xmlBody} o conteúdo será substituído pelo XML do Body em tempo de execução
Deixe o conteúdo em branco para utilizar um soap padrão.
WebSoapVersion
Versão do SOAP utilizada pelo webservice
Declaration
public string WebSoapVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebTagRetorno
Nome da tag de retorno do serviço
Declaration
public string WebTagRetorno { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WebTagRetornoHomologacao
Nome da tag de retorno do serviço
Declaration
public string WebTagRetornoHomologacao { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Methods
Load(string)
Carregar do XML que contem configurações e atribuir o conteúdo nas propriedades da classe
Declaration
public void Load(string nomeTagServico)
Parameters
| Type | Name | Description |
|---|---|---|
| string | nomeTagServico | Nome da tag do serviço que será consumido |
LoadXmlConfig(string)
Ler conteúdo do arquivo de configurações contido nos recursos da DLL
Declaration
public Stream LoadXmlConfig(string arquivo)
Parameters
| Type | Name | Description |
|---|---|---|
| string | arquivo | Nome do arquivo que é para ler o conteúdo |
Returns
| Type | Description |
|---|---|
| Stream | Stream do arquivo de configuração contido nos recursos da DLL |