Quable Apps
Need a special function from an external app? Integrate it!
Subscription to Quable App
Quable Apps are subscription-based options.
➡️ For more information, please contact your Customer Success Manager.
Quable Apps provide extra functionality directly within your Quable PIM. They enable external parties or partners to securely access your Quable PIM content to provide a function or service for all contributors.
Administrators
The Quable Apps page is where you can find and manage all the Quable apps (custom or mainstream) installed on your PIM. On the following page, you can find a table with all your installed app listed, along with their data.
Creating a Custom Quable App
To add a new Custom Quable, to create a connection with another solution for your ecosystem for example, click the Create an app button:
A form is displayed to define the new app and its properties.
Information | Description> |
---|---|
Display Name | Enter a descriptive name for the connection. |
Code | Enter an alphanumeric value to identify the connection. Note: This value cannot be changed after the connection has been created. |
Description | Enter text to describe the purpose of the API connection. |
Information type | Specify the type of information to send to the API:
|
Font Awesome icon | Click on the emoji face to select an icon or enter the name of a Font Awesome icon to display as the QuableApp icon. |
URI of external app | Enter the URI of the app. |
Authentication type | Select the type of authentication to use and enter the value in the appropriate entry area:
|
Once you've entered all of the information, click the Apply button to save your new Quable App.
You can also click on the breadcrumb on top of the form to return to the Quable Apps table page without saving the app.
Editing an app
You can modify a connection by selecting one from the list and clicking the Edit button.
A form is displayed to modify the connection and its properties. When you've finished making modifications, click the:
- Apply button to save your changes, or
- Back button to return to the QuableApp page without saving the changes.
Deleting an app
You can delete a connection by selecting one from the list on the QuableApp page and clicking the Remove button.
A dialog is displayed to cancel or confirm the deletion.
Attention
This action is irreversible. Once a connection has been deleted, it can't be recovered.
Integrators
Call from Quable
Prerequisite
In order to connect an external application, you must have knowledge about the authentication mechanism, headers, endpoints, and parameters
Communications are based on REST principles and follow the RFC2119 guidelines.
Quable PIM takes the information you entered when creating the connection and uses it to "talk" to the external API. The conversation has two parts: the call with information being sent and instructions for a response.
How it works
When a PIM user clicks on the button, an API call is made to the Quable PIM API. The Quable API will call "back" the URL provided in the connection with the requested parameters and will wait for a specific answer (see below).
This answer will include a URL and it is this one that will be loaded in the window that the user will see displayed.
Calling the URI
The Quable API makes a POST
call to the external API's Resource URI:
curl --request POST \
--url http://thirdpartyapp.theirdomain.com/appservice
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
Here's a breakdown:
Description | |
---|---|
Request | HTTP verb / method to announce that information is being sent and to create a resource in the API:POST |
URL | The address of the API resource: "{{http}}://quableapp.theirdomain.com/appservice" |
Headers | Identifies the format of the information sent: "Accept: application/json" "Content-Type: application/json" |
Next, comes the body of the conversation, the data. It includes the information to process and callback instructions for the API:
"data": {
"quableInstanceName": "my-instance",
"userName": "johnDoe",
"userEmail": "[email protected]",
"userId": 153,
"sourceAction": "document_page",
"documentIds": [
"001234",
"A23979"
],
"notificationCallback": {
"url": "http://my-instance.quable.com/myservice",
"token": "abc1defgh23ijkl4mnopq56urstuv78wxyz9",
"method": "POST"
}
}
The data contains three parts: Identity, Processing information, and Callback instructions.
Here's a breakdown of them:
Description | |
---|---|
Identity | Information identifying Quable PIM and the user requesting access to the QuableApp: "quableInstanceName" "userName" "userId" "userEmail" |
Processing information | Information on the type of content to be processed: "sourceAction" "documentIds" |
Callback instructions | The URL of the Quable API to call at the end of processing in order to send a notification to the user - if desired: "notificationCallback.url" "notificationCallback.token" "notificationCallback.method" |
Response to Quable
The Quable App receives a call from the Quable API with the information given in the connection and the data about the user and the objects to be processed.
In order for the PIM to offer the content of the App to the user, the latter must respond with an HTTP 200
code and a request body as below.
- Success -
200
:
{
"url": "https://my-app.domain.tld/my-app-form",
"err": 0,
}
Any response other than an HTTP 200
: code and a body containing the value "0" for the "err" attribute will be considered an error and indicated as such to the user.
Content Management
If all conditions are met, the URL provided in the request body will be called in the window and then the external app will manage its content.
Updated 11 months ago