API para acesso ao Besser-Core

Atualização dos métodos disponíveis na API

https://jjw.stoplight.io/docs/besser-core/

Documentação antiga

O Besser-core é o projeto que disponibiliza via API o acesso aos dados do ERP da JJW.

  1. Método de login é “Basic Authentication”
  2. Todo request para obter dados será paginado, utilizando os parâmetros na URL de $page=<NNN> e $quantity=<NNN>.
    • O $quantity é opcional. Se não informado, cada chamada irá retornar uma quantidade específica de registro (geralmente 50 registros por chamada).
    • Caso não retorne um objeto vazio (” [] ” ou ” {} ”), indica que acabou os registros.

1) Lista de preços

A lista de preços deve ser obtida e consultada através do código diretamente. Não existe um serviço padrão disponibilizando todas as listas.

 GET http://<endereco>:3000/api/v1/listasPrecos/{id}?$page=0&$quantity=100

2) Produtos da lista de preços

Obtém os produtos da lista de preços, também a partir de um código pré-definido.

 GET http:// <endereco>:3000/api/v1/listasPrecos/{id}/itens?$page=10&$quantity=20

3) Detalhes dos produtos

Para obter os detalhes dos produtos obtidos da lista de preços.

 GET http://<endereco>:3000/api/v1/produtos/{ID}
produto.json
{
  "id": 1011,
  "url": "/api/v1/produtos/1011",
  "classificacaoFiscal": {
    "id": 2,
    "parametrosSubstituicaoTributariaUf": [],
    "empresas": [ {"empresa": { "id": 1 }, "percentualIpi": 0.0  }
    ],
    "codigoNcm": "42023200"
  },
  "cores": [],
  "numero": "1090",
  "descricao": "CAPA SIMPSONS - HOME-IP712-ESTOJO PROTEÇÃO P/ CELULAR-IP6 PLUS - VIDRO",
  "faixas": [],
  "icmsEspecificos": [
    {
      "estadoDestino": {"id": 17,"url": "/api/v1/estados/17","icms": [] },
      "estadoOrigem": {"id": 24,"url": "/api/v1/estados/24","icms": []},
      "percentualIcmsConsumidor": 4.0,
      "percentualIcmsContribuinte": 4.0
    },
    (..mais registros..)
  ],
  "imagens": [],
  "itensGrade": [],
  "percentualDescontoLimite": 0.0,
  "peso": 0.07,
  "produtosEmpresas": [],
  "reducoesIcms": [],
  "siglaUnidade": "UN   ",
  "similares": [],
  "somaIpiBaseIcms": false,
  "tamanhos": [],
  "tipoGrade": "SEM_GRADE",
  "tributacaoIcms": {
    "id": 0,
    "calcula": true,
    "descricao": "00-Tributada integralmente"
  },
  "unidade": {
    "id": "UN   ",
    "descricao": "UNIDADE",
    "quantidadeFracionada": true,
    "tipAssistenteCalculoUnidade": 0
  }
}

4) Grupos dos produtos (Categorias)

GET http://<endereco>:3000/api/v1/gruposProdutos?$page=0&$quantity=100

5) Criar pedido

