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?