Para utilização da API CRM Viasoft é necessário acessar o Esse documento tem como objetivo descrever as APIs disponíveis no produto CRM.
Para testar os endpoints disponibilizamos uma documentação utilizando a ferramenta swagger, no seguinte link:
http://crm-dev.viasoftcloud.com.br/api/swagger-ui/index.html# (Ainda não disponível).
Após essa operação, será necessário autententicar o usuário, para isso deve ser utilizados os endpoints de autenticação.
...
Para determinar em qual cliente o usuário deseja se autenticar ele pode utilzar o endpoint empresas-do-usuario. Nesse endpoint ele deve informar o seu usuário e senha, para obter uma lista com os clientes que tem acesso e o id de cada um deles.
Ex:
...
Em seguida, deve-se utilizar o endpoint oauth/token passando seu username e password, bem como o id do cliente em que deseja se conectar.
...
Como resposta ele deverá obter um token de acesso.
...
Esse token tem duração de duas horas, e deve ser utilizado para realizar as demais requisições. Para isso, deve-se clicar em Authorize, no campo superior direito e informar o token no campo solicitado.
Com isso o usuário poderá fazer as demais requisições da API.
Principais requisições:
/metadados (GET) → Essa requisição tem como objetivo mostrar quais são os campos da entidade e suas principais caracaterísticas. Onde são definidos o nome do campo, seu tipo, tamanho máximo, e se ele é obrigatório ou não. Além disso, ela também mostra quais são os campos filtráveis e os campos ordenáveis para a entidade.
Abaixo temos um exemplo de resposta para uma reuisição para o caminho “/metadados”.
Code Block |
---|
{
"nomeClasse": "br.com.viasoft.cadastroscrm.features.moeda.entity.Moeda",
"campos": [
{
"nome": "id",
"tipoCampo": "NUMERICO",
"requerido": true
},
{
"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
Code Block |
---|
COMECA_COM,
CONTEM,
IGUAL |
/pesquisar (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.
Code Block |
---|
{
"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.
...
Para testar os endpoints no swagger, primeiramente é necessário se autenticar no sistema. Conforme documentado na página: https://nimitz.atlassian.net/wiki/x/BoAY3w
...
Todos os registros possuem alguns endpoints padrões. Ver https://nimitz.atlassian.net/wiki/x/BIAb3w.
...
Também disponibilizamos páginas com os endpoints detalhados de cada registro: