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" } ]