API Rest

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.

Criar um objecto

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.

Editar um objecto

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.

Buscar um objecto

Para buscar um objecto, é necessário efetuar um pedido GET passando o id do objecto como parâmetro.

Pedido

Resposta

Status: 200 OK

Apagar um objecto

Para apagar um objecto, é necessário efetuar um pedido DELETE passando o id do objecto como parâmetro.

Pedido

Resposta

Status: 200 OK

Pesquisar objectos

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.

Filtros de pesquisa

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

Queries analíticas

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.

Last updated

Was this helpful?