Endpoints - Produto
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;
Serão permitidos o cadastro/edição de até 20 itens por vez.
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: