Skip to main content

Crate opensefaz_rs

Crate opensefaz_rs 

Source
Expand description

OpenSefaz - SDK Rust para integração com SEFAZ

Esta biblioteca fornece uma interface segura e robusta para comunicação com os serviços da SEFAZ para emissão de NF-e, NFC-e, CT-e e outros documentos fiscais.

§Exemplo de uso

use opensefaz_rs::{Config, NfeClient, Certificado, Ambiente};
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Config::new(
        "99999999999999".to_string(), // CNPJ
        "99".to_string(),              // UF
        Ambiente::Homologacao,
    );
     
    let cert_mock = "-----BEGIN CERTIFICATE-----
MIICajCCAdOgAwIBAgIJAKL0UG+mRKSzMA0GCSqGSIb3DQEBCwUAMBExDzANBgNV
BAMMBnRlc3RjYTAeFw0yNDAxMDEwMDAwMDBaFw0yNTAxMDEwMDAwMDBaMBExDzAN
BgNVBAMMBnRlc3RjYTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3a
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC92g==
-----END PRIVATE KEY-----";
     
    let certificado = Certificado::from_pem_str(cert_mock, "senha")?;
    let client = NfeClient::new(config, certificado)?;
     
    // Consultar situação de uma NF-e
    let resultado = client.consultar_por_chave("42150899999999999999550010000000011234567890").await?;
     
    println!("Situação: {:?}", resultado.status);
    Ok(())
}

Re-exports§

pub use error::Error;
pub use error::Result;
pub use config::Config;
pub use config::Ambiente;
pub use certificate::Certificado;
pub use nfe::NfeClient;
pub use types::*;

Modules§

certificate
Gerenciamento de certificados digitais
config
Configuração do cliente OpenSefaz
error
Módulo de erros do OpenSefaz
nfe
Cliente para operações com NF-e
types
Tipos e estruturas de dados para documentos fiscais
utils
Utilitários para o OpenSefaz