POST http://<endereco>:3000/api/v1/pedidos
pedido.json
>>> JSON Envio:
    [
      {
        "cliente": {
          "id": 466,
          "contatos": [],
          "enderecos": [],
          "nome": "GLOBAL DISTRIBUICAO DE BENS DE CONSUMO LTDA - 0085"
        },
        "condicaoPagamento": {
          "id": 0,
          "descricao": "A VISTA SEM DUPLICATA"
        },
        "cuponsFiscais": [],
        "dataDigitacao": "2019-02-15T12:50:50.804",
        "dataEmissao": "2019-02-15",
        "dataEntrega": "2019-02-18",
        "itens": [
          {
            "id": 73482,
            "cancelado": false,
            "itensGrade": [],
            "percentualDesconto": 0.0,
            "produto": {
              "id": 1018,
              "url": "/api/v1/produtos/1018",
              "cores": [],
              "descricao": "CAPA DUALL ST-IP7- DIP701RD-ESTOJO PROTEÇÃO",
              "faixas": [],
              "icmsEspecificos": [],
              "imagens": [],
              "itensGrade": [],
              "marca": {
                "id": 6,
                "url": "/api/v1/marcas/6",
                "descricao": "ANTI-SHOCK"
              },
              "numero": "1097",
              "produtosEmpresas": [],
              "reducoesIcms": [],
              "siglaUnidade": "UN   ",
              "similares": [],
              "tamanhos": []
            },
            "quantidadeAFaturar": 0.0,
            "quantidadePedida": 5.0,
            "valorIpi": 0.0,
            "valorSubstituicaoTributaria": 0.0,
            "valorTotal": 249.5,
            "valorUnitarioBruto": 49.9,
            "valorUnitarioLiquido": 49.9
          }
        ],
        "listaPrecos": {
          "id": 1,
          "url": "/api/v1/listasPrecos/1",
          "colunas": [],
          "descricao": "GERAL",
          "itens": []
        },
        "listaPrecosColuna": {
          "id": 1,
          "descricao": "A PRAZO"
        },
        "modalidadeVenda": {
          "id": 0
        },
        "notas": [],
        "percentualAcrescimo": 0.0,
        "percentualComissao1": 0.0,
        "percentualDesconto": 0.0,
        "percentualDesconto1": 0.0,
        "percentualDesconto2": 0.0,
        "percentualDesconto3": 0.0,
        "quantidadeFaturadaMercadorias": 0.0,
        "quantidadeFaturadaServicos": 0.0,
        "representante1": {
          "id": 320,
          "contatos": [],
          "enderecos": [],
          "nome": "IWILL BRASIL IMPORT. E COM. DE ART. DE INFORM LTDA"
        },
        "situacao": "EM_ESTUDO",
        "tipoFreteRedespacho": "CIF",
        "tipoFreteTransportadora": "CIF",
        "transportadora": {
          "id": 697,
          "contatos": [],
          "enderecos": [],
          "nome": "BRASPRESS TRANSPORTES URGENTES LTDA"
        },
        "uuid": "00000000012019021500000004660000000000",
        "valorAcrescimo": 0.0,
        "valorDesconto": 0.0,
        "valorDespesas": 0.0,
        "valorFrete": 0.0,
        "valorIpi": 0.0,
        "valorSeguro": 0.0,
        "valorSubstituicaoTributaria": 0.0,
        "valorTotalGeral": 249.5
      }
    ]

JSON Retorno: HTTP 200

pedido_retorno.json
    {
      "id": 14555,
      "numero": 11645,
      "url": "/api/v1/pedidos/14555",
      "cliente": {
        "id": 466,
        "url": "/api/v1/clientes/466",
        "contatos": [],
        "enderecos": [],
        "nome": "GLOBAL DISTRIBUICAO DE BENS DE CONSUMO LTDA - 0085"
      },
      "condicaoPagamento": {
        "id": 0,
        "url": "/api/v1/condicoesPagamentos/0",
        "descricao": "A VISTA SEM DUPLICATA"
      },
      "cuponsFiscais": [],
      "dataDigitacao": "2019-02-15T12:50:50.804",
      "dataEmissao": "2019-02-15",
      "dataEntrega": "2019-02-18",
      "empresa": {
        "id": 1,
        "url": "/api/v1/empresas/1",
        "nome": "IWILL BRASIL IMP. E COM. DE ART. DE INFOR. LTDA",
        "nomeFantasia": "IWILL BRASIL"
      },
      "itens": [
        {
          "id": 73482,
          "cancelado": false,
          "itensGrade": [],
          "percentualDesconto": 0.0,
          "produto": {
            "id": 1018,
            "url": "/api/v1/produtos/1018",
            "cores": [],
            "descricao": "CAPA DUALL ST-IP7- DIP701RD-ESTOJO PROTEÇÃO",
            "faixas": [],
            "icmsEspecificos": [],
            "imagens": [],
            "itensGrade": [],
            "marca": {
              "id": 6,
              "url": "/api/v1/marcas/6",
              "descricao": "ANTI-SHOCK"
            },
            "numero": "1097",
            "produtosEmpresas": [],
            "reducoesIcms": [],
            "siglaUnidade": "UN   ",
            "similares": [],
            "tamanhos": []
          },
          "quantidadeAFaturar": 0.0,
          "quantidadePedida": 5.0,
          "valorIpi": 0.0,
          "valorSubstituicaoTributaria": 0.0,
          "valorTotal": 249.5,
          "valorUnitarioBruto": 49.9,
          "valorUnitarioLiquido": 49.9
        }
      ],
      "listaPrecos": {
        "id": 1,
        "url": "/api/v1/listasPrecos/1",
        "colunas": [],
        "descricao": "GERAL",
        "itens": []
      },
      "listaPrecosColuna": {
        "id": 1,
        "descricao": "A PRAZO"
      },
      "modalidadeVenda": {
        "id": 0
      },
      "notas": [],
      "percentualAcrescimo": 0.0,
      "percentualComissao1": 0.0,
      "percentualDesconto": 0.0,
      "percentualDesconto1": 0.0,
      "percentualDesconto2": 0.0,
      "percentualDesconto3": 0.0,
      "quantidadeFaturadaMercadorias": 0.0,
      "quantidadeFaturadaServicos": 0.0,
      "representante1": {
        "id": 320,
        "url": "/api/v1/representantes/320",
        "contatos": [],
        "enderecos": [],
        "nome": "IWILL BRASIL IMPORT. E COM. DE ART. DE INFORM LTDA"
      },
      "situacao": "EM_ESTUDO",
      "tipoFreteRedespacho": "CIF",
      "tipoFreteTransportadora": "CIF",
      "transportadora": {
        "id": 697,
        "url": "/api/v1/transportadoras/697",
        "contatos": [],
        "enderecos": [],
        "nome": "BRASPRESS TRANSPORTES URGENTES LTDA"
      },
      "uuid": "00000000012019021500000004660000000000",
      "valorAcrescimo": 0.0,
      "valorDesconto": 0.0,
      "valorDespesas": 0.0,
      "valorFrete": 0.0,
      "valorIpi": 0.0,
      "valorSeguro": 0.0,
      "valorSubstituicaoTributaria": 0.0,
      "valorTotalGeral": 249.5
    }

