API Rest
Last updated
Last updated
Flexbundle fornece uma API Rest personalizada para todos os workspaces. Para saber como comunicar com seu workspace, deve seleccionar a opção Recursos API. Esta opção pode ser encontrada nos detalhes de um workspace.
Após selecção desta opção a seguinte página é apresentada:
1 - O id do workspace.
2 - O endpoint a utilizar para comunicar com o workspace.
3 - Mapeamento dos campos, ou seja, em que campo cada informação deve ser enviada.
Com a sua chave API e a informação dos recursos API acima indicada, poderá efetuar comunicar com Flexbundle via Restful JSON API.
Para criar um novo objecto, é necessário efetuar um pedido POST
contendo os dados do objecto que se pretende criar em conformidade com as regras de validação dos campos do workspace.
Pedido
Resposta
Status: 201 Created
Quando um workspace possui um workflow associado, ao payload do pedido (JSON), deve ser enviado o parâmetro wf_order que, por sua vez, representa o nº da etapa (fase) onde o objecto deve ser criado.
Para editar um objecto, é necessário efetuar um pedido PUT
contendo os novos dados do objecto.
Pedido
Resposta
Status: 200 OK
Quando um workspace possui um workflow associado, ao payload do pedido (JSON), pode ser enviado o parâmetro wf_order que, por sua vez, representa o nº da etapa (fase) onde o objecto deve ser movido.
Para buscar um objecto, é necessário efetuar um pedido GET
passando o id do objecto como parâmetro.
Pedido
Resposta
Status: 200 OK
Para apagar um objecto, é necessário efetuar um pedido DELETE
passando o id do objecto como parâmetro.
Pedido
Resposta
Status: 200 OK
Para pesquisar objectos de um workspace, é necessário efetuar um pedido GET
.
Pedido
Resposta
Status: 200 OK
Para operações de pesquisa, existem várias opções que podem ser configurados de modo a aproximar ao máximo das operações que podem ser efetuadas numa query SQL. Os seguintes parâmetros podem ser configurados:
fields
: A lista de campos, separados por vírgula a retornar como resposta à operação de pesquisa. Quando não fornecido, Flexbundle retornará todos os campos;
query
: Filtros de pesquisa;
sort
: Parâmetro utilizado para ordernar os resultados da pesquisa. Utilize -<CAMPO>
para ordenar os resultados de forma descendente utilizando o campo especificado ou +<Campo>
para order de forma ascendente;
limit
: O número máximo de objectos à retornar como resultado. Por defeito, o sistema retorna no máximo 50 objectos; e
offset
: O número de objectos a ignorar antes de retornar a lista de objectos.
Utilize combinações de limit e offset para efetuar operações de paginação de dados.
Existem várias opções que podem ser utilizadas para filtrar os objectos numa operação pesquisa:
$eq
: Verifica se o valor do campo é igual ao valor fornecido para o filtro;
$ne
: Verifica se o valor do campo é diferente ao valor fornecido para o filtro;
$gt
: Verifica se o valor do campo é maior que o valor fornecido para o filtro;
$gte
: Verifica se o valor do campo é maior ou igual que o valor fornecido para o filtro;
$lt
: Verifica se o valor do campo é menor que o valor fornecido para o filtro;
$lte
: Verifica se o valor do campo é menor ou igual que o valor fornecido para o filtro;
$li
: Verifica se o valor do campo contém as palavras chaves fornecido para o filtro. Para as palavras chaves do filtro, utilize %
antes, entre e depois para melhor expressar a condição pretendida;
$nl
: Verifica se o valor do campo não contém as palavras chaves fornecido para o filtro. Para as palavras chaves do filtro, utilize %
antes, entre e depois para melhor expressar a condição pretendida;
$in
: Verifica se o valor do campo encontra-se na lista de valores fornecida para o filtro. A lista de valores deverá sem expressada utilizando um array. Por exemplo, ["Support","Feature"]
$nin
: Verifica se o valor do campo não existe na lista de valores fornecida para o filtro. A lista de valores deverá sem expressada utilizando um array. Por exemplo: ["Support","Feature"]
Utilizando o parâmetro fields
, é possível efetuar queries analíticas aos objectos do workspace. São disponibilizadas as seguintes operações:
$count
: Executa uma contagem;
$sum
: Executa um somatório de um campo numérico;
$min
: Encontra o valor mínimo de um campo numérico ou data;
$max
: Encontra o valor mínimo de um campo numérico ou data;
$avg
: Calcula a média dos valores de um campo numérico;
$day
: Extraí o dia de um campo data;
$week
: Extraí a semana de um campo data;
$month
: Extraí o mês de um campo data;
$quarter
: Extraí o trimestre de um campo data;
$year
: Extraí o ano de um campo data;
Combine filtros e queries analíticas para obter respostas poderosas com os dados existentes em seus workspaces. Por exemplo, pode obter respostas como: o nº de vendas por região.