Endpoints - Conceitos
1. Exemplo do json:
[
{
"codigo": 1,
"descricao": "Conceito A",
"venda_perigosa": "S",
"valida_documento_grupo": "N",
"mensagem_personalizada": "Mensagem de exemplo",
"verifica_limite_pedido": "S",
"dias_venda_vista": 30,
"utiliza_limite_grupo": "N",
"bloqueia_pedido": "S",
"controla_inscricao_produtor": "N",
"dias_maximo_atraso": 15,
"controla_duplicata_vencida_pedido": "R",
"controla_cheque_vencido_pedido": "N",
"controla_lancamento_vencido_pedido": "B",
"controla_duplicata_aberta_pedido": "N",
"exibe_conceito_followup": "S",
"exibe_saldo_limite_followup": "N",
"exibe_followup_pedido": "S",
"exibe_foto_pessoa_followup": "N",
"valida_data_nascimento": "S",
"codigo_externo": "CONC001",
"data_alteracao": "2024-08-28T13:59:38.209Z",
"ativo": "S",
"pessoa_conceito_grupo": [
{
"id": 1,
"id_pessoa_conceito": 10,
"id_pessoa_grupo": 20,
"codigo_externo": "GRP001"
}
]
}
]
Campos:
codigo: Código único do conceito
descricao: Descrição do conceito
venda_perigosa: Indica se a venda é perigosa. Opções: S (Sim), N (Não)
valida_documento_grupo: Valida documento do grupo. Opções: S (Sim), N (Não)
mensagem_personalizada: Mensagem personalizada
verifica_limite_pedido: Verifica limite do pedido. Opções: S (Sim), N (Não)
dias_venda_vista: Dias de venda à vista
utiliza_limite_grupo: Utiliza limite do grupo. Opções: S (Sim), N (Não)
bloqueia_pedido: Bloqueia pedido. Opções: S (Sim), N (Não)
controla_inscricao_produtor: Controla inscrição do produtor. Opções: N (Nada), A (Avisa), B (Bloqueia)
dias_maximo_atraso: Dias máximo de atraso
controla_duplicata_vencida_pedido: Controla duplicata vencida no pedido. Opções: N (Nada), A (Avisa), R (Restringir a Prozo), B (Bloqueia)
controla_cheque_vencido_pedido: Controla cheque vencido no pedido. Opções: N (Nada), A (Avisa), R (Restringir a Prozo), B (Bloqueia)
controla_lancamento_vencido_pedido:Controla lançamento vencido no pedido. Opções: N (Nada), A (Avisa), R (Restringir a Prozo), B (Bloqueia)
controla_duplicata_aberta_pedido: Controla duplicata aberta no pedido. Opções: N (Nada), A (Avisa), R (Restringir a Prozo), B (Bloqueia)
exibe_conceito_followup: Exibe conceito no follow-up. Opções: S (Sim), N (Não)
exibe_saldo_limite_followup: Exibe saldo de limite no follow-up. Opções: S (Sim), N (Não)
exibe_followup_pedido: Exibe follow-up no pedido. Opções: S (Sim), N (Não)
exibe_foto_pessoa_followup: Exibe foto da pessoa no follow-up. Opções: S (Sim), N (Não)
valida_data_nascimento: Valida data de nascimento. Opções: S (Sim), N (Não)
codigo_externo: Código externo do conceito
data_alteracao: Data da última alteração do registro
ativo: Indica se o conceito está ativo. Valores aceitos: S (Sim), N (Não)
pessoa_conceito_grupo: Lista de grupos de pessoas vinculadas ao conceito.
id: ID único do grupo de conceito.
id_pessoa_conceito: ID do conceito da pessoa
id_pessoa_grupo: ID do grupo da pessoa
codigo_externo: Código externo do grupo de conceito
2. Endpoints
2.1 - Buscar Conceitos pelo código
Endpoint: /conceito
Tipo: get
Parâmetros:
codigoInterno: Tipo: Inteiro. Código do conceito no banco de dados do CRM.
Resposta: Status 200 - Retorna o conceito no formato documentado na sessão Exemplo do json
2.2 - Buscar todos os conceitos
Endpoint: /conceito/todos
Tipo: get
Resposta: Status 200 - Retorna a lista dos conceitos no formato documentado na sessão Exemplo do json
2.3 - Cadastrar ou editar conceitos
Endpoint: /conceito
Tipo: post
Notas:
Informe no corpo da requisição o json conforme exemplo na sessão 1.
Para cadastrar uma nova categoria não informe o campo “codigo”;
Para editar um conceito já existente informe o campo “codigo” com o código do conceito que deseja editar;
Serão permitidos o cadastro/edição de até 20 itens por vez.
Resposta: Status 200 - Retorna o conceito cadastrado, no formato documentado na sessão Exemplo do json
2.4 - Inativar um conceito
Não é possível deletar um conceito, apenas inativar, pois o conceito pode ter vinculo com pessoas. Nesse caso, o conceito continua no banco de dados porém com o status inativo.
Endpoint: /conceito
Tipo: delete
Parâmetros:
codigoInterno: Tipo: Inteiro. Código do conceito no banco de dados do CRM.
codigoExterno: Tipo: String. Código do conceito no banco de dados do sistema integrado, caso existir.
Resposta: Status 200 - Mensagem: Registro inativado com sucesso.
2.5 - Retornar os metadados dos conceitos
Endpoint: /conceito/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 conceito
2.6 - Pesquisar
Endpoint: /conceito/pesquisa
Tipo: post
Notas:
Esse endpoint retorna os conceitos baseado nos filtros e na ordenação informados;
Exemplo do corpo da requisição:
{
"pagina": 1,
"quantidadeRegistros": 10,
"filtros": [
{
"campo": "descricao",
"comparacao": "COMECA_COM",
"valor": "C"
}
],
"ordenacao": [
{
"campo": "descricao",
"ordenacao": "ASC"
}
]
}
Nesse exemplo, estamos filtrando todas os conceitos cuja conceito (abreviação) começa com a letra C;
2.7 - Vincular Grupos de Pessoas ao Conceito
Endpoint: /grupo-pessoa
Tipo: post
Parâmetro:
id: Código do vínculo no banco de dados do CRM entre conceitos e grupo de pessoas.
id_pessoa_conceito: Código do conceito no banco de dados do CRM.
id_pessoa_grupo: Código do grupo de pessoas no banco de dados do CRM.
codigo_externo: Código do vínculo entre conceitos e grupo de pessoas no banco de dados Integrador.
Corpo da requisição:
[
{
"id": 1,
"id_pessoa_conceito": 10,
"id_pessoa_grupo": 20,
"codigo_externo": "GRP001"
}
]