bling_api 2.0.2 → 2.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d28e4f18f7d5288e30edf3b4a93b85eb015ad69a445fb585be9f231d57e0021
4
- data.tar.gz: 41e6a1632c82eda95a0821bab1092eac48a009b4566fa8a1e8ba93db33e2946a
3
+ metadata.gz: 787595ba01abda400e7b0af56a1c8eb1ea9bc8e8f901e68860afbbe5c9f023e8
4
+ data.tar.gz: 697a257ed9e6baf3262dbd492bf9f681f5e60bef0b0460234ed3adbe8075eaa4
5
5
  SHA512:
6
- metadata.gz: e4ae9972ed3cb15268aa26d1d8f6d4469e361be2642f0195cf1f5cfd52ce66481990811ebe0b6b3f0ad5ab7cf8bb99d6991a3b42cd7e863a259478bf7cb23452
7
- data.tar.gz: 9da868ee20553e1e017dabc5bc11f836cfdf08ba866c2c9138bab2563880d6a6cc4a48675620e3aaea2cc4b59f39277fff549a2f6a268a105e3d015cefea7dc6
6
+ metadata.gz: 6b11387d4033e9d86c837599b1a5353e602ad74f3c9bbc509737b711c1b5d05765a7437b9af00bdcfa355e9cf8ddf4e92c9be455492deb923b4beed042aa3cb3
7
+ data.tar.gz: 07fc87711ff77e1460571fd26f6eaaabff136bfd380767ebebc39c67a9173f5e12dc0fc99e1b8c24428942a1bcc819eaef71d0e005ed993019fb038988cea6bf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bling_api (2.0.2)
4
+ bling_api (2.1.0)
5
5
  ac
6
6
  base64
7
7
 
@@ -296,5 +296,95 @@ module BlingApi
296
296
  }
297
297
  post("/pedidos/vendas", body: body, timeout: 20) { _1.data }
298
298
  end
299
+
300
+ def create_nfe_from_order(order_id)
301
+ post("/pedidos/vendas/#{order_id}/gerar-nfe") { _1.data }
302
+ end
303
+
304
+ def get_nfe(id)
305
+ get("/nfe/#{id}") { _1.data }
306
+ end
307
+
308
+ # @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
309
+ # @param parcelas [Array<BlingApi::Installment>] Array de objetos Installment contendo id_forma_pagamento, valor, data_vencimento, observacoes, id
310
+ # @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
311
+ def create_nfe(
312
+ data_operacao:,
313
+ contato_numero_documento:,
314
+ itens:,
315
+ contato_nome: nil,
316
+ contato_ie: nil,
317
+ contato_rg: nil,
318
+ contato_contribuinte: nil,
319
+ contato_telefone: nil,
320
+ contato_email: nil,
321
+ contato_endereco: nil,
322
+ contato_numero: nil,
323
+ contato_complemento: nil,
324
+ contato_bairro: nil,
325
+ contato_cep: nil,
326
+ contato_municipio: nil,
327
+ contato_uf: nil,
328
+ contato_pais: nil,
329
+ pessoa_juridica: nil,
330
+ tipo: nil,
331
+ id_natureza_operacao: nil,
332
+ id_loja: nil,
333
+ numero_loja: nil,
334
+ finalidade: nil,
335
+ seguro: nil,
336
+ despesas: nil,
337
+ desconto: nil,
338
+ observacoes: nil,
339
+ parcelas: [],
340
+ transporte: nil,
341
+ intermediador_cnpj: nil,
342
+ intermediador_nome_usuario: nil
343
+ )
344
+ body = {
345
+ dataOperacao: data_operacao,
346
+ itens: itens.map(&:to_api_hash),
347
+ contato: {
348
+ nome: contato_nome,
349
+ numeroDocumento: contato_numero_documento,
350
+ tipoPessoa: pessoa_juridica ? "J" : "F",
351
+ ie: contato_ie,
352
+ rg: contato_rg,
353
+ contribuinte: contato_contribuinte,
354
+ telefone: contato_telefone,
355
+ email: contato_email,
356
+ endereco: {
357
+ endereco: contato_endereco,
358
+ numero: contato_numero,
359
+ complemento: contato_complemento,
360
+ bairro: contato_bairro,
361
+ cep: contato_cep,
362
+ municipio: contato_municipio,
363
+ uf: contato_uf,
364
+ pais: contato_pais
365
+ }
366
+ },
367
+ tipo: tipo,
368
+ naturezaOperacao: {
369
+ id: id_natureza_operacao
370
+ },
371
+ loja: {
372
+ id: id_loja,
373
+ numero: numero_loja
374
+ },
375
+ finalidade: finalidade,
376
+ seguro: seguro,
377
+ despesas: despesas,
378
+ desconto: desconto,
379
+ observacoes: observacoes,
380
+ parcelas: parcelas.map(&:to_api_hash),
381
+ transporte: transporte&.to_api_hash,
382
+ intermediador: {
383
+ cnpj: intermediador_cnpj,
384
+ nomeUsuario: intermediador_nome_usuario
385
+ }
386
+ }
387
+ post("/nfe", body: body)
388
+ end
299
389
  end
300
390
  end
@@ -1,3 +1,4 @@
1
+ # Não é mais utilizado
1
2
  module BlingApi
2
3
  class Customer
3
4
  def self.find_by_tax_id tax_id
@@ -1,3 +1,4 @@
1
+ # Não é mais utilizado
1
2
  module BlingApi
2
3
  class Order
3
4
  def self.find_by_id id
@@ -1,3 +1,4 @@
1
+ # Não é mais utilizado
1
2
  module BlingApi
2
3
  class Product
3
4
  def self.find_by_sku sku
@@ -1,3 +1,4 @@
1
+ # Não é mais utilizado
1
2
  module BlingApi
2
3
  class Seller
3
4
  def self.get_sellers page: 1, limit: 100, situation: "A"
@@ -1,5 +1,12 @@
1
1
  module BlingApi
2
2
  class Shipment
3
+ # Valores para o campo frete_por_conta:
4
+ # 0 - Contratação do Frete por conta do Remetente (CIF)
5
+ # 1 - Contratação do Frete por conta do Destinatário (FOB)
6
+ # 2 - Contratação do Frete por conta de Terceiros
7
+ # 3 - Transporte Próprio por conta do Remetente
8
+ # 4 - Transporte Próprio por conta do Destinatário
9
+ # 9 - Sem Ocorrência de Transporte
3
10
  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
11
  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
12
  @valor_frete = valor_frete
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BlingApi
4
- VERSION = "2.0.2"
4
+ VERSION = "2.1.0"
5
5
  end
data/lib/bling_api.rb CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "ac"
4
4
  require "base64"
5
- require "active_support/core_ext/hash/indifferent_access"
6
5
  require_relative "bling_api/version"
7
6
  require_relative "bling_api/client"
8
7
  # require_relative "bling_api/customer" # Deixamos de usar
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bling_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - caio
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []
83
- rubygems_version: 3.6.7
83
+ rubygems_version: 3.6.9
84
84
  specification_version: 4
85
85
  summary: ''
86
86
  test_files: []