bling_api 1.0.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bling_api/client.rb +268 -41
- data/lib/bling_api/installment.rb +25 -0
- data/lib/bling_api/item.rb +41 -0
- data/lib/bling_api/shipment.rb +52 -0
- data/lib/bling_api/version.rb +1 -1
- data/lib/bling_api.rb +7 -4
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c36554ff0861c3cd2467333b5085abf0c3a8ab06a720dd6e184e7aaf107843d
|
4
|
+
data.tar.gz: b1cf370a7297d9fd8cb6b93c33c959a299c6850c545e501f6622715e9fd4a003
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36d40b1644b4bc370673a66b90018a10593d8481787fa7458c301d72ef0609df5996c47b144561b3d21d4984017413d901d6199f441c8e21c2b5c973e27b8b54
|
7
|
+
data.tar.gz: 34171555cd7c7a60e54e4013b8b27195aebc932ef91441cb6f482129a805916015c551b743cd367e53cbbc9f42eabd3bb71348883f2350adb106b0a48578d97e
|
data/Gemfile.lock
CHANGED
data/lib/bling_api/client.rb
CHANGED
@@ -3,71 +3,298 @@ module BlingApi
|
|
3
3
|
BASE_URL = "https://www.bling.com.br/Api/v3"
|
4
4
|
SAVE_RESPONSES = true
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
@
|
9
|
-
|
6
|
+
def initialize(client_id:, client_secret:, refresh_token: nil, access_token: nil, token_expires_at: nil)
|
7
|
+
@client_id = client_id
|
8
|
+
@client_secret = client_secret
|
9
|
+
@refresh_token = refresh_token
|
10
|
+
@access_token = access_token
|
11
|
+
@token_expires_at = token_expires_at
|
12
|
+
end
|
13
|
+
|
14
|
+
def refresh_token
|
15
|
+
headers = {
|
16
|
+
"Content-Type" => "application/x-www-form-urlencoded",
|
17
|
+
"Authorization" => "Basic #{Base64.strict_encode64("#{@client_id}:#{@client_secret}")}"
|
10
18
|
}
|
11
|
-
|
19
|
+
body = "grant_type=refresh_token&refresh_token=#{@refresh_token}"
|
20
|
+
response = post("/oauth/token", body:, headers:, skip_authentication: true)
|
21
|
+
@access_token = response.access_token
|
22
|
+
@refresh_token = response.refresh_token
|
23
|
+
@token_expires_at = Time.now + response.expires_in
|
12
24
|
end
|
13
25
|
|
14
|
-
def
|
15
|
-
|
26
|
+
def authorize(code:)
|
27
|
+
headers = {
|
28
|
+
"Content-Type" => "application/x-www-form-urlencoded",
|
29
|
+
"Authorization" => "Basic #{Base64.strict_encode64("#{@client_id}:#{@client_secret}")}"
|
30
|
+
}
|
31
|
+
body = "grant_type=authorization_code&code=#{code}"
|
32
|
+
response = post("/oauth/token", body:, headers:, skip_authentication: true)
|
33
|
+
@access_token = response.access_token
|
34
|
+
@refresh_token = response.refresh_token
|
35
|
+
@token_expires_at = Time.now + response.expires_in
|
16
36
|
end
|
17
37
|
|
18
|
-
def
|
19
|
-
|
20
|
-
response.json["data"]
|
38
|
+
def get_refresh_token
|
39
|
+
@refresh_token
|
21
40
|
end
|
22
41
|
|
23
|
-
def
|
24
|
-
|
25
|
-
|
42
|
+
def update_contact(
|
43
|
+
id:,
|
44
|
+
nome: nil,
|
45
|
+
pessoa_juridica: nil,
|
46
|
+
numero_documento: nil,
|
47
|
+
situacao: nil,
|
48
|
+
codigo: nil,
|
49
|
+
rg: nil,
|
50
|
+
orgao_emissor: nil,
|
51
|
+
telefone: nil,
|
52
|
+
celular: nil,
|
53
|
+
email: nil,
|
54
|
+
endereco: nil,
|
55
|
+
endereco_cep: nil,
|
56
|
+
endereco_bairro: nil,
|
57
|
+
endereco_municipio: nil,
|
58
|
+
endereco_uf: nil,
|
59
|
+
endereco_numero: nil,
|
60
|
+
endereco_complemento: nil,
|
61
|
+
endereco_cob: nil,
|
62
|
+
endereco_cob_cep: nil,
|
63
|
+
endereco_cob_bairro: nil,
|
64
|
+
endereco_cob_municipio: nil,
|
65
|
+
endereco_cob_uf: nil,
|
66
|
+
endereco_cob_numero: nil,
|
67
|
+
endereco_cob_complemento: nil,
|
68
|
+
cod_contribuinte: nil,
|
69
|
+
ie: nil,
|
70
|
+
fantasia: nil,
|
71
|
+
limite_credito: nil,
|
72
|
+
condicao_pagamento: nil,
|
73
|
+
financeiro_categoria_id: nil,
|
74
|
+
pais: nil,
|
75
|
+
tipos_contato: nil,
|
76
|
+
pessoas_contato: nil,
|
77
|
+
id_vendedor: nil,
|
78
|
+
dados_adicionais: nil
|
79
|
+
)
|
80
|
+
contact = get_contact(id).data
|
81
|
+
body = {
|
82
|
+
nome: nome || contact.nome,
|
83
|
+
telefone: telefone ? telefone.gsub(/^\+55/, "") : contact.telefone,
|
84
|
+
celular: celular ? celular.gsub(/^\+55/, "") : contact.celular,
|
85
|
+
codigo: codigo || contact.codigo,
|
86
|
+
tipo: pessoa_juridica ? pessoa_juridica ? "J" : "F" : contact.tipo,
|
87
|
+
indicadorIe: cod_contribuinte || contact.indicadorIe,
|
88
|
+
ie: ie || contact.ie,
|
89
|
+
numeroDocumento: numero_documento || contact.numeroDocumento,
|
90
|
+
orgaoEmissor: orgao_emissor || contact.orgaoEmissor,
|
91
|
+
rg: rg || contact.rg,
|
92
|
+
fantasia: fantasia || contact.fantasia,
|
93
|
+
email: email || contact.email,
|
94
|
+
situacao: situacao || contact.situacao,
|
95
|
+
vendedor: {
|
96
|
+
id: id_vendedor || contact.vendedor.id,
|
97
|
+
},
|
98
|
+
dadosAdicionais: dados_adicionais || contact.dadosAdicionais,
|
99
|
+
pais: pais || contact.pais,
|
100
|
+
tiposContato: tipos_contato || contact.tiposContato,
|
101
|
+
pessoasContato: pessoas_contato || contact.pessoasContato,
|
102
|
+
financeiro: {
|
103
|
+
limite_credito: limite_credito || contact.financeiro.limiteCredito,
|
104
|
+
condicao_pagamento: condicao_pagamento || contact.financeiro.condicaoPagamento,
|
105
|
+
categoria: {
|
106
|
+
id: financeiro_categoria_id || contact.financeiro.categoria.id
|
107
|
+
}
|
108
|
+
},
|
109
|
+
endereco: {
|
110
|
+
geral: {
|
111
|
+
endereco: endereco || contact.endereco.geral.endereco,
|
112
|
+
cep: endereco_cep || contact.endereco.geral.cep,
|
113
|
+
bairro: endereco_bairro || contact.endereco.geral.bairro,
|
114
|
+
municipio: endereco_municipio || contact.endereco.geral.municipio,
|
115
|
+
uf: endereco_uf || contact.endereco.geral.uf,
|
116
|
+
numero: endereco_numero || contact.endereco.geral.numero,
|
117
|
+
complemento: endereco_complemento || contact.endereco.geral.complemento
|
118
|
+
},
|
119
|
+
cobranca: {
|
120
|
+
endereco: endereco_cob || contact.endereco.geral.endereco,
|
121
|
+
cep: endereco_cob_cep || contact.endereco.geral.cep,
|
122
|
+
bairro: endereco_cob_bairro || contact.endereco.geral.bairro,
|
123
|
+
municipio: endereco_cob_municipio || contact.endereco.geral.municipio,
|
124
|
+
uf: endereco_cob_uf || contact.endereco.geral.uf,
|
125
|
+
numero: endereco_cob_numero || contact.endereco.geral.numero,
|
126
|
+
complemento: endereco_cob_complemento || contact.endereco.geral.complemento
|
127
|
+
}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
put("/contatos/#{id}", body: body)
|
26
131
|
end
|
27
132
|
|
28
|
-
def
|
29
|
-
|
30
|
-
response.json["data"]
|
133
|
+
def get_order(id)
|
134
|
+
get("/pedidos/vendas/#{id}") { _1.data }
|
31
135
|
end
|
32
136
|
|
33
|
-
def
|
34
|
-
|
35
|
-
response.json["data"]
|
137
|
+
def get_contact(id)
|
138
|
+
get("/contatos/#{id}") { _1.data }
|
36
139
|
end
|
37
140
|
|
38
|
-
def
|
39
|
-
|
40
|
-
response.json["data"].first
|
141
|
+
def get_seller(id)
|
142
|
+
get("/vendedores/#{id}") { _1.data }
|
41
143
|
end
|
42
144
|
|
43
|
-
def
|
44
|
-
|
45
|
-
response.json["data"].first
|
145
|
+
def get_sellers(page, limit, situation)
|
146
|
+
get("/vendedores?pagina=#{page}&limite=#{limit}&situacaoContato=#{situation}") { _1.data }
|
46
147
|
end
|
47
148
|
|
48
|
-
def
|
49
|
-
|
50
|
-
response.json["data"]
|
149
|
+
def find_contact_by_document_number(document_number)
|
150
|
+
get("/contatos?numeroDocumento=#{document_number.gsub(/\D/, "")}") { _1.data }
|
51
151
|
end
|
52
152
|
|
53
|
-
def
|
54
|
-
|
55
|
-
response.json["data"]
|
153
|
+
def find_product_by_sku(sku)
|
154
|
+
get("/produtos?codigo=#{sku}") { _1.data }
|
56
155
|
end
|
57
156
|
|
58
|
-
def
|
59
|
-
|
60
|
-
|
61
|
-
|
157
|
+
def create_contact(
|
158
|
+
nome:,
|
159
|
+
pessoa_juridica:,
|
160
|
+
numero_documento:,
|
161
|
+
situacao:,
|
162
|
+
codigo: nil,
|
163
|
+
rg: nil,
|
164
|
+
orgao_emissor: nil,
|
165
|
+
id: nil,
|
166
|
+
telefone: nil,
|
167
|
+
celular: "",
|
168
|
+
email: "",
|
169
|
+
endereco: nil,
|
170
|
+
endereco_cep: nil,
|
171
|
+
endereco_bairro: nil,
|
172
|
+
endereco_municipio: nil,
|
173
|
+
endereco_uf: nil,
|
174
|
+
endereco_numero: nil,
|
175
|
+
endereco_complemento: nil,
|
176
|
+
endereco_cob: nil,
|
177
|
+
endereco_cob_cep: nil,
|
178
|
+
endereco_cob_bairro: nil,
|
179
|
+
endereco_cob_municipio: nil,
|
180
|
+
endereco_cob_uf: nil,
|
181
|
+
endereco_cob_numero: nil,
|
182
|
+
endereco_cob_complemento: nil,
|
183
|
+
cod_contribuinte: nil,
|
184
|
+
ie: nil,
|
185
|
+
fantasia: nil,
|
186
|
+
limite_credito: nil,
|
187
|
+
condicao_pagamento: nil,
|
188
|
+
financeiro_categoria_id: nil,
|
189
|
+
pais: nil,
|
190
|
+
tipos_contato: nil,
|
191
|
+
pessoas_contato: nil,
|
192
|
+
vendedor: nil,
|
193
|
+
dados_adicionais: nil
|
194
|
+
)
|
195
|
+
body = {
|
196
|
+
nome: nome,
|
197
|
+
tipo: pessoa_juridica ? "J" : "F",
|
198
|
+
numeroDocumento: numero_documento,
|
199
|
+
situacao: situacao,
|
200
|
+
codigo: codigo,
|
201
|
+
telefone: telefone.gsub(/^\+55/, ""),
|
202
|
+
celular: celular.gsub(/^\+55/, ""),
|
203
|
+
indicadorIe: cod_contribuinte,
|
204
|
+
ie: ie,
|
205
|
+
orgaoEmissor: orgao_emissor,
|
206
|
+
rg: rg,
|
207
|
+
fantasia: fantasia,
|
208
|
+
email: email,
|
209
|
+
vendedor: vendedor,
|
210
|
+
dadosAdicionais: dados_adicionais,
|
211
|
+
pais: pais,
|
212
|
+
tiposContato: tipos_contato,
|
213
|
+
pessoasContato: pessoas_contato,
|
214
|
+
financeiro: {
|
215
|
+
limite_credito: limite_credito,
|
216
|
+
condicao_pagamento: condicao_pagamento,
|
217
|
+
categoria: {
|
218
|
+
id: financeiro_categoria_id
|
219
|
+
}
|
220
|
+
},
|
221
|
+
endereco: {
|
222
|
+
geral: {
|
223
|
+
endereco: endereco,
|
224
|
+
cep: endereco_cep,
|
225
|
+
bairro: endereco_bairro,
|
226
|
+
municipio: endereco_municipio,
|
227
|
+
uf: endereco_uf,
|
228
|
+
numero: endereco_numero,
|
229
|
+
complemento: endereco_complemento
|
230
|
+
},
|
231
|
+
cobranca: {
|
232
|
+
endereco: endereco_cob,
|
233
|
+
cep: endereco_cob_cep,
|
234
|
+
bairro: endereco_cob_bairro,
|
235
|
+
municipio: endereco_cob_municipio,
|
236
|
+
uf: endereco_cob_uf,
|
237
|
+
numero: endereco_cob_numero,
|
238
|
+
complemento: endereco_cob_complemento
|
239
|
+
}
|
240
|
+
}
|
62
241
|
}
|
63
|
-
body
|
64
|
-
response = post("/oauth/token", body: body, headers: headers) { |response| validate_response(response, "refresh_token") }
|
65
|
-
response.json
|
242
|
+
post("/contatos", body: body) { _1.data }
|
66
243
|
end
|
67
244
|
|
68
|
-
|
69
|
-
|
70
|
-
|
245
|
+
# @param itens [Array<BlingApi::Item>] Array de objetos Item contendo codigo, id_produto, quantidade, valor, unidade, desconto, aliquota_ipi, descricao, descricao_detalhada, comissao_base, comissao_aliquota, comissao_valor
|
246
|
+
# @param parcelas [Array<BlingApi::Installment>] Array de objetos Installment contendo id_forma_pagamento, valor, data_vencimento, observacoes, id
|
247
|
+
# @param transporte [<BlingApi::Shipment>] Objeto Shipment contendo valor_frete, frete_por_conta, quantidade_volumes, nome_transportadora, nome_etiqueta, endereco, numero, complemento, municipio, uf, bairro, cep, pais, nome_servico, codigo_rastreio
|
248
|
+
# @param numero_venda É o número do pedido de venda no Bling
|
249
|
+
# @param numero_pedido É o número do pedido na loja virtual ou marketplace, exemplo: R123456
|
250
|
+
def create_order(
|
251
|
+
data:,
|
252
|
+
id_contato:,
|
253
|
+
itens:,
|
254
|
+
numero_venda: nil,
|
255
|
+
numero_pedido: nil,
|
256
|
+
id_loja: nil,
|
257
|
+
id_vendedor: nil,
|
258
|
+
pessoa_juridica: nil,
|
259
|
+
numero_documento: nil,
|
260
|
+
parcelas: [],
|
261
|
+
id_categoria_receita: nil,
|
262
|
+
observacoes: "",
|
263
|
+
observacoes_internas: "",
|
264
|
+
valor_desconto: 0,
|
265
|
+
numero_pedido_compra: nil,
|
266
|
+
transporte: nil
|
267
|
+
)
|
268
|
+
body = {
|
269
|
+
numero: numero_venda,
|
270
|
+
numeroLoja: numero_pedido,
|
271
|
+
data: data,
|
272
|
+
loja: {
|
273
|
+
id: id_loja
|
274
|
+
},
|
275
|
+
contato: {
|
276
|
+
id: id_contato,
|
277
|
+
tipoPessoa: pessoa_juridica ? "J" : "F",
|
278
|
+
numeroDocumento: numero_documento
|
279
|
+
},
|
280
|
+
itens: itens.map(&:to_api_hash),
|
281
|
+
vendedor: {
|
282
|
+
id: id_vendedor
|
283
|
+
},
|
284
|
+
categoria: {
|
285
|
+
id: id_categoria_receita
|
286
|
+
},
|
287
|
+
parcelas: parcelas.map(&:to_api_hash),
|
288
|
+
transporte: transporte&.to_api_hash,
|
289
|
+
desconto: {
|
290
|
+
valor: valor_desconto,
|
291
|
+
unidade: "REAL"
|
292
|
+
},
|
293
|
+
observacoes: observacoes,
|
294
|
+
observacoesInternas: observacoes_internas,
|
295
|
+
numeroPedidoCompra: numero_pedido_compra
|
296
|
+
}
|
297
|
+
post("/pedidos/vendas", body: body) { _1.data }
|
71
298
|
end
|
72
299
|
end
|
73
300
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module BlingApi
|
2
|
+
class Installment
|
3
|
+
|
4
|
+
attr_reader :id_forma_pagamento, :valor, :data_vencimento, :observacoes, :id
|
5
|
+
def initialize(id_forma_pagamento:, valor:, data_vencimento:, observacoes: "", id: nil)
|
6
|
+
@id_forma_pagamento = id_forma_pagamento
|
7
|
+
@valor = valor
|
8
|
+
@data_vencimento = data_vencimento
|
9
|
+
@observacoes = observacoes
|
10
|
+
@id = id
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_api_hash
|
14
|
+
{
|
15
|
+
id: id,
|
16
|
+
dataVencimento: data_vencimento,
|
17
|
+
valor: valor,
|
18
|
+
observacoes: observacoes,
|
19
|
+
formaPagamento: {
|
20
|
+
id: id_forma_pagamento
|
21
|
+
}
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module BlingApi
|
2
|
+
class Item
|
3
|
+
|
4
|
+
attr_reader :codigo, :id_produto, :quantidade, :valor, :unidade, :desconto, :aliquota_ipi, :descricao, :descricao_detalhada, :comissao_base, :comissao_aliquota, :comissao_valor
|
5
|
+
def initialize(id_produto:, codigo:, quantidade:, valor:, unidade: nil, desconto: nil, aliquota_ipi: nil, descricao: nil, descricao_detalhada: nil, comissao_base: nil, comissao_aliquota: nil, comissao_valor: nil)
|
6
|
+
@codigo = codigo
|
7
|
+
@id_produto = id_produto
|
8
|
+
@quantidade = quantidade
|
9
|
+
@valor = valor
|
10
|
+
@unidade = unidade
|
11
|
+
@desconto = desconto
|
12
|
+
@aliquota_ipi = aliquota_ipi
|
13
|
+
@descricao = descricao
|
14
|
+
@descricao_detalhada = descricao_detalhada
|
15
|
+
@comissao_base = comissao_base
|
16
|
+
@comissao_aliquota = comissao_aliquota
|
17
|
+
@comissao_valor = comissao_valor
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_api_hash
|
21
|
+
{
|
22
|
+
codigo: codigo,
|
23
|
+
unidade: unidade,
|
24
|
+
quantidade: quantidade,
|
25
|
+
desconto: desconto,
|
26
|
+
valor: valor,
|
27
|
+
aliquotaIPI: aliquota_ipi,
|
28
|
+
descricao: descricao,
|
29
|
+
descricao_detalhada: descricao_detalhada,
|
30
|
+
produto: {
|
31
|
+
id: id_produto
|
32
|
+
},
|
33
|
+
comissao: {
|
34
|
+
base: comissao_base,
|
35
|
+
aliquota: comissao_aliquota,
|
36
|
+
valor: comissao_valor
|
37
|
+
}
|
38
|
+
}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module BlingApi
|
2
|
+
class Shipment
|
3
|
+
attr_reader :valor_frete, :frete_por_conta, :quantidade_volumes, :peso_bruto_kg, :nome_transportadora, :nome_etiqueta, :endereco, :numero, :complemento, :municipio, :uf, :bairro, :cep, :pais, :nome_servico, :codigo_rastreio
|
4
|
+
def initialize(valor_frete:, nome_transportadora:, frete_por_conta: nil, quantidade_volumes: nil, peso_bruto_kg: nil, nome_etiqueta: nil, endereco: nil, numero: nil, complemento: nil, municipio: nil, uf: nil, bairro: nil, cep: nil, pais: nil, nome_servico: nil, codigo_rastreio: nil)
|
5
|
+
@valor_frete = valor_frete
|
6
|
+
@frete_por_conta = frete_por_conta
|
7
|
+
@quantidade_volumes = quantidade_volumes
|
8
|
+
@peso_bruto_kg = peso_bruto_kg
|
9
|
+
@nome_transportadora = nome_transportadora
|
10
|
+
@nome_etiqueta = nome_etiqueta
|
11
|
+
@endereco = endereco
|
12
|
+
@numero = numero
|
13
|
+
@complemento = complemento
|
14
|
+
@municipio = municipio
|
15
|
+
@uf = uf
|
16
|
+
@bairro = bairro
|
17
|
+
@cep = cep
|
18
|
+
@pais = pais
|
19
|
+
@nome_servico = nome_servico
|
20
|
+
@codigo_rastreio = codigo_rastreio
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_api_hash
|
24
|
+
{
|
25
|
+
fretePorConta: frete_por_conta,
|
26
|
+
frete: valor_frete,
|
27
|
+
quantidadeVolumes: quantidade_volumes,
|
28
|
+
pesoBruto: peso_bruto_kg,
|
29
|
+
contato: {
|
30
|
+
nome: nome_transportadora
|
31
|
+
},
|
32
|
+
etiqueta: {
|
33
|
+
nome: nome_etiqueta,
|
34
|
+
endereco: endereco,
|
35
|
+
numero: numero,
|
36
|
+
complemento: complemento,
|
37
|
+
municipio: municipio,
|
38
|
+
uf: uf,
|
39
|
+
bairro: bairro,
|
40
|
+
cep: cep,
|
41
|
+
nomePais: pais
|
42
|
+
},
|
43
|
+
volumes: [
|
44
|
+
{
|
45
|
+
servico: nome_servico,
|
46
|
+
codigoRastreamento: codigo_rastreio
|
47
|
+
}
|
48
|
+
]
|
49
|
+
}
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/lib/bling_api/version.rb
CHANGED
data/lib/bling_api.rb
CHANGED
@@ -5,10 +5,13 @@ require "base64"
|
|
5
5
|
require "active_support/core_ext/hash/indifferent_access"
|
6
6
|
require_relative "bling_api/version"
|
7
7
|
require_relative "bling_api/client"
|
8
|
-
require_relative "bling_api/customer"
|
9
|
-
require_relative "bling_api/order"
|
10
|
-
require_relative "bling_api/product"
|
11
|
-
require_relative "bling_api/seller"
|
8
|
+
# require_relative "bling_api/customer" # Deixamos de usar
|
9
|
+
# require_relative "bling_api/order" # Deixamos de usar
|
10
|
+
# require_relative "bling_api/product" # Deixamos de usar
|
11
|
+
# require_relative "bling_api/seller" # Deixamos de usar
|
12
|
+
require_relative "bling_api/item"
|
13
|
+
require_relative "bling_api/installment"
|
14
|
+
require_relative "bling_api/shipment"
|
12
15
|
|
13
16
|
module BlingApi
|
14
17
|
class Error < StandardError; end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bling_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- caio
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: ac
|
@@ -51,9 +51,12 @@ files:
|
|
51
51
|
- lib/bling_api.rb
|
52
52
|
- lib/bling_api/client.rb
|
53
53
|
- lib/bling_api/customer.rb
|
54
|
+
- lib/bling_api/installment.rb
|
55
|
+
- lib/bling_api/item.rb
|
54
56
|
- lib/bling_api/order.rb
|
55
57
|
- lib/bling_api/product.rb
|
56
58
|
- lib/bling_api/seller.rb
|
59
|
+
- lib/bling_api/shipment.rb
|
57
60
|
- lib/bling_api/version.rb
|
58
61
|
- lib/generators/bling_api/install/install_generator.rb
|
59
62
|
- lib/generators/bling_api/install/templates/initializer.rb
|
@@ -77,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
80
|
- !ruby/object:Gem::Version
|
78
81
|
version: '0'
|
79
82
|
requirements: []
|
80
|
-
rubygems_version: 3.6.
|
83
|
+
rubygems_version: 3.6.9
|
81
84
|
specification_version: 4
|
82
85
|
summary: ''
|
83
86
|
test_files: []
|