enotas_nfe 0.0.17 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +141 -1
- data/lib/enotas_nfe.rb +4 -0
- data/lib/enotas_nfe/endpoints.rb +4 -0
- data/lib/enotas_nfe/model/caracteristica_prefeitura.rb +31 -0
- data/lib/enotas_nfe/model/configuracoes_nfse_homologacao.rb +1 -0
- data/lib/enotas_nfe/model/configuracoes_nfse_producao.rb +1 -0
- data/lib/enotas_nfe/model/empresa.rb +2 -0
- data/lib/enotas_nfe/model/endereco.rb +2 -0
- data/lib/enotas_nfe/model/help_tipo_autenticacao.rb +13 -0
- data/lib/enotas_nfe/model/produto.rb +1 -0
- data/lib/enotas_nfe/model/regimes_especial_tributacao.rb +10 -0
- data/lib/enotas_nfe/model/servico.rb +5 -5
- data/lib/enotas_nfe/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d707afc41c1f1e7ba03b71389c6cfbd5ebfdf6cf
|
4
|
+
data.tar.gz: 5660a4b3be11113fab6f3519b7d44e0699cabbe8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 124816e933fb8421c513d45512a6fc5e14fb369230c713e0a84bfd0f9e10b9b3132cb7c69c85a5261e62d6cc7b0f2219b7656867e080d223f48b1b102f72a5ca
|
7
|
+
data.tar.gz: b60ed5cefce480088f524edb144630a22e680fc3650bb829ade51a927b660f9a960a83eaba6284c1dcb5d566d4dfab86b0c1daa2880653ecb3f32af1f9c69fa1
|
data/README.md
CHANGED
@@ -31,6 +31,147 @@ Ou instale manualmente:
|
|
31
31
|
|
32
32
|
$ gem install enotas_nfe
|
33
33
|
|
34
|
+
## Cadastro de empresa (emissor)
|
35
|
+
|
36
|
+
* Instancie o cliente passando a sua API key:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
client = EnotasNfe::Client.new('sua-api-key-do-e-notas', 'nfse')
|
40
|
+
```
|
41
|
+
|
42
|
+
* Carregue uma instância de Empresa com os dados:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
empresa = EnotasNfe::Model::Empresa.new
|
46
|
+
empresa.id = 1 # Usado para quando se deseja atualizar o cadastro
|
47
|
+
empresa.cnpj = '000000000000000'
|
48
|
+
empresa.nomeFantasia = 'Nome Fantasia'
|
49
|
+
empresa.razaoSocial = 'Razão Social'
|
50
|
+
empresa.inscricaoMunicipal = '00000000'
|
51
|
+
empresa.inscricaoEstadual = '00000000'
|
52
|
+
empresa.telefoneComercial = '00000000'
|
53
|
+
empresa.email = 'email@mail.com'
|
54
|
+
empresa.enviarEmailCliente = false
|
55
|
+
empresa.regimeEspecialTributacao = '01'
|
56
|
+
empresa.aedf = '00000'
|
57
|
+
empresa.descricaoServico = '00'
|
58
|
+
empresa.codigoServicoMunicipal = '00'
|
59
|
+
empresa.cnae = '000000'
|
60
|
+
empresa.aliquotaIss = '0.00'
|
61
|
+
empresa.optanteSimplesNacional = true
|
62
|
+
empresa.incentivadorCultural = false
|
63
|
+
empresa.itemListaServicoLC116 = '0.00'
|
64
|
+
empresa.endereco = {
|
65
|
+
logradouro: 'Logradouro',
|
66
|
+
complemento: 'Complemento',
|
67
|
+
numero: '1000',
|
68
|
+
bairro: 'Centro',
|
69
|
+
cidade: 'Cidade',
|
70
|
+
codigoIbgeCidade: 666999,
|
71
|
+
uf: SC,
|
72
|
+
cep: 00000000
|
73
|
+
}
|
74
|
+
empresa.configuracoesNFSeProducao = {
|
75
|
+
serieNFe = 'NFe',
|
76
|
+
sequencialNFe = 1,
|
77
|
+
sequencialLoteNFe = 1,
|
78
|
+
|
79
|
+
# Esses dados variam de acordo com a prefeitura, verifique a necessidade no endpoint de cidades suportadas
|
80
|
+
usuarioAcessoProvedor = 'user',
|
81
|
+
senhaAcessoProvedor = 'pass',
|
82
|
+
tokenAcessoProvedor = 'super-token'
|
83
|
+
}
|
84
|
+
empresa.configuracoesNFSeHomologacao = {
|
85
|
+
serieNFe = 'NFe',
|
86
|
+
sequencialNFe = 1,
|
87
|
+
sequencialLoteNFe = 1,
|
88
|
+
|
89
|
+
# Esses dados variam de acordo com a prefeitura, verifique a necessidade no endpoint de cidades suportadas
|
90
|
+
usuarioAcessoProvedor = 'user',
|
91
|
+
senhaAcessoProvedor = 'pass',
|
92
|
+
tokenAcessoProvedor = 'super-token'
|
93
|
+
}
|
94
|
+
```
|
95
|
+
|
96
|
+
Como saber quais dados são obrigatórios em um prefeitura, ou se a prefeitura é suportada pelo Enotas?
|
97
|
+
|
98
|
+
```ruby
|
99
|
+
response = client.get_caracteristicas_prefeitura('codigo-ibge-cidade')
|
100
|
+
```
|
101
|
+
|
102
|
+
Caso a prefeitura não seja suportada, o response vai ter uma mensagem de erro, informando. Quando é suportada,
|
103
|
+
retorna dados relevantes sobre a prefeitura, que devem ser usados para auxiliar a formação do objeto empresa:
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
prefeitura = EnotasNfe::Model::CaracteristicaPrefeitura.new(response)
|
107
|
+
|
108
|
+
# 0: Nenhuma
|
109
|
+
# 1: Certificado
|
110
|
+
# 2: Usuário e Senha
|
111
|
+
# 3: Token
|
112
|
+
prefeitura.tipoAutenticacao
|
113
|
+
|
114
|
+
# 0: Não utiliza
|
115
|
+
# 1: Opcional
|
116
|
+
# 2: Obrigatória
|
117
|
+
prefeitura.assinaturaDigital
|
118
|
+
|
119
|
+
prefeitura.usaCNAE
|
120
|
+
prefeitura.usaItemListaServico
|
121
|
+
prefeitura.campoLoginProvedor
|
122
|
+
prefeitura.suportaCancelamento
|
123
|
+
prefeitura.usaAEDF
|
124
|
+
prefeitura.usaRegimeEspecialTributacao
|
125
|
+
prefeitura.usaCodigoServicoMunicipal
|
126
|
+
prefeitura.usaDescricaoServico
|
127
|
+
prefeitura.usaCNAE
|
128
|
+
prefeitura.usaItemListaServico
|
129
|
+
prefeitura.helpTipoAutenticacao
|
130
|
+
prefeitura.helpInscricaoMunicipal
|
131
|
+
prefeitura.helpRegimeEspecialTributacao
|
132
|
+
prefeitura.helpCodigoServicoMunicipal
|
133
|
+
prefeitura.helpDescricaoServico
|
134
|
+
prefeitura.helpCNAE
|
135
|
+
prefeitura.helpItemListaServico
|
136
|
+
prefeitura.suportaEmissaoNFeSemCliente
|
137
|
+
prefeitura.suportaEmissaoNFeClienteSemCpf
|
138
|
+
prefeitura.suportaEmissaoNFeClienteSemEndereco
|
139
|
+
prefeitura.suportaCancelamentoNFeSemCliente
|
140
|
+
prefeitura.suportaCancelamentoNFeClienteSemCpf
|
141
|
+
|
142
|
+
# Retorna uma lista com os regimes de tributação suportados pela prefeitura
|
143
|
+
prefeitura.regimesEspecialTributacao
|
144
|
+
```
|
145
|
+
|
146
|
+
* Salve:
|
147
|
+
|
148
|
+
```ruby
|
149
|
+
client.create_update_empresa(empresa)
|
150
|
+
```
|
151
|
+
|
152
|
+
No caso de sucesso dessa operação, será retornado o campo `empresaId`, que deve ser informado, quando deseja ser atualizado um cadastro, ou nos endpoints de Upload.
|
153
|
+
|
154
|
+
## Upload do certificado
|
155
|
+
|
156
|
+
```ruby
|
157
|
+
certificate = {
|
158
|
+
arquivo: 'arquivo-de-upload',
|
159
|
+
senha: 'pass'
|
160
|
+
}
|
161
|
+
|
162
|
+
client.set_certificado_digital('empresaId', certificate)
|
163
|
+
```
|
164
|
+
|
165
|
+
## Upload da logo
|
166
|
+
|
167
|
+
```ruby
|
168
|
+
logo = {
|
169
|
+
arquivo: 'arquivo-de-upload'
|
170
|
+
}
|
171
|
+
|
172
|
+
client.set_logo('empresaId', logo)
|
173
|
+
```
|
174
|
+
|
34
175
|
## Uso básico para NFSE
|
35
176
|
|
36
177
|
* Instancie o cliente passando sua API key:
|
@@ -418,7 +559,6 @@ Issues e comentários são sempre bem-vindos no repoistório oficial: https://gi
|
|
418
559
|
Quer contribuir e não sabe por onde começar? Veja nosso ROADMAP:
|
419
560
|
|
420
561
|
* Escrever testes;
|
421
|
-
* Finalizar chamada para troca de logotipo da empresa
|
422
562
|
|
423
563
|
## License
|
424
564
|
|
data/lib/enotas_nfe.rb
CHANGED
@@ -18,7 +18,11 @@ require "enotas_nfe/model/configuracoes_nfse_homologacao"
|
|
18
18
|
require "enotas_nfe/model/configuracoes_nfse_producao"
|
19
19
|
require "enotas_nfe/model/csc"
|
20
20
|
require "enotas_nfe/model/emissao_nfe_consumidor"
|
21
|
+
require "enotas_nfe/model/certificado_digital"
|
21
22
|
require "enotas_nfe/model/empresa"
|
23
|
+
require "enotas_nfe/model/help_tipo_autenticacao"
|
24
|
+
require "enotas_nfe/model/regimes_especial_tributacao"
|
25
|
+
require "enotas_nfe/model/caracteristica_prefeitura"
|
22
26
|
require "enotas_nfe/model/pagamento"
|
23
27
|
require "enotas_nfe/model/credenciadora_cartao"
|
24
28
|
require "enotas_nfe/model/forma_pagamento"
|
data/lib/enotas_nfe/endpoints.rb
CHANGED
@@ -23,6 +23,10 @@ module EnotasNfe
|
|
23
23
|
multipart_post("empresas/#{firm_id}/certificadoDigital", body)
|
24
24
|
end
|
25
25
|
|
26
|
+
def get_caracteristicas_prefeitura(codigo_ibge_cidade)
|
27
|
+
get("estados/cidades/#{codigo_ibge_cidade}/provedor")
|
28
|
+
end
|
29
|
+
|
26
30
|
## rota para carta de correcao
|
27
31
|
def cc_create(firm_id, body)
|
28
32
|
post("empresas/#{firm_id}/nf-e/cartaCorrecao", body)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module EnotasNfe
|
2
|
+
module Model
|
3
|
+
class CaracteristicaPrefeitura
|
4
|
+
include Virtus.model
|
5
|
+
|
6
|
+
attribute :tipoAutenticacao, Integer
|
7
|
+
attribute :assinaturaDigital, Integer
|
8
|
+
attribute :helpTipoAutenticacao, HelpTipoAutenticacao
|
9
|
+
attribute :campoLoginProvedor, Integer
|
10
|
+
attribute :suportaCancelamento, Boolean
|
11
|
+
attribute :usaAEDF, Boolean
|
12
|
+
attribute :usaRegimeEspecialTributacao, Boolean
|
13
|
+
attribute :usaCodigoServicoMunicipal, Boolean
|
14
|
+
attribute :usaDescricaoServico, Boolean
|
15
|
+
attribute :usaCNAE, Boolean
|
16
|
+
attribute :usaItemListaServico, Boolean
|
17
|
+
attribute :helpInscricaoMunicipal, String
|
18
|
+
attribute :helpRegimeEspecialTributacao, String
|
19
|
+
attribute :helpCodigoServicoMunicipal, String
|
20
|
+
attribute :helpDescricaoServico, String
|
21
|
+
attribute :helpCNAE, String
|
22
|
+
attribute :helpItemListaServico, String
|
23
|
+
attribute :suportaEmissaoNFeSemCliente, Boolean
|
24
|
+
attribute :suportaEmissaoNFeClienteSemCpf, Boolean
|
25
|
+
attribute :suportaEmissaoNFeClienteSemEndereco, Boolean
|
26
|
+
attribute :suportaCancelamentoNFeSemCliente, Boolean
|
27
|
+
attribute :suportaCancelamentoNFeClienteSemCpf, Boolean
|
28
|
+
attribute :regimesEspecialTributacao, Array
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -24,6 +24,8 @@ module EnotasNfe
|
|
24
24
|
attribute :endereco, Endereco
|
25
25
|
attribute :inscricaoMunicipal, String
|
26
26
|
attribute :inscricaoEstadual, String
|
27
|
+
attribute :prazo, Integer
|
28
|
+
attribute :status, String
|
27
29
|
attribute :regimeEspecialTributacao, String
|
28
30
|
attribute :descricaoServico, String
|
29
31
|
attribute :codigoServicoMunicipal, String
|
@@ -6,7 +6,9 @@ module EnotasNfe
|
|
6
6
|
|
7
7
|
attribute :pais, String
|
8
8
|
attribute :uf, String
|
9
|
+
attribute :codigoIbgeUf, Integer
|
9
10
|
attribute :cidade, String
|
11
|
+
attribute :codigoIbgeCidade, Integer
|
10
12
|
attribute :logradouro, String
|
11
13
|
attribute :numero, String
|
12
14
|
attribute :complemento, String
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module EnotasNfe
|
2
|
+
module Model
|
3
|
+
class HelpTipoAutenticacao
|
4
|
+
include Virtus.model
|
5
|
+
|
6
|
+
attribute :certificadoDigital, String
|
7
|
+
attribute :usuario, String
|
8
|
+
attribute :senha, String
|
9
|
+
attribute :token, String
|
10
|
+
attribute :fraseSecreta, String
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -13,11 +13,11 @@ module EnotasNfe
|
|
13
13
|
attribute :itemListaServicoLC116, String
|
14
14
|
attribute :ufPrestacaoServico, String
|
15
15
|
attribute :municipioPrestacaoServico, String
|
16
|
-
attribute :valorCofins,
|
17
|
-
attribute :valorInss,
|
18
|
-
attribute :valorIr,
|
19
|
-
attribute :valorPis,
|
20
|
-
attribute :valorCsll,
|
16
|
+
attribute :valorCofins, Float
|
17
|
+
attribute :valorInss, Float
|
18
|
+
attribute :valorIr, Float
|
19
|
+
attribute :valorPis, Float
|
20
|
+
attribute :valorCsll, Float
|
21
21
|
|
22
22
|
end
|
23
23
|
end
|
data/lib/enotas_nfe/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enotas_nfe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis Fernando Pimenta
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -132,6 +132,7 @@ files:
|
|
132
132
|
- lib/enotas_nfe/middleware.rb
|
133
133
|
- lib/enotas_nfe/model/ambiente_homologacao.rb
|
134
134
|
- lib/enotas_nfe/model/ambiente_producao.rb
|
135
|
+
- lib/enotas_nfe/model/caracteristica_prefeitura.rb
|
135
136
|
- lib/enotas_nfe/model/carta_correcao.rb
|
136
137
|
- lib/enotas_nfe/model/certificado_digital.rb
|
137
138
|
- lib/enotas_nfe/model/cliente.rb
|
@@ -146,6 +147,7 @@ files:
|
|
146
147
|
- lib/enotas_nfe/model/endereco_entrega.rb
|
147
148
|
- lib/enotas_nfe/model/forma_pagamento.rb
|
148
149
|
- lib/enotas_nfe/model/frete.rb
|
150
|
+
- lib/enotas_nfe/model/help_tipo_autenticacao.rb
|
149
151
|
- lib/enotas_nfe/model/icms.rb
|
150
152
|
- lib/enotas_nfe/model/impostos.rb
|
151
153
|
- lib/enotas_nfe/model/issqn.rb
|
@@ -155,6 +157,7 @@ files:
|
|
155
157
|
- lib/enotas_nfe/model/pedido.rb
|
156
158
|
- lib/enotas_nfe/model/pis.rb
|
157
159
|
- lib/enotas_nfe/model/produto.rb
|
160
|
+
- lib/enotas_nfe/model/regimes_especial_tributacao.rb
|
158
161
|
- lib/enotas_nfe/model/servico.rb
|
159
162
|
- lib/enotas_nfe/model/transportadora.rb
|
160
163
|
- lib/enotas_nfe/model/transporte.rb
|