TinyErpApi

Wrapper de integração com a API 2.0 do ERP Tiny.

Documentação API Tiny

Funcionalidades:

  • Clientes: find_by_id, find_by_document (CPF/CNPJ)
  • Pedido de venda: create, find_by_id
  • Produtos: find_by_sku, get_product_by_id
  • Vendedores: get_all (listagem), find_by_name

Instalação

Adicionar tiny_erp_api no Gemfile:

gem 'tiny_erp_api'

ou

bundle add tiny_erp_api

Instalar a gem:

bin/rails generate tiny_erp_api:install

Uso

Configurar access_token no initializer ou direto no código:

TinyErpApi.configure do |config|
  config.access_token = "ACCESS_TOKEN"
end

Exemplo

Produto

# Encontrar um produto a partir do SKU
product = TinyErpApi::Product.find_by_sku("123456")
puts product.sku # "123456"

Pedido de venda

# Instancia o objeto
order = TinyErpApi::Order.new(
  data_pedido: "05/06/2024",
  numero_pedido: "R123456",
  ecommerce: "Site",
  atualizar_cliente: true,
  cliente: {
    nome: "João da Silva",
    tipo_pessoa: "F",
    cpf_cnpj: "12345678901",
    endereco: "Rua da Saudade",
    numero: "123",
    complemento: "",
    bairro: "Centro",
    cep: "01002010",
    cidade: "São Paulo",
    uf: "SP",
    fone: "1122334455",
    email: "[email protected]"
  },
  itens:[
    {
      item: {
        codigo: "123321",
        quantidade: 1,
        valor_unitario: 10.00,
      }
    }
  ],
  forma_pagamento: "credito",
  parcelas: [
    {
      parcela: {
        data: "05/06/2024",
        valor: 10.00,
        forma_pagamento: "credito",
      }
    }
  ],
  valor_frete: 5.00,
  valor_desconto: 5.0,
  forma_envio: "Correios",
  forma_frete: "SEDEX",
  transportador: "LOGISTICA LTDA.",
  id_vendedor: 23523434,
  deposito: "Geral",
  id_natureza_operacao: 45617653,
  observacoes: "observações",
  observacoes_internas: "observações internas"
)

# Cria o pedido de venda
created_order = order.create

puts created_order.numero # 102030