Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions certified-connectors/Flotiq/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<a href="https://flotiq.com/">
<img src="https://editor.flotiq.com/fonts/fq-logo.svg" alt="Flotiq logo" title="Flotiq" align="right" height="60" />
</a>

Flotiq connector
================

[Flotiq](https://flotiq.com) is an API-first, headless Content Management System which allows users to easily publish their content through APIs that are dynamically built to support the current content model. You can use Flotiq to store content and consume it in any kind of system. We provide a variety of simple, low-code (or no-code) solutions to integrate systems with Flotiq in order to efficiently work with data. This connector allows you to easily integrate your Microsoft services with Flotiq and exchange data between systems with very little effort.

## Prerequisites

You will need the following to start using the connector:
- Flotiq subscription (you can [register a free Flotiq account here](https://editor.flotiq.com/register.html))
- At least 1 Content Type Definition defined in Flotiq
- At least 1 API key which allows access to the Content Type Definition
- A Microsoft Power Apps plan or
- Microsoft Azure subscription for building Logic Apps.

## Getting started

1. To use the connector you first need to create a Content Type Definition (CTD) inside Flotiq. You will find detailed information on how to do it in the [Creating Content Type Definitions](https://flotiq.com/docs/panel/content-types/#creating-content-type-definitions) section of documentation. If you'd like to get started quickly - you can try one of the pre-defined types, like "Event":
![](https://github.com/flotiq/gatsby-starter-event-calendar/raw/master/docs/create-definition-event.png)
2. Once you created the CTD - you will need an API key to allow the connector to access data in your Flotiq instance. You can find detailed information on [creating scoped API-keys](https://flotiq.com/docs/API/#user-defined-api-keys) in our documentation. We recommend to create a scoped key and restrict its access only to the operations strictly required for this particular connector to work - for example Create & Update permissions on the Event content type.
![](images/flotiq-scoped-api-key.png)
3. Once the API key is created - please copy the key, it will be used to authorize the connector.

## Enabling the connector in Logic Apps

1. You can easily enable the connector in Logic Apps - just search for Flotiq in the connector database. Authorize the connection to your Flotiq system by pasting the API key copied from Flotiq.
![](images/flotiq-connector-auth.png)
2. Select the `Create Content Object` action to feed data into Flotiq. Once selected, please select the Content Type Definition name from the first Select field. After that is selected - the form will automatically expand to display all the attributes of the CTD.
![](images/flotiq-create-event-from-outlook.png)
3. You can now continue designing your Logic App - as usual.
206 changes: 206 additions & 0 deletions certified-connectors/Flotiq/apiDefinition.swagger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Flotiq headless CMS",
"description": "Flotiq is an API-first, headless Content Management System which allows users to easily publish content through APIs that are dynamically built to support the current content model. We provide a variety of simple, low-code (or no-code) solutions to integrate systems with Flotiq in order to efficiently work with data. This connector allows you to easily integrate your Microsoft services with Flotiq and exchange data between systems with very little effort.",
"contact":{
"name": "Flotiq support",
"url": "https://flotiq.com",
"email": "hello@flotiq.com"
}
},
"host": "api.flotiq.com",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [
"application/json"
],
"paths": {
"/api/v1/internal/contenttype/{contentTypeId}": {
"get": {
"summary": "Get Content Type schema",
"operationId": "GetContentTypeSchema",
"description": "Get Content Type schema",
"parameters": [
{
"name": "contentTypeId",
"in": "path",
"type": "string",
"description": "Select Content Type Definition id you want fields from",
"required": true,
"x-ms-summary": "Select Content Type",
"x-ms-url-encoding": "single"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/CTD"
}
}
}
}
},
"/api/v1/content/{contentTypeId}":{
"post": {
"summary": "Create Content Object",
"description": "Create Content Object",
"operationId": "CreateContentObject",
"consumes": ["application/json"],
"parameters": [
{
"name": "contentTypeId",
"default": "",
"in": "path",
"type": "string",
"required": true,
"description": "Select the CTD",
"x-ms-summary": "Select",
"x-ms-url-encoding": "single",
"x-ms-dynamic-values": {
"operationId": "GetCTD",
"value-collection": "data",
"value-path": "name",
"value-title": "label"
}
},
{
"name": "body",
"in": "body",
"description": "Dynamic schema of objects in selected CTD",
"schema": {
"type":"object",
"x-ms-dynamic-properties":{
"operationId": "GetContentTypeSchema",
"parameters":{
"contentTypeId": {
"parameterReference": "contentTypeId"
}
},
"itemValuePath":"schemaDefinition"
}
},
"required": true
}
],
"responses": {
"default": {
"description": "default",
"schema": {}
}
}
}
},
"/api/v1/internal/contenttype": {
"get": {
"summary": "Get Content Types",
"description": "Get list of defined Content Type Definitions",
"operationId": "GetCTD",
"parameters": [],
"responses": {
"200": {
"description": "List of items",
"schema": {
"type":"object"


}
}
}
}
},
"/api/v1/content/{contentTypeId}/{id}": {
"get": {
"summary": "Get Content Object",
"description": "Get Content Object",
"operationId": "GetContentObject",
"parameters": [
{
"name": "contentTypeId",
"default": "",
"in": "path",
"type": "string",
"required": true,
"description": "Select the CTD",
"x-ms-summary": "Select",
"x-ms-url-encoding": "single"

},
{
"name": "id",
"default": "",
"in": "path",
"type": "string",
"required": true,
"description": "ID of the content object",
"x-ms-summary": "ID of the content object",
"x-ms-url-encoding": "single"
}
],
"responses": {
"default": {
"description": "default",
"schema": {}
}
}
}
}
},
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://flotiq.com"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://flotiq.com/flotiq-privacy-policy/"
},
{
"propertyName": "Categories",
"propertyValue": "Content and Files;Website"
}
],
"definitions": {
"CTD": {
"type": "object",
"x-ms-dynamic-schema": {
"operationId": "GetContentTypeSchema",
"parameters": {
"contentTypeId": {
"parameter": "contentTypeId"
}
},
"value-path": "schemaDefinition/allOf/1/properties"
},
"x-ms-dynamic-properties": {
"operationId": "GetContentTypeSchema",
"itemValuePath": "schemaDefinition/allOf/1",
"parameters": {
"contentTypeId":{
"parameterReference": "contentTypeId"
}
}
}
}
},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "header",
"name": "X-AUTH-TOKEN"
}
},
"security": [
{
"API Key": []
}
],
"tags": []
}
23 changes: 23 additions & 0 deletions certified-connectors/Flotiq/apiProperties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Key",
"description": "API Key for this API",
"tooltip": "Please enter your API Key",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#16A085",
"capabilities": [],
"stackOwner": "Flotiq",
"publisher": "CodeWave LLC"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.