Konnectors doctype
The io.cozy.konnectors
doctype is used to store installed konnectors.
Konnectors are autonomous applications ran on the stack to connect to external services or API.
When installing a konnector, the Cozy stack creates a new io.cozy.konnector
document from the fields in the manifest.konnector
.
io.cozy.konnectors
are used by Cozy-Store to install and uninstall konnectors, and by Cozy-Home to manage accounts for konnectors
Attributes
Retrieved from manifest.konnector
The available attributes in a io.cozy.konnectors
document are :
Field | Description |
---|---|
aggregator |
Object containing aggregator data. Typically { accountId: 'aggregator-service' } . |
categories |
array of categories for your apps (see authorized categories), it will be ['others'] by default if empty |
clientSide |
Boolean to specify if the konnector should be run on the client or not |
data_types |
(konnector specific) Array of the data type the konnector will manage |
developer |
name and url for the developer |
editor |
the editor’s name to display on the cozy-bar (REQUIRED) |
features |
(konnector specific) Array of features added in the konnector from the list below. |
fields |
(konnector specific) JSON object describing the fields need by the konnector (except folder path). Used to generate a form. See below |
folders |
(konnector specific) A list of folders required by the konnector to store files according to datatype (see the specific documentation below) |
frequency |
(konnector specific) A human readable value between monthly , weekly , daily , indicating the interval of time between two runs of the konnector. Default: weekly . |
icon |
path to the icon for the home (path in the build) |
intents |
(application specific) a list of intents provided by this app (see cozy-stack intents doc for more details) |
langs |
Languages available in your app (can be different from locales) |
language |
(konnector specific) the konnector development language used (ex: node ) |
license |
the SPDX license identifier |
locales |
an object with language slug as property, each name property is an object of localized informations (see the second part below) |
manifest_version |
The current manifest version used. This is a versioning for the manifest and allow better retrocompatiblity when processing app manifest |
messages |
(konnector specific) Array of message identifiers, which can be used by application to display information at known areas. See example below. |
mobile |
(application specific) JSON object containing information about app’s mobile version (see cozy-stack routes doc for more details) |
name |
the name to display on the home (REQUIRED) |
name_prefix |
the prefix to display with the name |
oauth |
(konnector specific) JSON object containing oAuth information, like scope . If a manifest provides an oauth property, it is considered as an OAuth konnector. Note: scope can be a string or an array. If it is an array, its values will be joined with a space. A false or null value in scope will remove any scope parameter in the request sent to the oauth provider. |
parameters |
(konnector specific) Additional parameters which should be passed to the konnector. Used for example for bank konnectors to pass a bankId parameter. |
partnership |
an object to provide informations (to display in the Store for example) about a partnership related to the application (icon description , name and domain ). It can also be used to trigger alternative konnector connection policies for some vendors (see the budget-insight konnector policy in cozy-harvest). |
permissions |
a map of permissions needed by the app (see see cozy-stack permissions doc for more details) |
platforms |
(application specific) List of objects for platform native applications. For now there are only two properties: type (i.e. 'ios' or 'linux' ) and the optional url to reach this application page. |
qualification_labels |
(konnector specific) Array of one or more labels from the Cozy Client’s qualifications list to associate with the files the konnector will receive from the website. |
routes |
(application specific) a map of routes for the app (see cozy-stack routes doc for more details) (REQUIRED) |
screenshots |
an array of paths to the screenshots of the application (paths in the build) |
services |
(application specific) a map of the services associated with the app (see cozy-stack services doc for more details) |
slug |
the default slug that should never change (alpha-numeric lowercase) (REQUIRED) |
source |
where the files of the app can be downloaded (by default it will look for the branch build ) |
terms |
an object defining properties for terms that need to be displayed/accepted by the user when installing the application (more-info-below) |
time_interval |
(konnector specific) By defaults, konnector triggers are scheduled randomly between 00:00 AM and 05:00 AM. Those two values can be overwritten thanks to this property, by passing an array containing two values: first is the interval start hour, second is the interval end hour. Example: [15, 21] will randomly schedule the konnector trigger between 15:00 (03:00 PM) and 21:00 (09:00 PM). The time zone used is GMT. |
type |
type of application (konnector or webapp ) (REQUIRED) |
version |
the current version number (REQUIRED) |
vendor_link |
(konnector specific) URL to editor or service website |
Translated manifest fields
Here are the properties that you can override using locales
(we recommand to automatically build these properties according to your locales files if you’re using a translating tool like transifex
):
name
, the app’s nameshort_description
, short description of what the app dolong_description
, longer and more complete description of the app behaviourchanges
, description of your new version of the konnector or all changes since the last versionfields
, An object containing translations for fields.screenshots
folders
{
"fields": {
"email": {
"type": "email"
}
},
"locales": {
"en": {
"short_description": "Collect your Orange's bills",
"fields": {
"email": {
"label": "Identifier (your email)"
}
}
},
"fr": {
"short_description": "Récupère vos factures Orange",
"fields": {
"email": {
"label": "Identifiant (votre adresse mail)"
}
}
}
}
}
Available manifest’s features list :
-
2FA
Two Factors identification.
-
BILLS
Import bills documents, doctype “io.cozy.bills”.
-
FILES
Import files documents, doctype “io.cozy.files”.
-
CAPTCHA_RESOLUTION
The konnector using a captcha resolution process.
-
CARBON_COPY
The konnector import legally true copy of the original files.
-
DOC_QUALIFICATION
The konnector uses the first version of files qualifications, you may stumble upon on some konnectors wich hasn’t been treated.
-
DOC_QUALIFICATION_V2
The konnector uses new version (last one for now) of files qualifications.
-
ELECTRONIC_SAFE
Files comes from a known electronic safe.
-
HEALTH
The konnector treat health documents
-
HTML_TO_PDF
The konnector needs to convert HTML page(s) to make pdf files.
-
IDENTITY
The konnector create identity(ies) for doctype “io.cozy.identities”
-
LOGIN_OK
The konnector deactivate the auto-notification
-
METADATA_DEDUP
The konnector uses a fileIdAttribute as detection to avoid deduplication.
-
VENDOR_REF
The konnector uses.
-
SENTRY_V2
The konnector had been migrated (or packaged) to sentry V2 (errors.cozycloud.cc)
Other Attributes
Attribute | Role |
---|---|
state |
Store the installation state of the konnector. Value can be AVAILABLE , INSTALLING , UPGRADING , UNINSTALLING , INSTALLED , READY |
Example
{
"version": "1.0.0",
"name": "debug",
"type": "konnector",
"language": "node",
"icon": "icon.svg",
"slug": "debug",
"source": "git@github.com:konnectors/debug.git",
"editor": "Cozy",
"vendor_link": "",
"categories": [""],
"fields": {
"login": {
"type": "text"
},
"password": {
"type": "password"
}
},
"folders": [{"defaultDir": "$administrative/$konnector/$account"}],
"data_types": [
"bill"
],
"screenshots": [],
"permissions": {
"carbon_copy": {
"type": "io.cozy.certified.carbon_copy"
},
"bank operations": {
"type": "io.cozy.bank.operations"
},
"bills": {
"type": "io.cozy.bills"
},
"files": {
"type": "io.cozy.files"
},
"accounts": {
"type": "io.cozy.accounts"
}
},
"developer": {
"name": "Cozy Cloud",
"url": "https://cozy.io"
},
"langs": ["fr", "en"],
"locales": {
"fr": {
"short_description": "",
"long_description": "",
"permissions": {
"carboncopy": {
"description": "Utilisé pour certifier que vos fichiers sont copie conforme avec les documents d'origine"
},
"bank operations": {
"description": "Utilisé pour relier les factures à des operations bancaires"
},
"bills": {
"description": "Utilisé pour sauver les données des factures"
},
"files": {
"description": "Utilisé pour sauvegarder les factures"
},
"accounts": {
"description": "Utilisé pour obtenir les données du compte"
}
}
},
"en": {
"short_description": "Fetch your personnal documents.",
"long_description": "Fetch the list of bills and personnal documents from your Luko account.",
"permissions": {
"carboncopy": {
"description": "Use to certify your files are the exact copy of the originals"
},
"bank operations": {
"description": "Required to link bank operations to bills"
},
"bills": {
"description": "Required to save the bills data"
},
"files": {
"description": "Required to save the bills"
},
"accounts": {
"description": "Required to get the account's data"
}
}
}
},
"qualification_labels": [
""
],
"features": [
"LOGIN_OK",
"METADATA_DEDUP",
"CARBON_COPY",
"DOC_QUALIFICATION_V2",
"SENTRY_V2"
],
"banksTransactionRegExp": "\\bdebug\\b",
"manifest_version": "2"
}