Customer Platform Connections and Sync Options
ach Customer of CrescoData is set up in their separate environment to provide absolute data security. Each environment is secured with ACL passwords.
All data that is passed and stored is encrypted.
Data can be sent to the CrescoData platform in any of the following formats.
- CSV/TSV
- XML
- JSON
This data can be sent via any of the following transfer methods.
- API
- FTP
- Google Drive
For any transfer method, CrescoData supports:
- regular pulls to check for updates, and
- real-time notifications via
- full API integrations
- webhooks
API Connection methods
Authentication Process
Authentication to the CrescoData API is done using a client id / secret as well as a username and password. These credentials will be issues by CrescoData and provided during the on-boarding process.
Standard API
The CrescoData API gives access to all of CrescoData’s services such as:
- Account setup and maintenance
- User setup and maintenance
- Status monitoring and alerts
- Reporting data
- Orders
- Products
All communication uses the CrescoData format which is outlined in the CrescoData API Documentation. This means, orders, products and all other data sent to or provided by the system, will be in the CrescoData format unlike the formats used in the Streams and Webhooks APIs.
APIs - Streams API
The Streams API is a set of API endpoints that supports sending data in a pre-defined custom format to the CrescoData system which will automatically map it into the CrescoData format thereby removing one step that would have to be taken by any integration.
The Streams API uses the same authentication as the standard CrescoData API unlike the Webhooks API which is a simpler signature based authorisation.
The workflow of the Streams and Webhooks APIs are identical. The Streams API is available to offer a single authentication method for integrations that also use the CrescoData API for account setup.
APIs - Webhooks API
The Webhooks API is a set of APIs that allows sending data to CrescoData in a custom predefined format.
The authentication for the Webhooks API depends on the integrations but is usually signature based. The workflow of the Streams and Webhooks APIs are identical. The Streams API is available to offer a single authentication method for integrations that also use the CrescoData API for account setup.
Account setup - Integrations - channels and source integrations
Integrations are used to inform the CrescoData platform how channels and source systems connect to an account and how data should be distributed between each.
A standard workflow to setting up an account with product sync would be:
- Create a merchant
- Add a source system to retrieve products from
- Add a channel to send products to
- Optionally:
- Add the same channel as a status and response source to retrieve real-time alerts and monitoring
- Add the source system (or any other system) as a destination for status and responses messages
In principle, it is also possible to add source destinations and use the CrescoData API to periodically check for updates rather than having the CrescoData platform send those updates in real-time to any subscribed system.
When adding integrations to an account, meta information has to be provided which differs for each channel. Depending on the authentication method and details needed for that particular integration, meta information might include a username, password, api key, CrescoData OAUTH identifier and any other information needed to retrieve information for a particular account such as an account id.
When integrations are added to an account, the CrescoData platform will automatically attempt a test connection to valid the meta information is correct and the system can be connected to. Any failure to do so will mean the integration does not get added and the error message is returned immediately.
Account setup - Authentication flow
Some source systems and channels follow an OAUTH authentication flow.
CrescoData can work in two fashions with those integrations:
- Becomes the host of the redirect URI
- Redirect back into an integration partners redirect URI
For partners that wish to host their own redirect URI, CrescoData will do the necessary account setup steps.
For self-hosted or CrescoData hosted redirect URIs, once a channel has been added, the CrescoData API will return an authorisation URL that the end-user will need to be directed to. This page will:
- Open the channel specific authentication page (which might include a login first)
- After successful authorisation, will redirect the user to CrescoData for us to record that the integration is now live
- Optionally redirect the user on towards the integration partner redirect URI at which point any further steps can be taken
Sync Types
Sync Types - Products
A feed that provides access to real-time product information.
This includes the full product record incl. images, stock levels, pricing and product details. Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Orders
A feed that provides access to real-time orders as well as order updates.
Different order statuses often trigger different flows depending on the channel. Some channels have timelines that need to be met during which the order needs to follow a certain flow of order statuses, i.e. pending to ready-to-ship to delivered.
Order status changes can be sent to this feed as deltas.
Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Stock feed
A feed that provides real-time information about stock levels for products.
Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Prices
A feed that synchronises price, sale price and start / end times. These prices can be scheduled with overlapping intervals. The CrescoData platform will take care of applying the right promotion at the right time if the channel does not support overlapping promotions.
Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Statuses
A feed providing access to real-time feedback from channels reg. the listing quality. This is often referred to as a QC status on a range of marketplaces and is available in the seller center of the marketplace as a product feedback section.
Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Responses
A feed providing access to real-time channel responses that were returned when updates were being sent, i.e. when a product was published.
The amount of data available depends on what update triggered the response, e.g. a product update might return a list of all incorrectly specified attributes in some channels or it might simply return a success message in which case the Status sync type can be used to retrieve further details.
Data for this feed cannot be sent via the streams or webhooks APIs as it is data that is being recorded by the CrescoData platform and made available as a real-time feed automatically.
Sync Types - Images
A feed that allows synchronising images only without price, stock or other product updates.
Data can be sent to this feed via the streams, webhooks and standard APIs as well as automatically retrieved by the CrescoData platform.
Sync Types - Adding Merchants + Channels
Once your platform is connected to CrescoData you have access to all the CrescoData channels and can start publishing seamlessly. You can add new merchants.
Adding of merchants or new channels can be done via the Cresco API - this would allow you to offer functionality in your UI where users can add new channels without ever leaving Edge. The Cresco API automatically verifies provided details for each channel are correct and have the required permissions and return the channel specific errors messages
Alternatively this can also be done through The CrescoData Management Portal