bling_api 2.3.3 → 2.3.4
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 +143 -37
- data/lib/bling_api/item.rb +6 -2
- data/lib/bling_api/version.rb +1 -1
- metadata +3 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a93bc9467d90b29fe0c08fc0d1994e0ba62db49b8e027171ef9493b1ef6e162
|
|
4
|
+
data.tar.gz: e3e527f95a77a1cad4b068011c1774c9440911594b3699b7a62fcaabfd98c654
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 69f155c94584c7cc31096d0ec56af921e78dc54dde629f347e7340d282fde1bf7cab7a914e86b35a04ed5d9da36250d4b789f512fdba60e54dc995c5f532e960
|
|
7
|
+
data.tar.gz: fee6ed2191582d3e9477167bf33ea46a02af05cf5254a93f5ec4442e7f6e8a19755ffe4e404e62dc748d156cdc95e9a4558c2dcba01e56f169fc47b00db61c52
|
data/Gemfile.lock
CHANGED
data/lib/bling_api/client.rb
CHANGED
|
@@ -142,6 +142,17 @@ module BlingApi
|
|
|
142
142
|
get("/pedidos/vendas/#{id}", timeout: 30) { _1.data }
|
|
143
143
|
end
|
|
144
144
|
|
|
145
|
+
# @param id [String] ID do pedido a ser atualizado
|
|
146
|
+
# @param args [Hash] Argumentos do pedido
|
|
147
|
+
def update_order(id, **args)
|
|
148
|
+
put("/pedidos/vendas/#{id}", body: build_order_body(**args), timeout: 30)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# @param numero_loja [String] Número do pedido na loja virtual ou marketplace
|
|
152
|
+
def find_orders_by_store_number(numero_loja)
|
|
153
|
+
get("/pedidos/vendas?#{build_query({}, { numerosLojas: [numero_loja] })}", timeout: 30) { _1.data }
|
|
154
|
+
end
|
|
155
|
+
|
|
145
156
|
def get_contact(id)
|
|
146
157
|
get("/contatos/#{id}", timeout: 30) { _1.data }
|
|
147
158
|
end
|
|
@@ -293,56 +304,101 @@ module BlingApi
|
|
|
293
304
|
# @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
|
|
294
305
|
# @param numero_venda É o número do pedido de venda no Bling
|
|
295
306
|
# @param numero_pedido É o número do pedido na loja virtual ou marketplace, exemplo: R123456
|
|
296
|
-
def create_order(
|
|
297
|
-
data
|
|
298
|
-
|
|
307
|
+
def create_order(**args)
|
|
308
|
+
post("/pedidos/vendas", body: build_order_body(**args), timeout: 30) { _1.data }
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
# @param id [String] ID do pedido a ser atualizado
|
|
312
|
+
# @param id_situacao [String] ID da situação do pedido
|
|
313
|
+
def update_order_situation(id, id_situacao)
|
|
314
|
+
patch("/pedidos/vendas/#{id}/situacoes/#{id_situacao}", timeout: 30)
|
|
315
|
+
end
|
|
316
|
+
|
|
317
|
+
def create_nfce_from_order(order_id)
|
|
318
|
+
post("/pedidos/vendas/#{order_id}/gerar-nfce", timeout: 30) { _1.data }
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
def get_nfce(id)
|
|
322
|
+
get("/nfce/#{id}", timeout: 30) { _1.data }
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
def create_nfce(
|
|
326
|
+
data_operacao:,
|
|
327
|
+
contato_numero_documento:,
|
|
299
328
|
itens:,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
329
|
+
contato_nome: nil,
|
|
330
|
+
contato_ie: nil,
|
|
331
|
+
contato_rg: nil,
|
|
332
|
+
contato_contribuinte: nil,
|
|
333
|
+
contato_telefone: nil,
|
|
334
|
+
contato_email: nil,
|
|
335
|
+
contato_endereco: nil,
|
|
336
|
+
contato_numero: nil,
|
|
337
|
+
contato_complemento: nil,
|
|
338
|
+
contato_bairro: nil,
|
|
339
|
+
contato_cep: nil,
|
|
340
|
+
contato_municipio: nil,
|
|
341
|
+
contato_uf: nil,
|
|
342
|
+
contato_pais: nil,
|
|
305
343
|
pessoa_juridica: nil,
|
|
306
|
-
|
|
344
|
+
tipo: nil,
|
|
345
|
+
id_natureza_operacao: nil,
|
|
346
|
+
id_loja: nil,
|
|
347
|
+
numero_loja: nil,
|
|
348
|
+
finalidade: nil,
|
|
349
|
+
seguro: nil,
|
|
350
|
+
despesas: nil,
|
|
351
|
+
desconto: nil,
|
|
352
|
+
observacoes: nil,
|
|
307
353
|
parcelas: [],
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
valor_desconto: 0,
|
|
312
|
-
numero_pedido_compra: nil,
|
|
313
|
-
transporte: nil
|
|
354
|
+
transporte: nil,
|
|
355
|
+
intermediador_cnpj: nil,
|
|
356
|
+
intermediador_nome_usuario: nil
|
|
314
357
|
)
|
|
315
|
-
loja = { id: id_loja }
|
|
316
|
-
loja[:unidadeNegocio] = { id: id_unidade_negocio } if id_unidade_negocio
|
|
317
|
-
|
|
318
358
|
body = {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
data: data,
|
|
322
|
-
loja: loja,
|
|
359
|
+
dataOperacao: data_operacao,
|
|
360
|
+
itens: itens.map(&:to_api_hash),
|
|
323
361
|
contato: {
|
|
324
|
-
|
|
362
|
+
nome: contato_nome,
|
|
363
|
+
numeroDocumento: contato_numero_documento,
|
|
325
364
|
tipoPessoa: pessoa_juridica ? "J" : "F",
|
|
326
|
-
|
|
365
|
+
ie: contato_ie,
|
|
366
|
+
rg: contato_rg,
|
|
367
|
+
contribuinte: contato_contribuinte,
|
|
368
|
+
telefone: contato_telefone,
|
|
369
|
+
email: contato_email,
|
|
370
|
+
endereco: {
|
|
371
|
+
endereco: contato_endereco,
|
|
372
|
+
numero: contato_numero,
|
|
373
|
+
complemento: contato_complemento,
|
|
374
|
+
bairro: contato_bairro,
|
|
375
|
+
cep: contato_cep,
|
|
376
|
+
municipio: contato_municipio,
|
|
377
|
+
uf: contato_uf,
|
|
378
|
+
pais: contato_pais
|
|
379
|
+
}
|
|
327
380
|
},
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
id:
|
|
381
|
+
tipo: tipo,
|
|
382
|
+
naturezaOperacao: {
|
|
383
|
+
id: id_natureza_operacao
|
|
331
384
|
},
|
|
332
|
-
|
|
333
|
-
id:
|
|
385
|
+
loja: {
|
|
386
|
+
id: id_loja,
|
|
387
|
+
numero: numero_loja
|
|
334
388
|
},
|
|
389
|
+
finalidade: finalidade,
|
|
390
|
+
seguro: seguro,
|
|
391
|
+
despesas: despesas,
|
|
392
|
+
desconto: desconto,
|
|
393
|
+
observacoes: observacoes,
|
|
335
394
|
parcelas: parcelas.map(&:to_api_hash),
|
|
336
395
|
transporte: transporte&.to_api_hash,
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
observacoes: observacoes,
|
|
342
|
-
observacoesInternas: observacoes_internas,
|
|
343
|
-
numeroPedidoCompra: numero_pedido_compra
|
|
396
|
+
intermediador: {
|
|
397
|
+
cnpj: intermediador_cnpj,
|
|
398
|
+
nomeUsuario: intermediador_nome_usuario
|
|
399
|
+
}
|
|
344
400
|
}
|
|
345
|
-
post("/
|
|
401
|
+
post("/nfce", body: body, timeout: 30)
|
|
346
402
|
end
|
|
347
403
|
|
|
348
404
|
def create_nfe_from_order(order_id)
|
|
@@ -480,6 +536,56 @@ module BlingApi
|
|
|
480
536
|
|
|
481
537
|
private
|
|
482
538
|
|
|
539
|
+
def build_order_body(
|
|
540
|
+
data:,
|
|
541
|
+
id_contato:,
|
|
542
|
+
itens:,
|
|
543
|
+
numero_venda: nil,
|
|
544
|
+
numero_pedido: nil,
|
|
545
|
+
id_loja: nil,
|
|
546
|
+
id_unidade_negocio: nil,
|
|
547
|
+
id_vendedor: nil,
|
|
548
|
+
pessoa_juridica: nil,
|
|
549
|
+
numero_documento: nil,
|
|
550
|
+
parcelas: [],
|
|
551
|
+
id_categoria_receita: nil,
|
|
552
|
+
observacoes: "",
|
|
553
|
+
observacoes_internas: "",
|
|
554
|
+
valor_desconto: 0,
|
|
555
|
+
numero_pedido_compra: nil,
|
|
556
|
+
transporte: nil
|
|
557
|
+
)
|
|
558
|
+
loja = { id: id_loja }
|
|
559
|
+
loja[:unidadeNegocio] = { id: id_unidade_negocio } if id_unidade_negocio
|
|
560
|
+
{
|
|
561
|
+
numero: numero_venda,
|
|
562
|
+
numeroLoja: numero_pedido,
|
|
563
|
+
data: data,
|
|
564
|
+
loja: loja,
|
|
565
|
+
contato: {
|
|
566
|
+
id: id_contato,
|
|
567
|
+
tipoPessoa: pessoa_juridica ? "J" : "F",
|
|
568
|
+
numeroDocumento: numero_documento
|
|
569
|
+
},
|
|
570
|
+
itens: itens.map(&:to_api_hash),
|
|
571
|
+
vendedor: {
|
|
572
|
+
id: id_vendedor
|
|
573
|
+
},
|
|
574
|
+
categoria: {
|
|
575
|
+
id: id_categoria_receita
|
|
576
|
+
},
|
|
577
|
+
parcelas: parcelas.map(&:to_api_hash),
|
|
578
|
+
transporte: transporte&.to_api_hash,
|
|
579
|
+
desconto: {
|
|
580
|
+
valor: valor_desconto,
|
|
581
|
+
unidade: "REAL"
|
|
582
|
+
},
|
|
583
|
+
observacoes: observacoes,
|
|
584
|
+
observacoesInternas: observacoes_internas,
|
|
585
|
+
numeroPedidoCompra: numero_pedido_compra
|
|
586
|
+
}
|
|
587
|
+
end
|
|
588
|
+
|
|
483
589
|
def build_query(params = {}, array_params = {})
|
|
484
590
|
query_parts = []
|
|
485
591
|
|
data/lib/bling_api/item.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module BlingApi
|
|
2
2
|
class Item
|
|
3
3
|
|
|
4
|
-
attr_reader :codigo, :id_produto, :quantidade, :valor, :unidade, :desconto, :aliquota_ipi, :descricao, :descricao_detalhada, :cest, :origem, :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, cest: nil, origem: nil, comissao_base: nil, comissao_aliquota: nil, comissao_valor: nil)
|
|
4
|
+
attr_reader :codigo, :id_produto, :quantidade, :valor, :unidade, :desconto, :aliquota_ipi, :descricao, :descricao_detalhada, :cest, :origem, :comissao_base, :comissao_aliquota, :comissao_valor, :id_natureza_operacao
|
|
5
|
+
def initialize(id_produto:, codigo:, quantidade:, valor:, unidade: nil, desconto: nil, aliquota_ipi: nil, descricao: nil, descricao_detalhada: nil, cest: nil, origem: nil, comissao_base: nil, comissao_aliquota: nil, comissao_valor: nil, id_natureza_operacao: nil)
|
|
6
6
|
@codigo = codigo
|
|
7
7
|
@id_produto = id_produto
|
|
8
8
|
@quantidade = quantidade
|
|
@@ -17,6 +17,7 @@ module BlingApi
|
|
|
17
17
|
@comissao_base = comissao_base
|
|
18
18
|
@comissao_aliquota = comissao_aliquota
|
|
19
19
|
@comissao_valor = comissao_valor
|
|
20
|
+
@id_natureza_operacao = id_natureza_operacao
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
def to_api_hash
|
|
@@ -38,6 +39,9 @@ module BlingApi
|
|
|
38
39
|
base: comissao_base,
|
|
39
40
|
aliquota: comissao_aliquota,
|
|
40
41
|
valor: comissao_valor
|
|
42
|
+
},
|
|
43
|
+
naturezaOperacao: {
|
|
44
|
+
id: id_natureza_operacao
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
end
|
data/lib/bling_api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bling_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- caio
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: ac
|
|
@@ -52,7 +51,6 @@ dependencies:
|
|
|
52
51
|
- - ">="
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
53
|
version: '0'
|
|
55
|
-
description:
|
|
56
54
|
email:
|
|
57
55
|
- caioif4@gmail.com
|
|
58
56
|
executables: []
|
|
@@ -82,7 +80,6 @@ licenses:
|
|
|
82
80
|
metadata:
|
|
83
81
|
homepage_uri: https://github.com/CaioGarcia1
|
|
84
82
|
source_code_uri: https://github.com/CaioGarcia1
|
|
85
|
-
post_install_message:
|
|
86
83
|
rdoc_options: []
|
|
87
84
|
require_paths:
|
|
88
85
|
- lib
|
|
@@ -97,8 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
97
94
|
- !ruby/object:Gem::Version
|
|
98
95
|
version: '0'
|
|
99
96
|
requirements: []
|
|
100
|
-
rubygems_version:
|
|
101
|
-
signing_key:
|
|
97
|
+
rubygems_version: 4.0.22
|
|
102
98
|
specification_version: 4
|
|
103
99
|
summary: ''
|
|
104
100
|
test_files: []
|