Simplify commerce integrations
Learn how to simplify your development of commerce integrations by understanding commercetools Connect.
After completing this page, you should be able to:
- Describe the main features of commercetools Connect.
Today’s leading digital commerce solutions combine dozens of technologies together to build cutting-edge customer experiences.
To build a complete solution, data is usually sourced from various specialized applications built to serve specific purposes. For example, your solution will need to integrate with external systems and technologies such as a customer data platform to manage customer records, or an order management system to manage and process orders.
Composable Commerce offers a robust infrastructure for these commerce integrations and commercetools Connect is a key component of this ecosystem. With Connect, there is now a streamlined approach to building and deploying integrations.
From dedicated environments to commercetools Connect
Building and maintaining integrations in the past required creating and managing your own runtime environments, and focusing on managing the uptime.
commercetools Connect was introduced to address this challenge; it lets you add functionality to your Projects without needing to buy and maintain dedicated hosting or runtime environments. Connect can also take over the provisioning and handling of infrastructure needed to run API Extensions or Subscriptions.
What is commercetools Connect?
commercetools Connect is an integration framework with performant and reliable plug-and-play Connectors powered, hosted, and validated by commercetools.
commercetools Connect can be used to write your own custom integration code and run it within the managed commercetools infrastructure, or you can choose from a collection of certified reusable integrations that you can easily deploy in your Project. Connect applications can be developed by any developer, and they are deployed to Projects using the Connect API or from the Merchant Center.
Common use cases for Connect Integrations
The following are just a few of the common integrations that commercetools Connect can help you with:
Type of Integration | Example |
---|---|
Customer Data Platform (CDP) Integration | Connect your commerce platform to a CDP, where customer data is analyzed to drive personalized marketing activities and boost sales. |
Payment Service Provider (PSP) Integration | Seamlessly process payments by integrating with a PSP. |
Order Management System (OMS) Integration | Export orders to an OMS for efficient order processing and management. |
Cart and Price Validation Extension | Implement an extension to validate carts and prices before orders are placed. |
Order Confirmation Email Subscription | Set up a subscription to send order confirmation emails automatically. |
Key benefits of Connect
Fast Time-to-Market: Configure and provision infrastructure swiftly.
Performance Assurance: Guaranteed performance and uptime Service Level Agreement (SLA) for all Connectors.
Connector Options:
Pre-built Connectors
Enhanced Connectors
Custom Connectors
Release highlights
commercetools Connect was initially released in mid-2023, and there have been a number of updates since then:
commercetools Connect itself was launched in public beta in June, 2023.
A major release took place in September with improvements in publishing and deploying Connectors. In the same month, commercetools Connect achieved general availability status.
Required and default options were added to the configuration defined in connect.yaml.
In October, support was added for Custom Applications.
Added integrationType field to Connector and ConnectorStaged.
Support for deployment logs was added. This creates a feedback loop to help during the deployment process.
Let's dive further into the details of Connect.
Connect applications and Connectors
Two of the core features of commercetools Connect are Connect applications and Connectors. Understanding both of these is important to being able to work closely with Connect.
The Connect API uses the concept of Connectors to collectively represent the Connect applications along with the configuration needed to deploy those applications. Connectors can be made public or kept private.
Connectors are made up of one or more Connect applications, each providing a functionality in the solution that the Connector provides. Let’s talk about Connect applications first.
Connect applications
A Connect application is a small service developed in JavaScript/TypeScript. Connect applications have a clearly defined type based on the action they perform. They use the extensibility features of Composable Commerce to integrate with Composable Commerce.
An example of a Connect application would be a service type Connect application that connects to the payment gateway. This application would be able to integrate a payment gateway into any Composable Commerce project with minimum configuration required.
Five types of Connect applications exist:
Connect Application type | What it does | Interaction with Composable Commerce |
---|---|---|
Service | Uses an API Extension or a webhook to plugin your custom code. | Synchronous: data is sent to your application. If using an API Extension, all API processing halts as Composable Commerce awaits the application's response. If using a webhook, Composable Commerce does not need to pause as it is designed to be invoked by an external system to notify Composable Commerce of relevant events. |
Event | Uses Subscriptions to receive notifications and process them asynchronously. | Asynchronous: data is sent to the Connect application's pub/sub queue for processing asynchronously. |
Job | An application that runs at a scheduled time. | Cron job: application that runs at scheduled time or interval. It requires a schedule in cron expressions as part of the configuration. |
Merchant Center Custom Application | Custom Applications built to add functionality to the Merchant Center UI. | Custom Application: a custom UI interface to help manage and configure the integrations. |
Asset | Host static assets used by other applications. | N/A |
A note on Custom Applications:
Developing and deploying Custom Applications still works as before. Using Connect with Custom Applications is another way to develop and host Custom Applications, with the big advantage being that you no longer need to host your Custom Application.
Read more about Connect applications in our guide in the docs.
Connectors
A Connector in commercetools Connect is designed to be a complete solution for an integration of an external system with a Composable Commerce Project. It consists of one or more Connect applications.
We can see below an example of a Connector. It contains three Connect applications, each with the following objectives:
- A service Connect application that adds a configurable sample product if the cart is more than a certain amount (free-sample-product-service).
- An event Connect application that adds new products to the new Category (new-product-event-app).
- A job Connect application that runs daily to remove the products older than a month from the new category. (new-category-cleanup-job).
Read more about Connectors in our guide in the docs.
Use case: Use integrations in your Cart processes
Let’s take a simplified example to look at how these Connector and Connect applications might be put to use. We have a retail store called Goods Store. They are expanding their digital commerce offering by developing a Composable Commerce solution. The developers in charge of implementing this project have three requirements that will require integrations:
- Distribute a selected product as a free sample in selected quantities. This product should be automatically added (free of charge) to any cart with Cart Total more than the configured amount.
- All new products must be automatically added to the New Arrivals category which is configurable.
- New products must be automatically removed from the New Arrivals category after 30 days.
To accomplish this, they decide to build a Connector and within the Connector, three Connect applications (one for each requirement): you guessed it, they are the three Connect applications we mentioned above!
Requirement | Type of Connect Application |
---|---|
Distribute a sample product. | A service Connect application that adds the sample product to the cart when its total value is more than a certain amount. |
Add new products to the New Arrivals Category. | An event Connect application that adds all new products to the New Arrivals category. |
Clean up Job to remove older products from the New Arrivals category. | A job Connect application that runs daily to clean the New Arrivals category. |
The Connector in this example defines three Connect applications. Whilst being in the same Connector, each Connect application is working with a different aspect of the checkout process. The Service Connect application deals with Cart and Order management, while the Event Connect application manages the categories.
Nice work! Let’s review some of the key knowledge in this knowledge check!