Biblioteca Rust para validação, assinatura e transmissão de XMLs para webservices SEFAZ.
O exemplo abaixo mostra como obter o status do serviço de homologação para o Mato Grosso:
use fiscalidade::{Ambiente, Dfe, Modelo, Pkcs12Certificate, Uf, WebServices};
#[tokio::main]
async fn main() {
    let webservices = WebServices::from_embedded().unwrap();
    let pkcs12 = Pkcs12Certificate::from_file("resources/certificado.pfx", "minha-senha-secreta")
        .await
        .unwrap();
    let dfe = Dfe::new().set_webservices(webservices).set_pkcs12(pkcs12);
    let xml = dfe
        .status_servico(Modelo::Nfe, Uf::Mt, Ambiente::Homologacao)
        .await
        .unwrap();
    println!("XML retornado: {}", xml);
}Adicione isto em seu Cargo.toml:
[dependencies]
tokio = { version = "1", features = ["full"] }
fiscalidade = "0.7"- Status do serviço
 - Consulta de cadastro
 - Consulta de XML
 - Leitura de certificado P12
 - Conexão segura usando biblioteca TLS padrão do sistema
 - Configuração de timeout da conexão e da comunicação com o webservice
 - Embutir arquivo de webservices na biblioteca
 - Verificar se recursos (envelope, URLs etc.) estão atualizados
 - Chamadas async
 - Validação e assinatura de XML
 - Implementar "health check"
 - Adicionar exemplo de consulta de cadastro
 - Tentativas de comunicação com o webservice
 - Mais serviços como envio de lote, consulta de recibo, inutilização, distribuição de DFe, etc.
 - Compressão no envio de lote
 - Testes
 - Documentação
 - Mais exemplos
 - Proxy
 - GitHub Actions
 - DANFE
 
Pull Requests e Issues são sempre bem-vindos! =)
fiscalidade é distribuída sob qualquer uma das seguintes licenças: