Class Configuracao
Classe das configurações para conexão e envio dos XMLs para os webservices
Inheritance
Inherited Members
Namespace: Unimake.Business.DFe.Servicos
Assembly: Unimake.Business.DFe.dll
Syntax
public class Configuracao
Fields
_assembly
Declaration
readonly Assembly _assembly
Field Value
Type | Description |
---|---|
System.Reflection.Assembly |
_certificadoDigital
Declaration
X509Certificate2 _certificadoDigital
Field Value
Type | Description |
---|---|
System.Security.Cryptography.X509Certificates.X509Certificate2 |
_PastaDLL
Declaration
string _PastaDLL
Field Value
Type | Description |
---|---|
System.String |
_TimeOutWebServiceConnect
Declaration
int _TimeOutWebServiceConnect
Field Value
Type | Description |
---|---|
System.Int32 |
_webSoapStringHomologacao
Declaration
string _webSoapStringHomologacao
Field Value
Type | Description |
---|---|
System.String |
_webSoapStringProducao
Declaration
string _webSoapStringProducao
Field Value
Type | Description |
---|---|
System.String |
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 |
---|---|
System.Nullable<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 |
---|---|
System.Collections.Generic.Dictionary<System.String, SchemaEspecifico> |
TiposEventosEspecificos
Tipos de eventos específicos do REINF e eSocial
Declaration
public Dictionary<string, TiposEventosEspecificos> TiposEventosEspecificos
Field Value
Type | Description |
---|---|
System.Collections.Generic.Dictionary<System.String, TiposEventosEspecificos> |
Properties
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 |
---|---|
System.Boolean |
CertificadoArquivo
Caminho completo do certificado digital A1
Declaration
public string CertificadoArquivo { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CertificadoBase64
BASE64 do certificado digital A1
Declaration
public string CertificadoBase64 { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CertificadoDigital
Certificado digital
Declaration
public X509Certificate2 CertificadoDigital { get; set; }
Property Value
Type | Description |
---|---|
System.Security.Cryptography.X509Certificates.X509Certificate2 |
CertificadoSenha
Senha de instalação/uso do certificado digital A1
Declaration
public string CertificadoSenha { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CertificadoSerialNumberOrThumbPrint
SerialNumber ou ThumbPrint do Certificado Digital
Declaration
public string CertificadoSerialNumberOrThumbPrint { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.String |
ClientID
ClientID para gerar token (no momento, apenas Padrão AGILI)
Declaration
public string ClientID { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ClientSecret
ClientSecret para gerar token (no momento, apenas Padrão AGILI)
Declaration
public string ClientSecret { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CodigoConfig
Código da configuração
Declaration
public int CodigoConfig { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
CodigoMunicipio
Código do IBGE do Município (Utilizando no envio de NFSe)
Declaration
public int CodigoMunicipio { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
CodigoTom
Nome da tag onde é definido o CodigoTOM da cidade
Declaration
public string CodigoTom { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CodigoUF
Código da Unidade Federativa (UF)
Declaration
public int CodigoUF { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
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 |
---|---|
System.Boolean |
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 |
---|---|
System.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 |
---|---|
System.Int32 |
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 |
---|---|
System.Boolean |
Descricao
Descrição do serviço
Declaration
public string Descricao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
EncriptaTagAssinatura
Propriedade criada para atender o padrão DSF Versão 1.0.
Declaration
public bool EncriptaTagAssinatura { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GZIPCompress
Compactar a mensagem (XML) com GZIP para ser enviado ao webservice?
Declaration
public bool GZIPCompress { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
HasProxy
Tem servidor de proxy?
Declaration
public bool HasProxy { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsAPI
O serviço consome API? true ou false
Declaration
public bool IsAPI { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
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 |
---|---|
System.Boolean |
MetodoAPI
Método de solicitação da API
Declaration
public string MetodoAPI { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.String |
MunicipioToken
Token de acesso ao webservice/api do município
Declaration
public string MunicipioToken { get; set; }
Property Value
Type | Description |
---|---|
System.String |
MunicipioUsuario
Usuário de acesso ao webservice/api do município
Declaration
public string MunicipioUsuario { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NamespaceConfig
Namespace onde estão contidos os XMLs de configurações embutidos na DLL por tipo de documento (NFe, NFCe, CTe, etc...)
Declaration
string NamespaceConfig { }
Property Value
Type | Description |
---|---|
System.String |
Nome
Nome do estado ou município
Declaration
public string Nome { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NomeTagServico
Nome da tag que contem as propriedades de acordo com o serviço que está sendo executado
Declaration
string NomeTagServico { }
Property Value
Type | Description |
---|---|
System.String |
NomeUF
Nome da Unidade Federativa (UF)
Declaration
public string NomeUF { get; set; }
Property Value
Type | Description |
---|---|
System.String |
NumeroProtocolo
Número do protocolo retornado no envio do lote do REINF
Declaration
public string NumeroProtocolo { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.Boolean |
ProxyPassword
Senha do usuário para conexão do servidor de proxy
Declaration
public string ProxyPassword { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ProxyUser
Usuário para conexão do servidor de proxy
Declaration
public string ProxyUser { get; set; }
Property Value
Type | Description |
---|---|
System.String |
RequestURIHomologacao
Endereco para consumo de API - no ambiente de homologação
Declaration
public string RequestURIHomologacao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
RequestURIProducao
Endereco para consumo de API - no ambiente de producao
Declaration
public string RequestURIProducao { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.String |
SchemaArquivo
Nome do arquivo de schema para validação do XML
Declaration
public string SchemaArquivo { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SchemaVersao
Versão do schema do XML
Declaration
public string SchemaVersao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
SchemaVersaoEvento
Versão do schema do XML do evento
Declaration
public string SchemaVersaoEvento { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.String |
TargetNS
Namespace do XML para validação de schema
Declaration
public string TargetNS { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.Boolean |
TimeOutWebServiceConnect
Tempo, em milissegundos, para aguardar resposta dos WebServices. (default = 60000)
Declaration
public int TimeOutWebServiceConnect { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
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 |
---|---|
System.String |
TokenSoap
Token de acesso ao soap do município
Declaration
public string TokenSoap { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.String |
UsaCertificadoDigital
Propriedade para habilitar o uso de certificado digital (default == True)
Declaration
public bool UsaCertificadoDigital { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
VersaoConfiguracao
Declaration
public string VersaoConfiguracao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebActionHomologacao
Ação, do webservice, a ser executada no ambiente de homologação
Declaration
public string WebActionHomologacao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebActionProducao
Ação, do webservice, a ser executada no ambiente de produção
Declaration
public string WebActionProducao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebContentType
ContentType para conexão via classe HttpWebRequest
Declaration
public string WebContentType { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.String |
WebEnderecoHomologacao
Endereço WebService do ambiente de homologação
Declaration
public string WebEnderecoHomologacao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebEnderecoProducao
Endereço WebService do ambiente de produção
Declaration
public string WebEnderecoProducao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebSoapString
String do Soap para envio para o webservice;
Declaration
public string WebSoapString { get; set; }
Property Value
Type | Description |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.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 |
---|---|
System.String |
WebTagRetorno
Nome da tag de retorno do serviço
Declaration
public string WebTagRetorno { get; set; }
Property Value
Type | Description |
---|---|
System.String |
WebTagRetornoHomologacao
Nome da tag de retorno do serviço
Declaration
public string WebTagRetornoHomologacao { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Methods
BuscarArquivoConfiguracao(String)
Busca o arquivo de configuração específica da SEFAZ, Receita Federal ou Prefeitura. Analisa se é para pegar o arquivo de configuração embutido na DLL ou um que esteja em uma pasta.
Declaration
XmlDocument BuscarArquivoConfiguracao(string xmlConfigEspecifico)
Parameters
Type | Name | Description |
---|---|---|
System.String | xmlConfigEspecifico | Nome do XML de configuração específica embutido na DLL |
Returns
Type | Description |
---|---|
System.Xml.XmlDocument | XML de configuração |
GetConfigFile(String)
Retorna o nome do arquivo de configurações específicas do estado, município, etc...
Declaration
string GetConfigFile(string arqConfig)
Parameters
Type | Name | Description |
---|---|---|
System.String | arqConfig | Arquivo de configuração |
Returns
Type | Description |
---|---|
System.String | Retorna Namespace + Nome do arquivo de configuração de serviços |
GetX509Certificate()
Carregar certificado digital direto do arquivo .PFX
Declaration
X509Certificate2 GetX509Certificate()
Returns
Type | Description |
---|---|
System.Security.Cryptography.X509Certificates.X509Certificate2 | Objeto do certificado digital |
LerConfig(XmlDocument, String, Boolean)
Ler as configurações do XML
Declaration
void LerConfig(XmlDocument doc, string arqConfig, bool lerConfigPadrao)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlDocument | doc | Documento XML |
System.String | arqConfig | Nome do arquivo de configuração |
System.Boolean | lerConfigPadrao | Efetua a leitura do XML que contem as configurações padrões? |
LerConfigEspecifica(XmlDocument)
Ler configurações específicas para sobrepor algumas no caso de estar emitindo em contingência. Exemplo: Carrega a contingência SVCRS e tenho que sobrepor as URLs de QRCode com as do estado, para os que tem.
Declaration
void LerConfigEspecifica(XmlDocument doc)
Parameters
Type | Name | Description |
---|---|---|
System.Xml.XmlDocument | doc | Documento XML |
LerConfigPadrao()
Ler as informações do XML de configurações padrões
Declaration
void LerConfigPadrao()
LerXmlConfigEspecifico(String)
Efetua a leitura do XML que contem configurações específicas de cada web-service e atribui o conteúdo nas propriedades do objeto "Configuracoes"
Declaration
void LerXmlConfigEspecifico(string xmlConfigEspecifico)
Parameters
Type | Name | Description |
---|---|---|
System.String | xmlConfigEspecifico | Nome do XML de configuração específica embutido na DLL |
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 |
---|---|---|
System.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
Stream LoadXmlConfig(string arquivo)
Parameters
Type | Name | Description |
---|---|---|
System.String | arquivo | Nome do arquivo que é para ler o conteúdo |
Returns
Type | Description |
---|---|
System.IO.Stream | Stream do arquivo de configuração contido nos recursos da DLL |
SubstituirValorPropriedadeVariavel()
Substituir alguns valores de algumas propriedades que possuem variáveis
Declaration
void SubstituirValorPropriedadeVariavel()