Endpoints padrões

Buscar registro pelo código

Endpoint: /{registro}

Tipo: get

Parâmetros:

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

  • codigoExterno: Tipo: String. Código do registro 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:

  • Sucesso: Status 200 - Retorna o json com todos os campos do registros;

  • Status 404 - Caso informado um código inexistente.


Buscar todos os registros

Endpoint: /{registro}/todos

Tipo: get

Resposta: Status 200 - Retorna um json com todos os campos de todos os registros.


Cadastrar ou editar registro

Endpoint: /{registro}

Tipo: post

Notas:

  • Nesse endpoint é necessário informar, no corpo da requisição, o json com os campos que deseja salvar;

  • Para cadastrar um novo registro não informe o campo “codigo” no json;

  • Para editar um registro já existente, informe o campo “codigo” com o id do registro que deseja editar;

  • Importante: Na edição de um registro é necessário informar todos os campos que deseja manter. Os campos não informados serão atualizados como nulo no registro

Resposta: Status 200 - Retorna o json do registro com todos os campos, incluindo o código gerado.


Deletar ou inativar um registro

Endpoint: /{registro}

Tipo: delete

Parâmetros:

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

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

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

Observação: A depender dos vínculos que o registro possa ter, não é possível excluir, apenas inativar. Nesse caso o registro ainda será mantido no banco de dados, mas com o valor “N” na coluna ATIVO.


Buscar metadados do registro

Endpoint: /{registro}/metadados

Tipo: get

Essa requisição tem como objetivo mostrar quais são os campos do json e suas principais características, como nome, tipo, tamanho máximo e se é obrigatório ou não. Além disso, também mostra quais são os campos filtráveis e os campos ordenáveis para o registro.

Abaixo temos um exemplo de resposta para uma requisição no endpoint “/metadados”.

{ "nomeClasse": "br.com.viasoft.cadastroscrm.features.moeda.entity.Moeda", "campos": [ { "nome": "id", "tipoCampo": "NUMERICO", "requerido": false }, { "nome": "simbolo", "tipoCampo": "TEXTO", "tamanhoMaximo": 3, "requerido": true }, { "nome": "descricao", "tipoCampo": "TEXTO", "tamanhoMaximo": 20, "requerido": true }, { "nome": "codigo_externo", "tipoCampo": "TEXTO", "tamanhoMaximo": 100, "requerido": false } ], "filtros": [ { "rotulo": "simbolo", "opcoesComparacao": [ "TODOS_TIPO_STRING" ] }, { "rotulo": "Descrição da Moeda", "opcoesComparacao": [ "TODOS_TIPO_STRING" ] } ], "ordenacoes": [ { "rotulo": "descricao" } ] }

A descrição da opção de comparação TODOS_TIPO_STRING remete ao fato que esse campo pode ser filtrado por todas as opções

COMECA_COM, CONTEM, IGUAL

Pesquisar registro por filtro personalizado

endpoint: /{registro}/pesquisar

tipo: post

Essa requisição tem como objetivo trazer os registros de forma paginada, ordenados e filtrados conforme necessidade do usuário. Abaixo temos um exemplo de como deve ser o corpo da requisição enviada.

{     "pagina": 1,     "quantidadeRegistros": 10,     "ordenacao": [         {             "campo": "simbolo",             "ordenacao": "ASC"         }     ],     "filtros": [         {             "campo": "descricao",             "comparacao": "IGUAL",             "valor": "Francos Franceses"         }     ] }

Deste modo o sistema irá retornar os 10 primeiros registros, ordenados por símbolo de maneira ascendente e com descrição igual a “Francos Franceses”.

Abaixo temos um exemplo de retorno da requisição.