├── 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 |
--------------------------------------------------------------------------------