11 releases (6 breaking)
0.8.0 | Oct 14, 2021 |
---|---|
0.7.1 | Oct 6, 2021 |
0.6.0 | Oct 5, 2021 |
0.5.2 | Oct 4, 2021 |
0.1.0 | Jan 25, 2020 |
38KB
1K
SLoC
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
- 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:
Dependencies
~7–20MB
~296K SLoC