├── ExemploJson ├── cancelarNotaFiscal.json ├── cartaCorrecao.json ├── consultarNotaFiscal.json ├── emitirNotaFiscal.json ├── emitirNotaFiscalAjuste.json ├── emitirNotaFiscalComplementar_Impostos.json ├── emitirNotaFiscalComplementar_PrecoQuantidade.json ├── emitirNotaFiscalDevolucao.json ├── emitirNotaFiscal_Armamentos.json ├── emitirNotaFiscal_Combustivel.json ├── emitirNotaFiscal_Medicamentos.json ├── emitirNotaFiscal_Rastreabilidade.json ├── emitirNotaFiscal_VeiculosNovos.json └── inutilizarNumeracao.json ├── README.md ├── cancelarNotaFiscal.py ├── cartaCorrecao.py ├── consultaNotaFiscal.py ├── consultarNotaFiscal.py ├── devolucaoNotaFiscal.py ├── emissaoNotaFiscal.py ├── emitirNotaFiscal.py ├── emitirNotaFiscalAjuste.py ├── emitirNotaFiscalComplementar_Imposto.py ├── emitirNotaFiscalComplementar_PrecoQuantidade.py ├── emitirNotaFiscalDevolucao.py ├── emitirNotaFiscal_Armamentos.py ├── emitirNotaFiscal_Combustivel.py ├── emitirNotaFiscal_Medicamentos.py ├── emitirNotaFiscal_Rastreabilidade.py ├── emitirNotaFiscal_VeiculosNovos.py ├── inutilizarNumeracao.py ├── statusSefaz.py └── validadeCertificadoA1.py /ExemploJson/cancelarNotaFiscal.json: -------------------------------------------------------------------------------- 1 | { 2 | "chave": "00000000000000000000000000000000000000000000", 3 | "motivo": "Cancelamento por motivos administrativos." 4 | } 5 | -------------------------------------------------------------------------------- /ExemploJson/cartaCorrecao.json: -------------------------------------------------------------------------------- 1 | { 2 | "chave": "00000000000000000000000000000000000000000000", 3 | "correcao": "O CFOP correto é 5.102 referente a revenda tributada no mesmo estado." 4 | } 5 | -------------------------------------------------------------------------------- /ExemploJson/consultarNotaFiscal.json: -------------------------------------------------------------------------------- 1 | { 2 | "chave": "00000000000000000000000000000000000000000000" 3 | } 4 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF1000" 35 | }, 36 | { 37 | "nome": "Nome do produto", 38 | "codigo": "nome-do-produto", 39 | "ncm": "6109.10.00", 40 | "cest": "28.038.00", 41 | "quantidade": "1", 42 | "unidade": "UN", 43 | "peso": "0.200", 44 | "origem": 0, 45 | "subtotal": "29.90", 46 | "total": "29.90", 47 | "impostos": { 48 | "icms": { 49 | "codigo_cfop": "6.102", 50 | "situacao_tributaria": "102" 51 | }, 52 | "ipi": { 53 | "situacao_tributaria": "99", 54 | "codigo_enquadramento": "999", 55 | "aliquota": "0.00" 56 | }, 57 | "pis": { 58 | "situacao_tributaria": "99", 59 | "aliquota": "0.00" 60 | }, 61 | "cofins": { 62 | "situacao_tributaria": "99", 63 | "aliquota": "0.00" 64 | } 65 | } 66 | } 67 | ], 68 | "pedido": { 69 | "pagamento": 0, 70 | "presenca": 2, 71 | "modalidade_frete": 0, 72 | "frete": "12.56", 73 | "desconto": "10.00", 74 | "total": "174.60", 75 | "forma_pagamento": 15 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscalAjuste.json: -------------------------------------------------------------------------------- 1 | { 2 | "operacao": 1, 3 | "natureza_operacao": "CREDITO ICMS ESTOQUE", 4 | "codigo_cfop": 2.949, 5 | "valor_icms": 1000, 6 | "ambiente": 2, 7 | "cliente": { 8 | "cpf": "000.000.000-00", 9 | "nome_completo": "Nome completo", 10 | "endereco": "Av. Brg. Faria Lima", 11 | "complemento": "Escritório", 12 | "numero": 1000, 13 | "bairro": "Itaim Bibi", 14 | "cidade": "São Paulo", 15 | "uf": "SP", 16 | "cep": "00000-000", 17 | "telefone": "(00) 0000-0000", 18 | "email": "nome@email.com" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscalComplementar_Impostos.json: -------------------------------------------------------------------------------- 1 | { 2 | "nfe_referenciada": "00000000000000000000000000000000000000000000", 3 | "operacao": 1, 4 | "natureza_operacao": "Natureza da operação", 5 | "ambiente": 2, 6 | "cliente": { 7 | "cpf": "000.000.000-00", 8 | "nome_completo": "Nome completo", 9 | "endereco": "Av. Brg. Faria Lima", 10 | "complemento": "Escritorio", 11 | "numero": 1000, 12 | "bairro": "Itaim Bibi", 13 | "cidade": "São Paulo", 14 | "uf": "SP", 15 | "cep": "00000-000", 16 | "telefone": "(00) 0000-0000", 17 | "email": "nome@email.com" 18 | }, 19 | "impostos": { 20 | "icms": { 21 | "codigo_cfop": "6.102", 22 | "situacao_tributaria": "900", 23 | "bc_icms": "100.00", 24 | "valor_icms": "18.00" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscalComplementar_PrecoQuantidade.json: -------------------------------------------------------------------------------- 1 | { 2 | "nfe_referenciada": "00000000000000000000000000000000000000000000", 3 | "operacao": 1, 4 | "natureza_operacao": "Natureza da operação", 5 | "ambiente": 2, 6 | "cliente": { 7 | "cpf": "000.000.000-00", 8 | "nome_completo": "Nome completo", 9 | "endereco": "Av. Brg. Faria Lima", 10 | "complemento": "Escritorio", 11 | "numero": 1000, 12 | "bairro": "Itaim Bibi", 13 | "cidade": "São Paulo", 14 | "uf": "SP", 15 | "cep": "00000-000", 16 | "telefone": "(00) 0000-0000", 17 | "email": "nome@email.com" 18 | }, 19 | "produtos": [{ 20 | "nome": "Nome do produto", 21 | "codigo": "nome-do-produto", 22 | "ncm": "6109.10.00", 23 | "cest": "28.038.00", 24 | "quantidade": 1, 25 | "unidade": "UN", 26 | "origem": 0, 27 | "subtotal": "29.90", 28 | "total": "29.90", 29 | "impostos": { 30 | "icms": { 31 | "codigo_cfop": "6.102", 32 | "situacao_tributaria": "102" 33 | } 34 | } 35 | }] 36 | } 37 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscalDevolucao.json: -------------------------------------------------------------------------------- 1 | { 2 | "chave": "00000000000000000000000000000000000000000000", 3 | "natureza_operacao": "Devolução de venda de produção do estabelecimento", 4 | "codigo_cfop": "1.202", 5 | "produtos": [ 2, 3 ], 6 | "quantidade": [ 5, 1 ], 7 | "ambiente": "2", 8 | "volume": "1" 9 | } 10 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal_Armamentos.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF2892", 35 | "armamentos": { 36 | "tipo": 0, 37 | "serie_arma": "000000", 38 | "serie_cano": "000000", 39 | "descricao": "..." 40 | } 41 | } 42 | ], 43 | "pedido": { 44 | "pagamento": 0, 45 | "presenca": 2, 46 | "modalidade_frete": 0, 47 | "frete": "12.56", 48 | "desconto": "10.00", 49 | "total": "174.60" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal_Combustivel.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF2892", 35 | "combustiveis": { 36 | "codigo_anp": "000001", 37 | "descricao_anp": "Descrição do produto conforme ANP", 38 | "uf_consumo": "SP" 39 | } 40 | } 41 | ], 42 | "pedido": { 43 | "pagamento": 0, 44 | "presenca": 2, 45 | "modalidade_frete": 0, 46 | "frete": "12.56", 47 | "desconto": "10.00", 48 | "total": "174.60" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal_Medicamentos.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF2892", 35 | "medicamento": { 36 | "codigo_anvisa": "1234567891234", 37 | "pmc": "10.00" 38 | }, 39 | "rastro": { 40 | "lote": "000001", 41 | "quantidade": "100", 42 | "data_fabricacao": "2018-01-01", 43 | "data_validade": "2020-01-01" 44 | } 45 | } 46 | ], 47 | "pedido": { 48 | "pagamento": 0, 49 | "presenca": 2, 50 | "modalidade_frete": 0, 51 | "frete": "12.56", 52 | "desconto": "10.00", 53 | "total": "174.60" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal_Rastreabilidade.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF2892", 35 | "rastro": { 36 | "lote": "000001", 37 | "quantidade": "100", 38 | "data_fabricacao": "2018-01-01", 39 | "data_validade": "2020-01-01" 40 | } 41 | } 42 | ], 43 | "pedido": { 44 | "pagamento": 0, 45 | "presenca": 2, 46 | "modalidade_frete": 0, 47 | "frete": "12.56", 48 | "desconto": "10.00", 49 | "total": "174.60" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /ExemploJson/emitirNotaFiscal_VeiculosNovos.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID": 1137, 3 | "url_notificacao": "http://meudominio.com/retorno.php", 4 | "operacao": 1, 5 | "natureza_operacao": "Venda de produção do estabelecimento", 6 | "modelo": 1, 7 | "finalidade": 1, 8 | "ambiente": 2, 9 | "cliente": { 10 | "cpf": "000.000.000-00", 11 | "nome_completo": "Nome do Cliente", 12 | "endereco": "Av. Brg. Faria Lima", 13 | "complemento": "Escritório", 14 | "numero": 1000, 15 | "bairro": "Itaim Bibi", 16 | "cidade": "São Paulo", 17 | "uf": "SP", 18 | "cep": "00000-000", 19 | "telefone": "(00) 0000-0000", 20 | "email": "nome@email.com" 21 | }, 22 | "produtos": [ 23 | { 24 | "nome": "Nome do produto", 25 | "codigo": "nome-do-produto", 26 | "ncm": "6109.10.00", 27 | "cest": "28.038.00", 28 | "quantidade": 3, 29 | "unidade": "UN", 30 | "peso": "0.800", 31 | "origem": 0, 32 | "subtotal": "44.90", 33 | "total": "134.70", 34 | "classe_imposto": "REF2892", 35 | "veiculos_novos": { 36 | "tipo_operacao": "1", 37 | "chassi": "00000000000000000", 38 | "cor": "A1", 39 | "cor_descricao": "Descrição da Cor", 40 | "cv": "100", 41 | "cilindrada": "1000", 42 | "peso_liquido": "2.5000", 43 | "peso_bruto": "2.5000", 44 | "serie": "00001", 45 | "tipo_combustivel": "16", 46 | "numero_motor": "00001", 47 | "cmt": "2.000", 48 | "dist": "150", 49 | "ano_modelo": "2019", 50 | "ano_fabricacao": "2018", 51 | "tipo_pintura": "Tipo de Pintura", 52 | "tipo_veiculo": "06", 53 | "especie_veiculo": "1", 54 | "vin": "N", 55 | "condicao_veiculo": "1", 56 | "marca_modelo": "00001", 57 | "cor_denatran": "04", 58 | "lotacao": "5", 59 | "restricao": "0" 60 | } 61 | } 62 | ], 63 | "pedido": { 64 | "pagamento": 0, 65 | "presenca": 2, 66 | "modalidade_frete": 0, 67 | "frete": "12.56", 68 | "desconto": "10.00", 69 | "total": "174.60" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /ExemploJson/inutilizarNumeracao.json: -------------------------------------------------------------------------------- 1 | { 2 | "sequencia": "101-109", 3 | "motivo": "Inutilização por problemas técnicos.", 4 | "ambiente": "2", 5 | "serie": "99", 6 | "modelo": "1" 7 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # NFe-Python 6 | 7 | Através do emissor de Nota Fiscal da Webmania®, você conta com a emissão e arquivamento das suas notas fiscais, cálculo automático de impostos, geração do Danfe para impressão e envio automático de e-mails para os clientes. Realize a integração com o seu sistema utilizando a nossa REST API. 8 | 9 | - Emissor de Nota Fiscal Webmania®: [Saiba mais](https://webmaniabr.com/nota-fiscal-eletronica/) 10 | - Documentação da REST API: [Visualizar](https://webmaniabr.com/docs/rest-api-nfe/) 11 | 12 | ## Requisitos 13 | 14 | - Contrate um dos planos de Nota Fiscal Eletrônica da Webmania®: [Assine agora mesmo](https://webmaniabr.com/nota-fiscal-eletronica/#plans-section). 15 | - Possuir a versão do Python 2.0 ou inferior. 16 | - Instalar a biblioteca [Requests](http://docs.python-requests.org/en/master/). 17 | - Realize a integração com o seu sistema. 18 | 19 | ## Exemplos 20 | 21 | Desenvolvimento baseado na biblioteca [Requests](http://docs.python-requests.org/en/master/). 22 | 23 | - **cancelarNotaFiscal**: Cancelar Nota Fiscal enviada ao SEFAZ. 24 | - **cartaCorrecao**: Corrigir uma Nota Fiscal junto ao SEFAZ. 25 | - **consultarNotaFiscal**: Consulta a Nota Fiscal enviada para o SEFAZ. 26 | - **emitirNotaFiscal_Armamentos**: Emissão da Nota Fiscal com detalhamento específico de Armamentos. 27 | - **emitirNotaFiscal_Combustivel**: Emissão da Nota Fiscal com detalhamento específico de Combustivel. 28 | - **emitirNotaFiscal_Medicamentos**: Emissão da Nota Fiscal com detalhamento específico de Medicamentos. 29 | - **emitirNotaFiscal_Rastreabilidade**: Emissão da Nota Fiscal com detalhamento específico de Rastreabilidade. 30 | - **emitirNotaFiscal_VeiculosNovos**: Emissão da Nota Fiscal com detalhamento específico de Veiculos Novos. 31 | - **emitirNotaFiscal**: Emissão da Nota Fiscal junto ao SEFAZ. 32 | - **emitirNotaFiscalAjuste**: Emite uma nota fiscal de ajuste. 33 | - **emitirNotaFiscalComplementar_Imposto**: Emite uma Nota Fiscal complementar. 34 | - **emitirNotaFiscalComplementar_PrecoQuantidade**: Emite uma Nota Fiscal complementar. 35 | - **emitirNotaFiscalDevolucao**: Emissão de Nota Fiscal de devolução junto ao SEFAZ. 36 | - **inutilizarNumeracao**: Inutilizar sequência de numeração junto ao SEFAZ. 37 | - **statusSefaz**: Verifica se o Sefaz está Online ou Offline. 38 | - **validadeCertificadoA1**: Verifica se o Certificado A1 é válido e quantos dias faltam para expirar. 39 | 40 | ## Suporte 41 | 42 | Qualquer dúvida entre em contato na nossa [Central de Ajuda](https://ajuda.webmaniabr.com) ou acesse o [Painel de Controle](https://webmaniabr.com/painel/) para conversar em tempo real no Chat ou Abrir um chamado. 43 | -------------------------------------------------------------------------------- /cancelarNotaFiscal.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Cancelar Nota Fiscal 4 | # 5 | # Atenção: Somente poderá ser cancelada uma NF-e cujo uso tenha sido previamente 6 | # autorizado pelo Fisco e desde que não tenha ainda ocorrido o fato gerador, ou seja, 7 | # ainda não tenha ocorrido a saída da mercadoria do estabelecimento. Atualmente o prazo 8 | # máximo para cancelamento de uma NF-e é de 24 horas (1 dia), contado a partir da autorização 9 | # de uso. Caso já tenha passado o prazo de 24 horas ou já tenha ocorrido a circulação da 10 | # mercadoria, emita uma NF-e de devolução para anular a NF-e anterior. 11 | 12 | # Biblioteca de comunicação http/https 13 | import requests 14 | # Biblioteca para manipulaçao de json 15 | import json 16 | 17 | # Busca o arquivo que contém o json para Cancelamento de Nota Fiscal 18 | with open('ExemploJson/cancelarNotaFiscal.json', 'r') as json_file: 19 | # Carrega o conteudo do arquivo e converte em array 20 | array = json.load(json_file) 21 | # Converte o array em json novamente 22 | json = json.dumps(array) 23 | 24 | # Define o Host para a comunicação com a API 25 | url = "https://webmaniabr.com/api/1/nfe/cancelar/" 26 | 27 | # Credenciais de acesso 28 | headers = { 29 | 'cache-control': "no-cache", 30 | 'content-type': "application/json", 31 | 'x-consumer-key': "SEU_CONSUMER_KEY", 32 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 33 | 'x-access-token': "SEU_ACCESS_TOKEN", 34 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 35 | } 36 | 37 | # Comunicando com a API 38 | response = requests.request("PUT", url, data=json, headers=headers) 39 | 40 | # Retorno da API 41 | print(response.text) 42 | -------------------------------------------------------------------------------- /cartaCorrecao.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Informações da Carta de Correção 4 | # 5 | # A Carta de Correção Eletrônica (CC-e) é um evento legal e tem por objetivo 6 | # corrigir algumas informações da NF-e que já foi emitida. 7 | 8 | # Biblioteca de comunicação http/https 9 | import requests 10 | # Biblioteca para manipulaçao de json 11 | import json 12 | 13 | # Busca o arquivo que contém o json para Carta de Correção 14 | with open('ExemploJson/cartaCorrecao.json', 'r') as json_file: 15 | # Carrega o conteudo do arquivo e converte em array 16 | array = json.load(json_file) 17 | # Converte o array em json novamente 18 | json = json.dumps(array) 19 | 20 | # Define o Host para a comunicação com a API 21 | url = "https://webmaniabr.com/api/1/nfe/cartacorrecao/" 22 | 23 | # Credenciais de acesso 24 | headers = { 25 | 'cache-control': "no-cache", 26 | 'content-type': "application/json", 27 | 'x-consumer-key': "SEU_CONSUMER_KEY", 28 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 29 | 'x-access-token': "SEU_ACCESS_TOKEN", 30 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 31 | } 32 | 33 | # Comunicando com a API 34 | response = requests.request("POST", url, data=json, headers=headers) 35 | 36 | # Retorno da API 37 | print(response.text) 38 | -------------------------------------------------------------------------------- /consultaNotaFiscal.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | url = "https://webmaniabr.com/api/1/nfe/consulta/" 4 | 5 | querystring = {"chave":"45150819652219000198550990000000011442380343","ambiente":"1"} 6 | 7 | headers = { 8 | 'cache-control': "no-cache", 9 | 'content-type': "application/json", 10 | 'x-consumer-key': "SEU_CONSUMER_KEY", 11 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 12 | 'x-access-token': "SEU_ACCESS_TOKEN", 13 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 14 | } 15 | 16 | response = requests.request("GET", url, headers=headers, params=querystring) 17 | 18 | print(response.text) 19 | -------------------------------------------------------------------------------- /consultarNotaFiscal.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Consulta de Nota fiscal 4 | # 5 | # Atenção: Somente é permitido consultar a chave da nota fiscal emitida pelo 6 | # emissor da WebmaniaBR, não sendo possível consultar nota fiscal de terceiro 7 | # ou emitida em outro sistema. 8 | 9 | # Biblioteca de comunicação http/https 10 | import requests 11 | # Biblioteca para manipulaçao de json 12 | import json 13 | 14 | # Busca o arquivo que contém o json para Consulta de Nota Fiscal 15 | with open('ExemploJson/consultarNotaFiscal.json', 'r') as json_file: 16 | # Carrega o conteudo do arquivo e converte em array, que pode ser passado diretamente como parametro no momento da requisição 17 | array = json.load(json_file) 18 | 19 | # Define o Host para a comunicação com a API 20 | url = "https://webmaniabr.com/api/1/nfe/consulta/" 21 | 22 | # Credenciais de acesso 23 | headers = { 24 | 'cache-control': "no-cache", 25 | 'content-type': "application/json", 26 | 'x-consumer-key': "SEU_CONSUMER_KEY", 27 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 28 | 'x-access-token': "SEU_ACCESS_TOKEN", 29 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 30 | } 31 | 32 | # Comunicando com a API 33 | response = requests.request("GET", url, headers=headers, params=array) 34 | 35 | # Retorno da API 36 | print(response.text) 37 | -------------------------------------------------------------------------------- /devolucaoNotaFiscal.py: -------------------------------------------------------------------------------- 1 | ''' 2 | JSON request: 3 | 4 | { 5 | "chave": "45150819652219000198550990000000011442380343", 6 | "natureza_operacao": "Devolução de venda de produção do estabelecimento", 7 | "codigo_cfop": "1.202", 8 | "produtos": [ 2, 3 ], 9 | "ambiente": "1" 10 | } 11 | ''' 12 | 13 | import requests 14 | 15 | url = "https://webmaniabr.com/api/1/nfe/devolucao/" 16 | 17 | payload = "{\"chave\":\"45150819652219000198550990000000011442380343\",\"natureza_operacao\":\"Devolução de venda de produção do estabelecimento\",\"codigo_cfop\":\"1.202\",\"produtos\": [ 2, 3 ],\"ambiente\":\"1\"}" 18 | headers = { 19 | 'cache-control': "no-cache", 20 | 'content-type': "application/json", 21 | 'x-consumer-key': "SEU_CONSUMER_KEY", 22 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 23 | 'x-access-token': "SEU_ACCESS_TOKEN", 24 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 25 | } 26 | 27 | response = requests.request("POST", url, data=payload, headers=headers) 28 | 29 | print(response.text) 30 | -------------------------------------------------------------------------------- /emissaoNotaFiscal.py: -------------------------------------------------------------------------------- 1 | ''' 2 | JSON request: 3 | 4 | { 5 | "ID": 1137, 6 | "url_notificacao": "https://webmaniabr.com/retorno.php", 7 | "operacao": 1, 8 | "natureza_operacao": "Venda de produção do estabelecimento", 9 | "modelo": 1, 10 | "finalidade": 1, 11 | "ambiente": 1, 12 | "cliente": { 13 | "cpf": "980.453.164-03", 14 | "nome_completo": "Miguel Pereira da Silva", 15 | "endereco": "Av. Anita Garibaldi", 16 | "complemento": "Sala 809 Royal", 17 | "numero": 850, 18 | "bairro": "Ahú", 19 | "cidade": "Curitiba", 20 | "uf": "PR", 21 | "cep": "80540-180", 22 | "telefone": "(41) 4063-9102", 23 | "email": "suporte@webmaniabr.com" 24 | }, 25 | "produtos": [ 26 | { 27 | "nome": "Camisetas Night Run", 28 | "sku": "camiseta-night-run", 29 | "ean": "0789602015376", 30 | "ncm": "6109.10.00", 31 | "cest": "28.038.00", 32 | "cnpj_produtor": "11.290.027/0001-82", 33 | "quantidade": 3, 34 | "unidade": "UN", 35 | "peso": "0.800", 36 | "origem": 0, 37 | "subtotal": "44.90", 38 | "total": "134.70", 39 | "classe_imposto": "REF1637" 40 | }, 41 | { 42 | "nome": "Camisetas 10 Milhas", 43 | "sku": "camisetas-10-milhas", 44 | "ean": "0789602015376", 45 | "ncm": "6109.10.00", 46 | "cest": "28.038.00", 47 | "cnpj_produtor": "11.290.027/0001-82", 48 | "quantidade": "1", 49 | "unidade": "UN", 50 | "peso": "0.200", 51 | "origem": 0, 52 | "subtotal": "29.90", 53 | "total": "29.90", 54 | "classe_imposto": "REF1637" 55 | } 56 | ], 57 | "pedido": { 58 | "pagamento": 0, 59 | "presenca": 2, 60 | "modalidade_frete": 0, 61 | "frete": "12.56", 62 | "desconto": "10.00", 63 | "total": "174.60" 64 | }, 65 | "transporte": { 66 | "cnpj": "11.290.027/0001-82", 67 | "razao_social": "Transportes LTDA", 68 | "ie": "123.456.789.123", 69 | "endereco": "Av. Anita Garibaldi", 70 | "uf": "PR", 71 | "cidade": "Curitiba", 72 | "cep": "80540-180" 73 | } 74 | } 75 | ''' 76 | 77 | import requests 78 | 79 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 80 | 81 | payload = "{\"ID\": 1137,\"url_notificacao\": \"https://webmaniabr.com/retorno.php\",\"operacao\": 1,\"natureza_operacao\": \"Venda de produção do estabelecimento\",\"modelo\": 1,\"finalidade\": 1,\"ambiente\": 1,\"cliente\": {\"cpf\": \"980.453.164-03\",\"nome_completo\": \"Miguel Pereira da Silva\",\"endereco\": \"Av. Anita Garibaldi\",\"complemento\": \"Sala 809 Royal\",\"numero\": 850,\"bairro\": \"Ahú\",\"cidade\": \"Curitiba\",\"uf\": \"PR\",\"cep\": \"80540-180\",\"telefone\": \"(41) 4063-9102\",\"email\": \"suporte@webmaniabr.com\"},\"produtos\": [{\"nome\": \"Camisetas Night Run\",\"sku\": \"camiseta-night-run\",\"ean\": \"0789602015376\",\"ncm\": \"6109.10.00\",\"cest\": \"28.038.00\",\"cnpj_produtor\": \"11.290.027/0001-82\",\"quantidade\": 3,\"unidade\": \"UN\",\"peso\": \"0.800\",\"origem\": 0,\"subtotal\": \"44.90\",\"total\": \"134.70\",\"classe_imposto\": \"REF1637\"},{\"nome\": \"Camisetas 10 Milhas\",\"sku\": \"camisetas-10-milhas\",\"ean\": \"0789602015376\",\"ncm\": \"6109.10.00\",\"cest\": \"28.038.00\",\"cnpj_produtor\": \"11.290.027/0001-82\",\"quantidade\": \"1\",\"unidade\": \"UN\",\"peso\": \"0.200\",\"origem\": 0,\"subtotal\": \"29.90\",\"total\": \"29.90\",\"classe_imposto\": \"REF1637\"}],\"pedido\": {\"pagamento\": 0,\"presenca\": 2,\"modalidade_frete\": 0,\"frete\": \"12.56\",\"desconto\": \"10.00\",\"total\": \"174.60\"},\"transporte\": {\"cnpj\": \"11.290.027/0001-82\",\"razao_social\": \"Transportes LTDA\",\"ie\": \"123.456.789.123\",\"endereco\": \"Av. Anita Garibaldi\",\"uf\": \"PR\",\"cidade\": \"Curitiba\",\"cep\": \"80540-180\"}}" 82 | headers = { 83 | 'cache-control': "no-cache", 84 | 'content-type': "application/json", 85 | 'x-consumer-key': "SEU_CONSUMER_KEY", 86 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 87 | 'x-access-token': "SEU_ACCESS_TOKEN", 88 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 89 | } 90 | 91 | response = requests.request("POST", url, data=payload, headers=headers) 92 | 93 | print(response.text) 94 | -------------------------------------------------------------------------------- /emitirNotaFiscal.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscalAjuste.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Informações da Nota Fiscal Eletrônica 4 | # Verificar emissaoNotaFiscal.py 5 | 6 | # A Nota Fiscal de Ajuste é destinada somente para fins específicos de escrituração 7 | # contábil para empresas de Lucro Normal ou Presumido, não representando saída ou entrada 8 | # de produtos. Utilizado para nota de crédito de ICMS como transferência, ressarcimento 9 | # ou restituição do ICMS. 10 | 11 | # Biblioteca de comunicação http/https 12 | import requests 13 | # Biblioteca para manipulaçao de json 14 | import json 15 | 16 | # Busca o arquivo que contém o json para Ajuste de Nota Fiscal 17 | with open('ExemploJson/emitirNotaFiscalAjuste.json', 'r') as json_file: 18 | # Carrega o conteudo do arquivo e converte em array 19 | array = json.load(json_file) 20 | # Converte o array em json novamente 21 | json = json.dumps(array) 22 | 23 | # Define o Host para a comunicação com a API 24 | url = "https://webmaniabr.com/api/1/nfe/ajuste/" 25 | 26 | # Credenciais de acesso 27 | headers = { 28 | 'cache-control': "no-cache", 29 | 'content-type': "application/json", 30 | 'x-consumer-key': "SEU_CONSUMER_KEY", 31 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 32 | 'x-access-token': "SEU_ACCESS_TOKEN", 33 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 34 | } 35 | 36 | # Comunicando com a API 37 | response = requests.request("PUT", url, data=json, headers=headers) 38 | 39 | # Retorno da API 40 | print(response.text) -------------------------------------------------------------------------------- /emitirNotaFiscalComplementar_Imposto.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Informações da Nota Fiscal Complementar 4 | # 5 | # A Nota Fiscal Complementar é destinada para acrescentar dados e valores 6 | # não informados no documento fiscal original. Utilizado para acréscimo no preço 7 | # e quantidade da mercadoria ou somar valores faltantes dos impostos ICMS, ICMS-ST e IPI. 8 | # 9 | # OBS: Deve ser complementado o Preço/Quantidade OU Impostos. 10 | # OB2: Caso deseje complementar as duas opções devem ser emitidas NF-e separadas. 11 | 12 | # Biblioteca de comunicação http/https 13 | import requests 14 | # Biblioteca para manipulaçao de json 15 | import json 16 | 17 | # Busca o arquivo que contém o json para Complementar Nota Fiscal 18 | with open('ExemploJson/complementarNotaFiscal_Imposto.json', 'r') as json_file: 19 | # Carrega o conteudo do arquivo e converte em array 20 | array = json.load(json_file) 21 | # Converte o array em json novamente 22 | json = json.dumps(array) 23 | 24 | # Define o Host para a comunicação com a API 25 | url = "https://webmaniabr.com/api/1/nfe/complementar/" 26 | 27 | # Credenciais de acesso 28 | headers = { 29 | 'cache-control': "no-cache", 30 | 'content-type': "application/json", 31 | 'x-consumer-key': "SEU_CONSUMER_KEY", 32 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 33 | 'x-access-token': "SEU_ACCESS_TOKEN", 34 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 35 | } 36 | 37 | # Comunicando com a API 38 | response = requests.request("PUT", url, data=json, headers=headers) 39 | 40 | # Retorno da API 41 | print(response.text) 42 | -------------------------------------------------------------------------------- /emitirNotaFiscalComplementar_PrecoQuantidade.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Informações da Nota Fiscal Complementar 4 | # 5 | # A Nota Fiscal Complementar é destinada para acrescentar dados e valores 6 | # não informados no documento fiscal original. Utilizado para acréscimo no preço 7 | # e quantidade da mercadoria ou somar valores faltantes dos impostos ICMS, ICMS-ST e IPI. 8 | # 9 | # OBS: Deve ser complementado o Preço/Quantidade OU Impostos. 10 | # OB2: Caso deseje complementar as duas opções devem ser emitidas NF-e separadas. 11 | 12 | # Biblioteca de comunicação http/https 13 | import requests 14 | # Biblioteca para manipulaçao de json 15 | import json 16 | 17 | # Busca o arquivo que contém o json para Complementar Nota Fiscal 18 | with open('ExemploJson/complementarNotaFiscal_PrecoQuantidade.json', 'r') as json_file: 19 | # Carrega o conteudo do arquivo e converte em array 20 | array = json.load(json_file) 21 | # Converte o array em json novamente 22 | json = json.dumps(array) 23 | 24 | # Define o Host para a comunicação com a API 25 | url = "https://webmaniabr.com/api/1/nfe/complementar/" 26 | 27 | # Credenciais de acesso 28 | headers = { 29 | 'cache-control': "no-cache", 30 | 'content-type': "application/json", 31 | 'x-consumer-key': "SEU_CONSUMER_KEY", 32 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 33 | 'x-access-token': "SEU_ACCESS_TOKEN", 34 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 35 | } 36 | 37 | # Comunicando com a API 38 | response = requests.request("PUT", url, data=json, headers=headers) 39 | 40 | # Retorno da API 41 | print(response.text) 42 | -------------------------------------------------------------------------------- /emitirNotaFiscalDevolucao.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import requests 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Devolução 9 | with open('ExemploJson/emitirNotaFiscalDevolucao.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/devolucao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscal_Armamentos.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal_Armamentos.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscal_Combustivel.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal_Combustivel.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscal_Medicamentos.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal_Medicamentos.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscal_Rastreabilidade.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal_VeiculosNovos.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /emitirNotaFiscal_VeiculosNovos.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import http.client 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Emissão de Nota Fiscal 9 | with open('ExemploJson/emitirNotaFiscal_Rastreabilidade.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/emissao/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("POST", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /inutilizarNumeracao.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import requests 5 | # Biblioteca para manipulaçao de json 6 | import json 7 | 8 | # Busca o arquivo que contém o json para Inutilizar a Nota Fiscal 9 | with open('ExemploJson/inutilizarNotaFiscal.json', 'r') as json_file: 10 | # Carrega o conteudo do arquivo e converte em array 11 | array = json.load(json_file) 12 | # Converte o array em json novamente 13 | json = json.dumps(array) 14 | 15 | # Define o Host para a comunicação com a API 16 | url = "https://webmaniabr.com/api/1/nfe/inutilizar/" 17 | 18 | # Credenciais de acesso 19 | headers = { 20 | 'cache-control': "no-cache", 21 | 'content-type': "application/json", 22 | 'x-consumer-key': "SEU_CONSUMER_KEY", 23 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 24 | 'x-access-token': "SEU_ACCESS_TOKEN", 25 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 26 | } 27 | 28 | # Comunicando com a API 29 | response = requests.request("PUT", url, data=json, headers=headers) 30 | 31 | # Retorno da API 32 | print(response.text) 33 | -------------------------------------------------------------------------------- /statusSefaz.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Status do Sefaz 4 | # 5 | # OBS: A utilização do endpoint deve ser realizada como demonstrativo do Status do 6 | # Sefaz em sua plataforma, sendo necessário trabalhar com cache de ao menos 10 minutos. 7 | # Não é necessário realizar a requisição antes da emissão de cada Nota Fiscal, 8 | # porque este procedimento é realizado de forma automática em todos os endpoints. 9 | 10 | # Biblioteca de comunicação http/https 11 | import requests 12 | 13 | # Define o Host para a comunicação com a API 14 | url = "https://webmaniabr.com/api/1/nfe/sefaz/" 15 | 16 | # Credenciais de acesso 17 | headers = { 18 | 'cache-control': "no-cache", 19 | 'content-type': "application/json", 20 | 'x-consumer-key': "SEU_CONSUMER_KEY", 21 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 22 | 'x-access-token': "SEU_ACCESS_TOKEN", 23 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 24 | } 25 | 26 | # Comunicando com a API 27 | response = requests.request("GET", url, headers=headers) 28 | 29 | # Retorno da API 30 | print(response.text) 31 | -------------------------------------------------------------------------------- /validadeCertificadoA1.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | # Biblioteca de comunicação http/https 4 | import requests 5 | 6 | # Define o Host para a comunicação com a API 7 | url = "https://webmaniabr.com/api/1/nfe/certificado/" 8 | 9 | # Credenciais de acesso 10 | headers = { 11 | 'cache-control': "no-cache", 12 | 'content-type': "application/json", 13 | 'x-consumer-key': "SEU_CONSUMER_KEY", 14 | 'x-consumer-secret': "SEU_CONSUMER_SECRET", 15 | 'x-access-token': "SEU_ACCESS_TOKEN", 16 | 'x-access-token-secret': "SEU_ACCESS_TOKEN_SECRET" 17 | } 18 | 19 | # Comunicando com a API 20 | response = requests.request("GET", url, headers=headers) 21 | 22 | # Retorno da API 23 | print(response.text) 24 | --------------------------------------------------------------------------------