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.