Connector Staged
ConnectorStaged represents the draft version of a Connector.
ConnectorStaged references a Repository, which links the connector to the codebase representing the integration.
Once you have finished developing/updating a ConnectorStaged, use the Publish update action to create a Connector ready for production. Upon being published, the read-only production version of the Connector will be created/updated.
Representations
ConnectorStaged
id String | Unique identifier of the Connector. |
version Int | Current version of the Connector. |
key String | User-defined unique identifier of the Connector. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
name String | Name of the Connector. |
description String | Description of the Connector. |
integrationTypes Array of IntegrationType | Integration types of the Connector. Can be used to filter search and query results. |
creator | Owner of the Connector. |
repository | GitHub repository details of the Connector. |
configurations Array of ConnectorConfigurationApplication | Configurations needed by Connectors for hosting. Loaded as environment variables in the application. |
globalConfiguration | Global configuration applied to all applications in the Deployment. |
private Boolean | If |
privateProjects Array of ProjectIdentifier | If |
supportedRegions Array of Region | If provided, Connectors can only be deployed in these Regions. If not provided, Connectors can be deployed in any supported Region. For faster request processing, we recommend adding only the required Region. |
certificationInfo | Comments made during the certification process. |
status | Current status of the Connector. Default:Draft |
publishingReport | The publishing request report of the Connector. |
alreadyListed Boolean | If |
hasChanges Boolean | If |
isPreviewable | The previewable status of the ConnectorStaged. Default:none |
previewableReport | The previewable request report. |
documentationUrl String | URL to the documentation of the Connector. |
ConnectorStagedDraft
key String | User-defined unique identifier of the Connector. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
name String | Name of the Connector. |
description String | Description of the Connector. |
integrationTypes Array of IntegrationType | Integration types of the Connector. Can be used to filter search and query results. |
creator | Owner of the Connector. |
repository | GitHub repository details of the Connector. |
supportedRegions Array of Region | If provided, Connectors can only be deployed in these Regions. If not provided, Connectors can be deployed in any supported Region. For faster request processing, we recommend adding only the required Region. |
privateProjects Array of ProjectIdentifier | Composable Commerce Projects that can access the Connector. If empty, only the creator can access this Connector. |
documentationUrl String | URL to the documentation of the Connector. |
ConnectorStagedPagedQueryResponse
PagedQueryResult with results containing an array of ConnectorStaged.
limit Int | The maximum number of the ConnectorStaged returned. |
offset Int | The offset of the ConnectorStaged returned. |
count Int | The number of ConnectorStaged returned. |
total Int | The total number of ConnectorStaged matching the query. |
results Array of ConnectorStaged | ConnectorStaged matching the query. |
Creator
Details of the individual or organization who developed the Connector.
name String | Name of the person who owns the Connector. |
title String | Title of the person who owns the Connector. |
email String | Contact email address of the creator. |
company String | Name of the company that owns the Connector. |
logoUrl String | URL to a logo image used to represent the creator. |
noOfContributors Int | Number of contributors currently working for the company. |
supportUrl String | URL to the support website of the Connector. |
{"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200,"logoUrl": "https://www.example.com/logo.png","supportUrl": "https://www.example.com/support"}
Repository
Details of the GitHub repository that contains the Connect applications.
url String | HTTPS or SSH GitHub URL of the GitHub repository. Private repositories must use an SSH URL. |
tag String | Git tag of the release to use. |
{"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"}
ConnectorConfigurationApplication
The configuration of a Connect application. These values are automatically obtained from the connect.yaml file in the GitHub repository.
applicationName String | Name of the Connect application. MinLength:2 MaxLength: 256 Pattern: ^[A-Za-z0-9_-]+$ |
applicationType String | The Connect application type. Can be"service" , "event" , "job" , "merchant-center-custom-application" , or "assets" |
standardConfiguration Array of StandardConfigurationKey | Contains the name, description, and default values of standard environment variables. |
securedConfiguration Array of SecuredConfigurationKey | Contains the name and description of secret environment variables. |
{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config key default value"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description","required": true}]}
StandardConfigurationKey
The name, description, and default value of a standard environment variable.
key String | Name of the environment variable. |
description String | Description of the environment variable. |
default String | Default value of the environment variable. |
required Boolean | Indicates if the environment variable is required. Default:false |
{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config default value"}
SecuredConfigurationKey
The name and description of a secret environment variable.
key String | Name of the environment variable. |
description String | Description of the environment variable. |
required Boolean | Indicates if the environment variable is required. Default:false |
{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config default value"}
ConnectorGlobalConfiguration
Global configuration applied to all applications in the deployment.
standardConfiguration Array of StandardConfigurationKey | Contains the name and description of standard environment variables. |
securedConfiguration Array of SecuredConfigurationKey | Contains the name and description of secret environment variables. |
IsPreviewable
The previewable status of the ConnectorStaged.
true
ConnectorStaged can be used in a Deployment.
false
ConnectorStaged cannot be used in a Deployment.
pending
The request for previewable status is currently being processed.
none
No request for previewable status has been made.
ConnectorReport
Contains report entries for publish/preview requests.
entries Array of ConnectorReportEntry | Contains information, error, and warning notices. |
ConnectorReportEntry
Describes an information, error, or warning notice.
type | The report entry type. |
title String | The title of the report entry. |
message String | The message related to the report entry. |
createdAt | When the report entry was created. |
{"type": "Error","title": "Connector specification file not found","createdAt": "2023-08-08T12:20:31.143Z"}
ConnectorReportEntryType
The type of message being reported.
Information
Indicates information returned during the publish/preview task.
Warning
Indicates an issue that arose during the publish/preview task.
Error
Indicates a crash or failure to complete the publish/preview task.
CertificationInfo
comments Array of CertificationInfoComment | Comments made during the certification process. |
CertificationInfoComment
Contains metadata and body text of a comment made during the certification process.
userId String | The commercetools Composable Commerce Project key associated with the person making the comment. |
datetime | Date and time (UTC) the comment was added. |
comment String | The body text of the comment. |
{"userId": "project-key","datetime": "2023-03-17T14:00:00.000Z","comment": "An example comment."}
ConnectorStatus
Indicates the current status of the ConnectorStaged.
Draft
The ConnectorStaged is currently a draft.
Processing
The ConnectorStaged publish request is being processed.
ReadyForCertification
The ConnectorStaged is ready to be certified.
InCertification
The ConnectorStaged is in the certification process.
Published
The ConnectorStaged was published.
Failed
The ConnectorStaged was not published.
Get ConnectorStaged
Get ConnectorStaged by ID
manage_project:{projectKey}
manage_connectors:{projectKey}
view_connectors:{projectKey}
region String | Region in which the Project is hosted. |
id String |
|
application/json
curl --get https://connect.{region}.commercetools.com/connectors/drafts/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 1,"name": "Connector's name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config default value"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description","required": true}]}],"private": false,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Failed","publishingReport": {"entries": [{"type": "Error","title": "Connector specification file not found","createdAt": "2023-08-08T17:00:59.327Z"}]},"isPreviewable": "false","previewableReport": {"entries": [{"type": "Error","title": "Connector specification file not found","createdAt": "2023-08-08T12:20:31.143Z"}]}}
Get ConnectorStaged by Key
manage_project:{projectKey}
manage_connectors:{projectKey}
view_connectors:{projectKey}
region String | Region in which the Project is hosted. |
key String |
|
application/json
curl --get https://connect.{region}.commercetools.com/connectors/drafts/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 1,"name": "Connector's name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config default value"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description","required": true}]}],"private": false,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Failed","publishingReport": {"entries": [{"type": "Error","title": "Connector specification file not found","createdAt": "2023-08-08T17:00:59.327Z"}]},"isPreviewable": "false","previewableReport": {"entries": [{"type": "Error","title": "Connector specification file not found","createdAt": "2023-08-08T12:20:31.143Z"}]}}
Query ConnectorStaged
manage_project:{projectKey}
manage_connectors:{projectKey}
view_connectors:{projectKey}
region String | Region in which the Project is hosted. |
limit Int | Number of results requested. |
offset Int | Number of elements skipped. |
sort String | The parameter can be passed multiple times. |
isPrivate Boolean | If |
integrationTypes | Filter the results by the The parameter can be passed multiple times. |
application/json
curl --get https://connect.{region}.commercetools.com/connectors/drafts -i \--header "Authorization: Bearer ${BEARER_TOKEN}"
{"offset": 0,"limit": 20,"total": 1,"count": 1,"results": [{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 1,"name": "Connector's name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description","required": true,"default": "config default value"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description","required": true}]}],"private": false,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Draft","publishingReport": null,"isPreviewable": "none","previewableReport": null,"certified": true}]}
Create ConnectorStaged
manage_project:{projectKey}
manage_connectors:{projectKey}
region String | Region in which the Project is hosted. |
application/json
application/json
curl https://connect.{region}.commercetools.com/connectors/drafts -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"id" : "5ab3edcd-9d23-4934-8f48-256805253119","key" : "connector-key","version" : 1,"name" : "Connector's name","description" : "Connector's description","creator" : {"title" : "Mr","name" : "John Doe","email" : "john.doe@example.com","company" : "commercetools","noOfContributors" : 200},"repository" : {"url" : "git@github.com:commercetools/connect-application-kit.git","tag" : "0.0.0"},"privateProjects" : [ ],"private" : false,"hasChanges" : true,"alreadyListed" : true,"isPreviewable" : "true","status" : "Draft","publishingReport" : null,"previewableReport" : {"entries" : [ {"title" : "Image security analysis check succeeded","type" : "Information","message" : null,"createdAt" : "2024-02-15T10:12:12.069Z","application" : null}, {"title" : "SAST and SCA analysis check succeeded","type" : "Information","message" : null,"createdAt" : "2024-02-15T10:12:12.072Z","application" : null}, {"title" : "Connector specification file validation check succeeded","type" : "Information","message" : null,"createdAt" : "2024-02-15T10:12:12.073Z","application" : null} ]},"supportedRegions" : [ "us-central1.gcp", "europe-west1.gcp" ]}DATA
{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 1,"name": "Connector's name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description"}]}],"private": true,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Draft","isPreviewable": "none"}
Update ConnectorStaged
Update ConnectorStaged by ID
manage_project:{projectKey}
manage_connectors:{projectKey}
region String | Region in which the Project is hosted. |
id String |
|
application/json
version Int | Expected version of the Connector on which the changes apply. |
actions Array of ConnectorUpdateAction | Update actions to be performed on the Connector. |
application/json
curl https://connect.{region}.commercetools.com/connectors/drafts/{id} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "setName","name" : "New Connector name"} ]}DATA
{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 2,"name": "New Connector name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description"}]}],"private": true,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Draft","isPreviewable": "none"}
Update ConnectorStaged by Key
manage_project:{projectKey}
manage_connectors:{projectKey}
region String | Region in which the Project is hosted. |
key String |
|
application/json
version Int | Expected version of the Connector on which the changes apply. |
actions Array of ConnectorUpdateAction | Update actions to be performed on the Connector. |
application/json
curl https://connect.{region}.commercetools.com/connectors/drafts/key={key} -i \--header "Authorization: Bearer ${BEARER_TOKEN}" \--header 'Content-Type: application/json' \--data-binary @- << DATA{"version" : 1,"actions" : [ {"action" : "setName","name" : "New Connector name"} ]}DATA
{"id": "5ab3edcd-9d23-4934-8f48-256805253119","key": "connector-key","version": 2,"name": "New Connector name","description": "Connector's description","integrationTypes": ["other"],"creator": {"title": "Mr","name": "John Doe","email": "john.doe@example.com","company": "commercetools","noOfContributors": 200},"repository": {"url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"},"configurations": [{"applicationName": "app-1","applicationType": "service","standardConfiguration": [{"key": "CONFIG_KEY","description": "config key description"}],"securedConfiguration": [{"key": "CONFIG_SECRET_KEY","description": "config secret description"}]}],"private": true,"privateProjects": [],"supportedRegions": ["us-central1.gcp", "europe-west1.gcp"],"hasChanges": false,"alreadyListed": false,"status": "Draft","isPreviewable": "none"}
Update actions
Update Connector
Set Name
Updates the name of the Connector.
action String | "setName" |
name String | Value to set. |
{"action": "setName","name": "The new name of the Connector"}
Set Description
Updates the description of the Connector.
action String | "setDescription" |
description String | Value to set. |
{"action": "setDescription","description": "New description of the Connector."}
Set Repository
Updates the GitHub repository details of the Connector.
action String | "setRepository" |
url String | New HTTPS or SSH GitHub URL to assign to the Connector. |
tag String | New Git tag to assign to the Connector. |
{"action": "setRepository","url": "git@github.com:commercetools/connect-application-kit.git","tag": "0.0.0"}
Set Supported Region
Updates the regions that the Connector can be deployed in.
action String | "setSupportedRegions" |
regions Array of Region | New value to set. MinItems:1 |
{"action": "setSupportedRegions","regions": ["europe-west1.gcp", "us-central1.gcp", "australia-southeast1.gcp"]}
Set Documentation URL
Updates the documentation URL of the Connector.
action String | "setDocumentationUrl" |
documentationUrl String | Value to set. |
{"action": "setDocumentationUrl","documentationUrl": "https://www.example.com/my-connector/documentation"}
Set Integration Types
Updates the integration types of the Connector.
action String | "setIntegrationTypes" |
integrationTypes Array of IntegrationType | New value to set. |
{"action": "setIntegrationTypes","integrationTypes": ["promotion", "other"]}
Update Creator
Use the following update actions to set values for fields within creator
.
Set Name
Updates the name of the creator.
action String | "setCreatorName" |
creatorName String | Value to set. |
{"action": "setCreatorName","creatorName": "Jane Doe"}
Set Title
Updates the title of the creator.
action String | "setCreatorTitle" |
creatorTitle String | Value to set. |
{"action": "setCreatorTitle","creatorTitle": "Ms"}
Set Email
Updates the email address of the creator.
action String | "setCreatorEmail" |
creatorEmail String | Value to set. |
{"action": "setCreatorEmail","creatorEmail": "new-email-address@example.com"}
Set Company
Updates the company of the creator.
action String | "setCreatorCompany" |
creatorCompany String | Value to set. |
{"action": "setCreatorCompany","creatorCompany": "New name of company"}
Set Number of Contributors
Updates the number of contributors of the creator.
action String | "setCreatorNoOfContributors" |
creatorNoOfContributors Int | Value to set. Minimum:1 |
{"action": "setCreatorNoOfContributors","creatorNoOfContributors": 123}
Set Support URL
Updates the support URL of the creator.
action String | "setCreatorSupportUrl" |
creatorSupportUrl String | Value to set. |
{"action": "setCreatorSupportUrl","creatorSupportUrl": "https://www.example.com/support"}
Set Creator Logo
Updates the logo of the creator.
action String | "setCreatorLogo" |
logoUrl String | Value to set. |
{"action": "setCreatorLogo","logoUrl": "https://www.example.com/logo.png"}
Update Availability of Connector
Add Project to Private Connector
Allow a Composable Commerce Project to access a private Connector.
Attempting to add a privateProject
to a non-private ConnectorStaged returns the ConnectorStagedNotPrivate error.
action String | "addPrivateProject" |
privateProject | The Composable Commerce Project to add to ^[a-zA-Z0-9-_.]+:[a-zA-Z0-9-_]{2,36}$ |
{"action": "addPrivateProject","privateProject": "europe-west1.gcp:example-project-key"}
Remove Project from Private Connector
Remove a Composable Commerce Project's access to a private Connector.
Attempting to remove a privateProject
from a non-private ConnectorStaged returns the ConnectorStagedNotPrivate error.
action String | "removePrivateProject" |
privateProject | The Composable Commerce Project to remove from ^[a-zA-Z0-9-_.]+:[a-zA-Z0-9-_]{2,36}$ |
{"action": "removePrivateProject","privateProject": "europe-west1.gcp:example-project-key"}
Preview Connector
Requests the previewable status of a ConnectorStaged. Previewable ConnectorStaged should be deployed for testing and preview purposes. You can only deploy previewable ConnectorStaged to Projects listed in privateProjects
.
After using this update action, the status of isPreviewable
will change to pending
. Following validation, the status of isPreviewable
will change to true
if the previewable status is granted, or false
if it is rejected.
In the case of a false
status, contact the Connect support team regarding any issues raised during the validation process.
Requesting the previewable status for a ConnectorStaged that is currently being reviewed returns the ConnectorStagedPreviewRequestUnderProcess error.
action String | "updatePreviewable" |
{"action": "updatePreviewable"}
Publishing and Certification
Publish
Starts the Connector publishing process. You will be unable to update the Connector until the process completes.
certification
should only be true
if you want to make the Connector publicly available.
action String | "publish" |
certification Boolean |
|
{"action": "publish","certification": false}
Unlist
Removes a certified and listed Connector from search results and listings. This update action does not affect deployed instances of the Connector.
action String | "unlist" |
{"action": "unlist"}
Add Certification Comment
Add a comment during the certification process of the Connector.
action String | "addCertificationComment" |
comment String | Comment to add. |
{"action": "addCertificationComment","comment": "The comment to add."}