Skip to content

Biblioteca Rust para validação, assinatura e transmissão de XMLs para webservices SEFAZ.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

risoflora/fiscalidade

Repository files navigation

fiscalidade

Biblioteca Rust para validação, assinatura e transmissão de XMLs para webservices SEFAZ.

Exemplo

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);
}

Uso

Adicione isto em seu Cargo.toml:

[dependencies]
tokio = { version = "1", features = ["full"] }
fiscalidade = "0.7"

Wishlist

  • 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

Contribuições

Pull Requests e Issues são sempre bem-vindos! =)

Licença

fiscalidade é distribuída sob qualquer uma das seguintes licenças:

About

Biblioteca Rust para validação, assinatura e transmissão de XMLs para webservices SEFAZ.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published