6) Criar cliente

IMPORTANTE: O cliente é criado automaticamente ao criar um pedido (caso não existe pelo numero do CNPJ).
Somente utilizar este serviço para criar os clientes caso não seja enviado um pedido.

6.1) Pesquisar o Cliente pelo CNPJ/CPF, não retornando nenhum resultado, pode ser feito o POST para criação.

GET http://<endereco>:3000/api/v1/clientes?$page=0&$filter=this.pessoa.numeroCnpjCpf.eq('11.111.111/0001-12')

6.2.) Criar um cliente

POST http://<endereco>:3000/api/v1/clientes
cliente.json
    >> JSON - Envio:
        {
          "id": -1,
          "ativo": true,
          "avisarVenda": true,
          "contatos": [
            {
              "tipo": "PRINCIPAL",
              "fone": "47 3394-5145",
              "nome": "A.P.P U.E.I. ESPAÇO CRESCER"
            }
          ],
          "enderecos": [
            {
              "id": 2142,
              "logradouro": "RUA TESTE",
              "complemento": "TESTE",
              "numero": 61,
              "tipo": "PRINCIPAL",
              "cep": "42850-000",
              "bairro": {
                "id": 2142,
                "nome": "CENTRO",
                "cidade": {
                  "id": 2671,
                  "estado": {
                    "id": 5,
                    "icms": []
                  },
                  "nome": "DIAS D AVILA"
                }
              }
            }
          ],
          "nome": "CLIENTE DE TESTE",
          "nomeFantasia": "TESTE DE CELULARES",
          "numeroCnpjOuCpf": "11.111.111/0001-12",
          "numeroIeOuRg": "76858704",
          "percentualCargaTributariaMedia": 0.0,
          "simplesNacional": false,
          "tipo": "JURIDICA",
          "tipoDestinacao": "REVENDA",
          "tipoTributacao": "IMPOSTO_NORMAL"
        }

Retorno: HTTP 200 | ou | 400 + Erro

cliente_retorno.json
      {
          "id": 2627,
          "url": "/api/v1/clientes/2627",
          "ativo": true,
          "avisarVenda": false,
          "contatos": [
            {
              "id": 1514,
              "fone": "47 3394-5145",
              "nome": "A.P.P U.E.I. ESPAÇO CRESCER",
              "tipo": "PRINCIPAL"
            }
          ],
          "enderecos": [
            {
              "id": 2478,
              "logradouro": "RUA TESTE",
              "complemento": "TESTE",
              "numero": 61,
              "tipo": "PRINCIPAL",
              "cep": "42850-000",
              "bairro": {
                "id": 2478,
                "nome": "CENTRO",
                "cidade": {
                  "id": 2671,
                  "estado": {
                    "id": 5,
                    "icms": []
                  },
                  "nome": "DIAS D AVILA"
                }
              }
            }
          ],
          "nome": "CLIENTE DE TESTE",
          "nomeFantasia": "TESTE DE CELULARES",
          "numeroCnpjOuCpf": "11.111.111/0001-12",
          "numeroIeOuRg": "76858704",
          "percentualCargaTributariaMedia": 0.0,
          "simplesNacional": false,
          "tipo": "JURIDICA",
          "tipoDestinacao": "REVENDA",
          "tipoTributacao": "IMPOSTO_NORMAL"
        }

Outros ENDPOINT DISPONIVEIS

