Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

1. Exemplo do json:

{
  "codigo": 1,
  "codigo_semente_categoria": 1,
  "codigo_unidade_medida": 1,
  "codigo_semente_cultivar": 1,
  "codigo_cultura_padrao": 1,
  "codigo_equipamento_aplicacao": 1,
  "codigo_produto_grupo": 1,
  "codigo_produto_marca": 1,
  "codigo_peneira": 1,
  "descricao": "Descrição do produto",
  "ativo": "S",
  "desconto_maximo": 10.5,
  "quantidade_multiplo": 2.0,
  "registro_ma": "12345678",
  "peso_liquido": 1.5,
  "peso_bruto": 2.0,
  "aceita_saldo_negativo": "N",
  "controla_semente": "S",
  "kit": "N",
  "codigo_externo": "1",
  "produto_embalagem": [
    {
     "codigo_filial": 1,
     "codigo_embalagem": 1,
     "multiplicador": 2,
     "padrao": "S"
    },
    {
     "codigo_filial": 1,
     "codigo_embalagem": 2,
     "multiplicador": 5,
     "padrao": "N"
    }
  ],
  "produto_filial": [
    {
      "codigo_filial": 1,
      "codigo_local_estoque_padrao": 1,
      "codigo_cotacao": 1,
      "valor_venda": 9.99,
      "valor_promocao": 8.5,
      "valor_custo_gerencial": 8.0
    },
    {
      "codigo_filial": 2,
      "codigo_local_estoque_padrao": 2,
      "codigo_cotacao": 2,
      "valor_venda": 230.5,
      "valor_promocao": 199.9,
      "valor_custo_gerencial": 150
    }
  ]
}

Campos:

  • codigo: Código do registro no banco de dados do CRM

  • codigo_semente_categoria: Código da categoria de semente

  • codigo_unidade_medida: Código da unidade de medida

  • codigo_semente_cultivar: Código da cultivar de semente

  • codigo_cultura_padrao: Código da cultura padrão do produto

  • codigo_equipamento_aplicacao: Código do equipamento de aplicação do produto

  • codigo_produto_grupo: Código do grupo do produto;

  • codigo_produto_marca: Código da marca do produto

  • codigo_peneira: Código da peneira do produto

  • descricao: Descrição do produto;

  • ativo: Campo para indicar se o produto está ativo (S) ou inativo (N);

  • desconto_maximo: Desconto máximo que o produto pode ter no pedido;

  • quantidade_multiplo: Quantidade multipla do produto

  • registro_ma: Registro do ministério da agricultura

  • peso_liquido: Peso liquido do produto

  • peso_bruto: Peso bruto do produto

  • aceita_saldo_negativo: Define se aceita emitir um pedido para o produto quando o mesmo não possui saldo

  • controla_semente: Define se o item controla dados de semente para o pedido

  • kit: Define se o item faz parte de um kit

  • codigo_externo: Código do produto no sistema integrado;

  • produto_embalagem: Lista das embalagens do produto

    • codigo_filial: Código da filial que possui a embalagem;

    • codigo_embalagem: Código da embalagem

    • multiplicador: Valor do multiplicador da embalagem

    • padrao: Define se é a embalagem padrão do produto

  • produto_filial: Dados únicos do produto por filial

    • codigo_filial: Código da filial

    • codigo_local_estoque_padrao: Código do local de estoque padrão do produto

    • codigo_cotacao: Código da cotação

    • valor_venda: Valor de venda do produto na filial

    • valor_promocao: Valor de promoção do produto na filial

    • valor_custo_gerencial: Valor do custo gerencial do produto na filial

Todos os endpoints, com exceção do deletar, retornam o json nesse formato.


2. Endpoints

2.1 - Buscar produto pelo código

Endpoint: /produto

Tipo: get

Parâmetros:

  • codigoInterno: Tipo: Inteiro. Código do produto no banco de dados do CRM.

  • codigoExterno: Tipo: String. Código da produto produto no banco de dados do sistema integrado

Validações: É necessário informar pelo menos um dos parâmetros. Caso informado os dois o sistema prioriza o código externo.

Resposta: Status 200 - Retorna o produto no formato documentado na sessão Exemplo do json

2.2 - Buscar todas os produtos

Endpoint: /produto/todos

Tipo: get

Resposta: Status 200 - Retorna a lista dos produtos no formato documentado na sessão Exemplo do json

2.3 - Cadastrar ou editar produto

Endpoint: /produto

Tipo: post

Notas:

  • Informe no corpo da requisição o json conforme exemplo na sessão 1.

  • Para cadastrar um novo produto não informe o campo “codigo”;

  • Para editar um produto já existente informe o campo “codigo” com o código do produto que deseja editar;

Resposta: Status 200 - Retorna o produto cadastrado, no formato documentado na sessão Exemplo do json

2.4 - Inativar um produto

Não é possível deletar um produto, apenas inativar, pois o produto pode ter vinculo com pedidos e outros registros. Nesse caso, o produto continua no banco de dados porém com o status inativo.

Endpoint: /produto

Tipo: delete

Parâmetros:

  • codigoInterno: Tipo: Inteiro. Código do produto no banco de dados do CRM.

  • codigoExterno: Tipo: String. Código do produto no banco de dados do sistema integrado, caso existir.

Resposta: Status 200 - Mensagem: Registro inativado com sucesso.

2.5 - Retornar os metadados do produto

Endpoint: /produto/metadados

Tipo: get

Descrição: Retorna os campos do json, com as informações de tipo, tamanho máximo, se o campo é requerido, filtrável e/ou ordenável

Resposta: Status 200 - Retorna um json com as informações dos campos do produto

2.6 - Pesquisar

Endpoint: /produto/pesquisa

Tipo: post

Notas:

  • Esse endpoint retorna as peneiras baseado nos filtros e na ordenação informados;

  • Exemplo do corpo da requisição:

{
    "pagina": 1,
    "quantidadeRegistros": 10,
    "filtros": [
        {
            "campo": "descricao",
            "comparacao": "CONTEM",
            "valor": "2"
        }
    ],
    "ordenacao": [
        {
            "campo": "peneira",
            "ordenacao": "ASC"
        }
    ]
}
  • Nesse exemplo, estamos filtrando todas as peneiras cuja descrição possua o texto “VIASOFT”, também estamos ordenando os registros pela descrição de forma ascendente.

2.7 - Vincular embalagens ao produto

Endpoint: /produto-embalagem

Tipo: post

Parâmetro:

  • codigoProduto: Código do produto no banco de dados do CRM

Corpo da requisição:

{

}

2.8 - Cadastrar dados da filial do produto

Endpoint: /produto-filial

Tipo: post

Parâmetro:

  • codigoProduto: Código do produto no banco de dados do CRM

Corpo da requisição:

{

}

  • No labels