Capítulo VI - Associação de produtos e grupos
Associar produtos em um ou mais grupos de produtos. Esta API também criará o grupo de produtos indicado na chamada de associação, caso ele ainda não exista.
Criamos um video para exemplificar os conceitos descritos neste tópico. Sugerimos que, após a leitura, assista este vídeo para melhor compreensão.
Conceito
Este recurso é utilizado para limitar a produção de regras para um determinado cenário de forma que a Systax gere para o cliente apenas as regras que, de fato, ele utilizará, evitando o esforço e o custo do recebimento de dados desnecessários.
Em regra, nem todos os produtos do cliente são movimentados em todas as operações (geralmente isso ocorre nas compras), assim esse recurso permite a relação “N-N” entre produtos e cenários. Vejamos o exemplo abaixo de um cliente com 1.000 produtos cadastrados:
|
Cenários |
Grupo de produtos |
nº regras a receber da Systax |
|
Compra SP-SP |
Comprados de SP |
997 |
|
Compra RJ-SP |
Comprados de RJ |
3 |
|
Compra AM-SP |
Comprados de AM |
2 |
|
Venda SP-SP |
- |
1000 |
Internamente, o sistema terá a lista de produtos que compõem cada grupo (ex.: Comprados do AM: produtos “E” e “F”) e, sempre que um cenário estiver com um grupo associado (ex.: o Grupo de Produtos “Comprados do AM” estará associado ao cenário “Compra AM-SP”), somente serão geradas regras para os produtos movimentados nesta operação (ex.: para o cenário “Compra AM-SP” serão geradas regras apenas para os produtos “E” e “F”).
Descrição dos campos de entrada
|
Campo |
PAI |
Descrição |
|
cod_interno |
products_groups |
ID do produto (Cliente) |
|
origem_produto |
products_groups |
Origem do produto |
|
descricao |
grupos |
Descrição do grupo de produtos |
Link para consulta da tabela de referência para o campo "origem_produto": https://documentacao.systax.com.br/books/tabelas-auxiliares
Descrição dos campos de retorno
|
Campo |
PAI |
Descrição |
|
success |
/ |
Status do retorno |
|
message |
/ |
Mensagem do retorno |
|
itens |
/ |
Quantidade de itens na chamada |
|
itens_ok |
/ |
Quantidade de itens encontrados (existentes) |
|
position |
assocs_ok |
Posição do item na chamada |
|
cod_interno |
assocs_ok |
ID do produto (Cliente) |
|
origem_produto |
assocs_ok |
Origem do produto |
|
descricao |
grupos |
Descrição do grupo |
|
msg |
grupos |
Mensagem de retorno referente a associação |
|
itens_error |
/ |
Quantidade de itens |
Tabela de referência para o campo "success" e "message"
|
Código de retorno |
sucess |
message |
|
200 |
true |
OK |
|
400 |
false |
token_invalid |
|
500 |
false |
internal_error |
Tabela de referência para o campo "msg"
|
msg |
Descrição |
|
assoc_ok |
Associação realizada com sucesso |
|
assoc_already_exists |
Associação já existente |
Exemplos de chamada e retorno
Chamada
{
"products_groups": [
{
"cod_interno": "Produto 02",
"origem_produto": 0,
"grupos": [
{
"descricao": "GRUPO 1"
},
{
"descricao": "GRUPO 3"
}
]
},
{
"cod_interno": "Produto 03",
"origem_produto": 0,
"grupos": [
{
"descricao": "GRUPO 1"
},
{
"descricao": "GRUPO 3"
}
]
}
]
}
Retorno
{
"success": true,
"message": "ok",
"itens": 2,
"itens_ok": 2,
"assocs_ok": [
{
"position": 0,
"cod_interno": "Produto 02",
"origem_produto": 0,
"grupos": [
{
"descricao": "GRUPO 1",
"msg": "assoc_ok"
},
{
"descricao": "GRUPO 3",
"msg": "assoc_ok"
}
]
},
{
"position": 1,
"cod_interno": "Produto 03",
"origem_produto": 0,
"grupos": [
{
"descricao": "GRUPO 1",
"msg": "assoc_ok"
},
{
"descricao": "GRUPO 3",
"msg": "assoc_ok"
}
]
}
],
"itens_error": 0,
"assocs_error": []
}