Abaixo relação de outros endpoints disponíveis por padrão

  1. [/api/v1/calculoImpostos],methods=[POST]}
  2. [/api/v1/pedidos],methods=[POST]}
  3. [/api/v1/pedidos],methods=[GET]}
  4. [/api/v1/pedidos/{id}],methods=[GET]}
  5. [/api/v1/pedidos/{pedidoVendaId}/itens/{pedidoVendaItemId}],methods=[GET]}
  6. [/api/v1/pedidos/{pedidoVendaId}/cuponsFiscais],methods=[GET]}
  7. [/api/v1/pedidos/gerarHtml],methods=[POST],produces=[text/html;charset=utf-8]}
  8. [/api/v1/gruposProdutos],methods=[GET]}
  9. [/api/v1/representantes/{representanteId}/titulosReceber],methods=[GET]}
  10. [/api/v1/representantes],methods=[GET]}
  11. [/api/v1/representantes/{representanteId}/listasPrecos],methods=[GET]}
  12. [/api/v1/representantes/{representanteId}/usuarios],methods=[GET]}
  13. [/api/v1/representantes/{representanteId}/pedidos],methods=[GET]}
  14. [/api/v1/representantes/{representanteId}/clientes],methods=[GET]}
  15. [/api/v1/listasPrecos/{listaPrecoId}],methods=[GET]}
  16. [/api/v1/listasPrecos/{listaPrecoId}/produtos],methods=[GET]}
  17. [/api/v1/listasPrecos/{listaPrecoId}/itens],methods=[GET]}
  18. [/api/v1/produtos/{produtoId}/estoques/grades],methods=[GET]}
  19. [/api/v1/produtos/{produtoId}/estoques],methods=[GET]}
  20. [/api/v1/produtos/{produtoId}],methods=[GET]}
  21. [/api/v1/produtos/{produtoId}/imagens/{imagemId}],methods=[GET]}
  22. [/api/v1/produtos/{produtoId}/imagens],methods=[GET]}
  23. [/api/v1/produtos/{produtoId}/cores/{corId}/imagens/{imagemId}],methods=[GET]}
  24. [/api/v1/clientes],methods=[POST]}
  25. [/api/v1/clientes],methods=[GET]}
  26. [/api/v1/clientes/{id}],methods=[GET]}
  27. [/api/v1/clientes/{id}/boletos],methods=[GET]}
  28. [/api/v1/clientes/{id}/creditos],methods=[GET]}
  29. [/api/v1/clientes/{id}/pedidos],methods=[GET]}
  30. [/api/v1/clientes/{id}/pedidos/totais],methods=[GET]}
  31. [/api/v1/clientes/{id}/titulosReceber],methods=[GET]}
  32. [/api/v1/pessoas/creditos],methods=[GET]}
  33. [/api/v1/pessoas/creditos/{id}],methods=[GET]}
  34. [/api/v1/pessoas/creditos/{id}/bloquear],methods=[PUT]}
  35. [/api/v1/pessoas/creditos/{id}/bloquear],methods=[DELETE]}
  36. [/api/v1/pessoas/creditos/totais],methods=[GET]}
  37. [/api/v1/pessoas/{id}],methods=[GET]}
  38. [/api/v1/pessoas/{id}/titulos/resumo],methods=[GET]}
  39. [/api/v1/pessoas/{id}/titulos/{tituloId}/bloquear],methods=[PUT]}
  40. [/api/v1/pessoas/{id}/titulos/resumo-totais],methods=[GET]}
  41. [/api/v1/pessoas/{id}/titulos/{tituloId}/bloquear],methods=[DELETE]}
  42. [/api/v1/transportadoras],methods=[GET]}
  43. [/api/v1/condicoesPagamentos],methods=[GET]}
  44. [/api/v1/estados],methods=[GET]}
  45. [/api/v1/parametros/{module}]}
  46. [/api/v1/recibos/{id}/cancelar],methods=[PUT]}
  47. [/api/v1/titulosReceber/{id}],methods=[GET]}
  48. [/api/v1/titulosReceber/situacoes],methods=[POST]}
  49. [/api/v1/titulos/resumo/{id}],methods=[GET]}
  50. [/api/v1/cuponsFiscais],methods=[GET]}
  51. [/api/v1/cuponsFiscais/{id}/itens/{itemId}],methods=[GET]}
  52. [/api/v1/cuponsFiscais/{id}],methods=[GET]}
  53. [/api/v1/notasFiscaisSaida],methods=[GET]}
  54. [/api/v1/notasFiscaisSaida/{id}/itens/{itemId}],methods=[GET]}
  55. [/api/v1/notasFiscaisSaida/{id}],methods=[GET]}