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
curl -X POST \
https://api.flexbundle.com/v1/workspace/:workspace_id \
-H '-u: <API KEY>' \
-H 'content-type: application/json' \
-H 'Accept: application/json' \
-d '{
"col1": "<Name>",
"col2": "<Email>",
"col3": "<Company",
"col4": "<Additional Info>"
}'
Resposta
Status: 201 Created
{
"id": "<ID>",
"col1": "<Name>",
"col2": "<Email>",
"col3": "<Company",
"col4": "<Additional Info>"
}
Editar um objecto
Para editar um objecto, é necessário efetuar um pedido PUT
contendo os novos dados do objecto.
Pedido
curl -X PUT \
https://api.flexbundle.com/v1/workspace/:workspace_id/:object_id \
-H '-u: <API KEY>' \
-H 'content-type: application/json' \
-H 'Accept: application/json' \
-d '{
"col1": "<Name>",
"col2": "<Email>",
"col3": "<Company",
"col4": "<Additional Info>"
}'
Resposta
Status: 200 OK
{
"id": "<ID>",
"col1": "<Name>",
"col2": "<Email>",
"col3": "<Company",
"col4": "<Additional Info>"
}
Buscar um objecto
Para buscar um objecto, é necessário efetuar um pedido GET
passando o id do objecto como parâmetro.
Pedido
$ curl -X GET \
https://api.flexbundle.com/v1/workspace/:workspace_id/:object_id \
-H '-u: <API KEY>' \
-H 'content-type: application/json' \
-H 'Accept: application/json' \
Resposta
Status: 200 OK
{
"id": "<ID>",
"col1": "<Name>",
"col2": "<Email>",
"col3": "<Company",
"col4": "<Additional Info>"
}
Apagar um objecto
Para apagar um objecto, é necessário efetuar um pedido DELETE
passando o id do objecto como parâmetro.
Pedido
$ curl -X DELETE \
https://api.flexbundle.com/v1/workspace/:workspace_id/:object_id \
-H '-u: <API KEY>' \
-H 'content-type: application/json' \
-H 'Accept: application/json'
Resposta
Status: 200 OK
Pesquisar objectos
Para pesquisar objectos de um workspace, é necessário efetuar um pedido GET
.
Pedido
curl -G -X GET \
https://api.flexbundle.com/v1/workspace/0600000587/object?fields=&query={%22col5%22:%20%20%22flexbundle.com%22}&limit=1&sort=-col7 \
-H '-u: <API KEY>' \
-H 'content-type: application/json' \
-H 'Accept: application/json' \
--data-urlencode 'fields=col7,$count(id)' \
--data-urlencode 'query={"col5": {"$eq": "flexbundle.com"}' \
--data-urlencode 'sort=-col7' \
--data-urlencode 'limit=2'
Resposta
Status: 200 OK
[
{
"col7": "Twitter",
"$count(id)":10
},
{
"col7": "Facebook",
"$count(id)":5
}
]
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; eoffset
: O número de objectos a ignorar antes de retornar a lista de objectos.
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;
Last updated
Was this helpful?