Módulo satcfe.base
¶
-
class
satcfe.base.
DLLSAT
(caminho=None, convencao=1)¶ Configura a localização da DLL do equipamento SAT e mantém uma referência carregada para a ela, conforme a convenção de chamada.
-
caminho
¶ Caminho completo, incluindo o nome do arquivo, para a biblioteca SAT (DLL ou shared object).
Levanta ValueError: Se a biblioteca não existir no caminho indicado.
-
carregar
()¶ Carrega (ou recarrega) a biblioteca SAT.
Levanta ValueError: Se a convenção de chamada não for reconhecida.
-
convencao
¶ Convenção de chamada para a biblioteca SAT. Deverá ser um dos valores disponíveis na contante
CONVENCOES_CHAMADA
.Levanta ValueError: Se a convenção de chamada não for reconhecida.
-
ref
¶ Uma referência para a biblioteca SAT carregada.
-
-
class
satcfe.base.
FuncoesSAT
(dll=None, numerador_sessao=None)¶ Estabelece a interface básica para acesso às funções da biblioteca SAT.
A intenção é que esta classe seja a base para classes mais especializadas capazes de trabalhar as respostas, resultando em objetos mais úteis, já que os métodos desta classe invocam as funções da biblioteca SAT e retornam o resultado verbatim.
As funções implementadas estão descritas na ER SAT, item 6.1.
Item ER Função Método 6.1.1 AtivarSAT
ativar_sat()
6.1.2 ComunicarCertificadoICPBRASIL
comunicar_certificado_icpbrasil()
6.1.3 EnviarDadosVenda
enviar_dados_venda()
6.1.4 CancelarUltimaVenda
cancelar_ultima_venda()
6.1.5 ConsultarSAT
consultar_sat()
6.1.6 TesteFimAFim
teste_fim_a_fim()
6.1.7 ConsultarStatusOperacional
consultar_status_operacional()
6.1.8 ConsultarNumeroSessao
consultar_numero_sessao()
6.1.9 ConfigurarInterfaceDeRede
configurar_interface_de_rede()
6.1.10 AssociarAssinatura
associar_assinatura()
6.1.11 AtualizarSoftwareSAT
atualizar_software_sat()
6.1.12 ExtrairLogs
extrair_logs()
6.1.13 BloquearSAT
bloquear_sat()
6.1.14 DesbloquearSAT
desbloquear_sat()
6.1.15 TrocarCodigoDeAtivacao
trocar_codigo_de_ativacao()
-
associar_assinatura
(sequencia_cnpj, assinatura_ac)¶ Função
AssociarAssinatura
conforme ER SAT, item 6.1.10. Associação da assinatura do aplicativo comercial.Parâmetros: - sequencia_cnpj – Sequência string de 28 dígitos composta do CNPJ do desenvolvedor da AC e do CNPJ do estabelecimento comercial contribuinte, conforme ER SAT, item 2.3.1.
- assinatura_ac – Sequência string contendo a assinatura digital do
parâmetro
sequencia_cnpj
codificada em base64.
Retorna: Retorna verbatim a resposta da função SAT.
Tipo de retorno:
-
ativar_sat
(tipo_certificado, cnpj, codigo_uf)¶ Função
AtivarSAT
conforme ER SAT, item 6.1.1. Ativação do equipamento SAT. Dependendo do tipo do certificado, o procedimento de ativação é complementado enviando-se o certificado emitido pela ICP-Brasil (comunicar_certificado_icpbrasil()
).Parâmetros: - tipo_certificado (int) – Deverá ser um dos valores
satcomum.constantes.CERTIFICADO_ACSAT_SEFAZ
,satcomum.constantes.CERTIFICADO_ICPBRASIL
ousatcomum.constantes.CERTIFICADO_ICPBRASIL_RENOVACAO
, mas nenhuma validação será realizada antes que a função de ativação seja efetivamente invocada. - cnpj (str) – Número do CNPJ do estabelecimento contribuinte, contendo apenas os dígitos. Nenhuma validação do número do CNPJ será realizada antes que a função de ativação seja efetivamente invocada.
- codigo_uf (int) – Código da unidade federativa onde o equipamento
SAT será ativado (eg.
35
para o Estado de São Paulo). Nenhuma validação do código da UF será realizada antes que a função de ativação seja efetivamente invocada.
Retorna: Retorna verbatim a resposta da função SAT.
Tipo de retorno: - tipo_certificado (int) – Deverá ser um dos valores
-
atualizar_software_sat
()¶ Função
AtualizarSoftwareSAT
conforme ER SAT, item 6.1.11. Atualização do software do equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
bloquear_sat
()¶ Função
BloquearSAT
conforme ER SAT, item 6.1.13. Bloqueio operacional do equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
cancelar_ultima_venda
(chave_cfe, dados_cancelamento)¶ Função
CancelarUltimaVenda
conforme ER SAT, item 6.1.4. Envia o CF-e de cancelamento para o equipamento SAT, que o enviará para autorização e cancelamento do CF-e pela SEFAZ.Parâmetros: - chave_cfe – String contendo a chave do CF-e a ser cancelado,
prefixada com o literal
CFe
. - dados_cancelamento – Uma instância
de
CFeCancelamento
ou uma string contendo o XML do CF-e de cancelamento.
Retorna: Retorna verbatim a resposta da função SAT.
Tipo de retorno: - chave_cfe – String contendo a chave do CF-e a ser cancelado,
prefixada com o literal
-
comunicar_certificado_icpbrasil
(certificado)¶ Função
ComunicarCertificadoICPBRASIL
conforme ER SAT, item 6.1.2. Envio do certificado criado pela ICP-Brasil.Parâmetros: certificado (str) – Conteúdo do certificado digital criado pela autoridade certificadora ICP-Brasil. Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
configurar_interface_de_rede
(configuracao)¶ Função
ConfigurarInterfaceDeRede
conforme ER SAT, item 6.1.9. Configurção da interface de comunicação do equipamento SAT.Parâmetros: configuracao – Instância de ConfiguracaoRede
ou uma string contendo o XML com as configurações de rede.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
consultar_numero_sessao
(numero_sessao)¶ Função
ConsultarNumeroSessao
conforme ER SAT, item 6.1.8. Consulta o equipamento SAT por um número de sessão específico.Parâmetros: numero_sessao (int) – Número da sessão que se quer consultar. Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
consultar_sat
()¶ Função
ConsultarSAT
conforme ER SAT, item 6.1.5. Usada para testes de comunicação entre a AC e o equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
consultar_status_operacional
()¶ Função
ConsultarStatusOperacional
conforme ER SAT, item 6.1.7. Consulta do status operacional do equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
desbloquear_sat
()¶ Função
DesbloquearSAT
conforme ER SAT, item 6.1.14. Desbloqueio operacional do equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
enviar_dados_venda
(dados_venda)¶ Função
EnviarDadosVenda
conforme ER SAT, item 6.1.3. Envia o CF-e de venda para o equipamento SAT, que o enviará para autorização pela SEFAZ.Parâmetros: dados_venda – Uma instância de CFeVenda
ou uma string contendo o XML do CF-e de venda.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
extrair_logs
()¶ Função
ExtrairLogs
conforme ER SAT, item 6.1.12. Extração dos registros de log do equipamento SAT.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
gerar_numero_sessao
()¶ Gera o número de sessão para a próxima invocação de função SAT.
-
teste_fim_a_fim
(dados_venda)¶ Função
TesteFimAFim
conforme ER SAT, item 6.1.6. Teste de comunicação entre a AC, o equipamento SAT e a SEFAZ.Parâmetros: dados_venda – Uma instância de CFeVenda
ou uma string contendo o XML do CF-e de venda de teste.Retorna: Retorna verbatim a resposta da função SAT. Tipo de retorno: string
-
trocar_codigo_de_ativacao
(novo_codigo_ativacao, opcao=1, codigo_emergencia=None)¶ Função
TrocarCodigoDeAtivacao
conforme ER SAT, item 6.1.15. Troca do código de ativação do equipamento SAT.Parâmetros: - novo_codigo_ativacao (str) – O novo código de ativação escolhido pelo contribuinte.
- opcao (int) – Indica se deverá ser utilizado o código de ativação
atualmente configurado, que é um código de ativação regular,
definido pelo contribuinte, ou se deverá ser usado um código de
emergência. Deverá ser o valor de uma das constantes
satcomum.constantes.CODIGO_ATIVACAO_REGULAR
(padrão) ousatcomum.constantes.CODIGO_ATIVACAO_EMERGENCIA
. Nenhuma validação será realizada antes que a função seja efetivamente invocada. Entretanto, se opção de código de ativação indicada forCODIGO_ATIVACAO_EMERGENCIA
, então o argumento que informa ocodigo_emergencia
será checado e deverá avaliar como verdadeiro. - codigo_emergencia (str) – O código de ativação de emergência, que
é definido pelo fabricante do equipamento SAT. Este código deverá
ser usado quando o usuário perder o código de ativação regular, e
precisar definir um novo código de ativação. Note que, o argumento
opcao
deverá ser informado com o valorsatcomum.constantes.CODIGO_ATIVACAO_EMERGENCIA
para que este código de emergência seja considerado.
Retorna: Retorna verbatim a resposta da função SAT.
Tipo de retorno: Levanta ValueError: Se o novo código de ativação avaliar como falso (possuir uma string nula por exemplo) ou se o código de emergencia avaliar como falso quando a opção for pelo código de ativação de emergência.
Aviso
Os argumentos da função
TrocarCodigoDeAtivacao
requerem que o novo código de ativação seja especificado duas vezes (dois argumentos com o mesmo conteúdo, como confirmação). Este método irá simplesmente informar duas vezes o argumentonovo_codigo_ativacao
na função SAT, mantendo a confirmação do código de ativação fora do escopo desta API.
-
-
class
satcfe.base.
NumeroSessaoMemoria
(tamanho=100)¶ Implementa um numerador de sessão simples, baseado em memória, não persistente, que irá gerar um número de sessão (seis dígitos) diferente entre os
n
últimos números de sessão gerados. Conforme a ER SAT, um número de sessão não poderá ser igual aos últimos100
números.>>> numerador = NumeroSessaoMemoria(tamanho=5) >>> n1 = numerador() >>> 100000 <= n1 <= 999999 True >>> n1 in numerador True >>> n2 = numerador() >>> n3 = numerador() >>> n4 = numerador() >>> n5 = numerador() >>> len(set([n1, n2, n3, n4, n5])) 5 >>> n6 = numerador() >>> n1 in numerador False