FTPS connection and transfer details

The Constructor feed system enables rapid deployment of the Constructor product discovery platform on customer properties by simplifying the data integration between Constructor and customer systems. Details of the FTPS system are below.

FTPS

Address

The feed server can be reached at ftp.cnstrc.com.

Protocol

The feed server supports the FTPS (FTP+TLS) protocol for secure connections. To connect use the following settings:

  • Explicit TLS
  • Passive mode
  • Both control and data channels encrypted
  • Control channel port: 21
  • Data ports: 30000 to 30009

If you are using Camel or Apache FTP clients, please set the remote verification flag to false. This is necessary because our FTP servers are load-balanced and data connection IPs will differ from control connection IPs. Example:

FTPClient ftp = new FTPClient();
ftp.setRemoteVerificationEnabled(false);

Also, please do not block outgoing connections or whitelist IPs behind ftp.cnstrc.com or ac.cnstrc.com as these may change at any time.

Access

Access is controlled with the same login email as your administrative dashboard and uses a separate FTP login password which can be accessed under the FTP Credentials tab in the integration section of the dashboard. We recommend creating a role-based account ([email protected] or similar) to be used for the purpose of integrating with the FTP endpoint, but individual accounts can be used for ad-hoc access.

File naming

File names should contain these four pieces of information separated by underscores:

  • The API key
  • The section name (usually "Products")
  • The operation keyword:
    • sync - Replace the entire catalog
    • delta - Update or add item, variation, or item group records
    • patchdelta - Update one or more item attributes or variation attributes (fail if file contains new items)
    • patchdeltacreate - Update one or more item attributes or variation attributes (add new items)
    • patchdeltaignore - Update one or more item attributes or variation attributes (ignore new items)
    • delete - Delete specific data and behavioral learnings from the catalog
    • whitelist - Keep specific data and behavioral learnings in the catalog, delete rest of the data and behavioral learnings
  • The timestamp (to ensure that old files don't get overwritten)

Learn more about catalog upload operations.

We will automatically fail ingestion attempts that would remove many products (by default 50% of catalog). To override this behavior, send the catalog with the filename keyword force.

❗️

Caution

force operations are powerful tools intended for manual use under specific circumstances. Including this keyword in a catalog file can bypass certain safeguards designed to protect the integrity of your product catalog.

For example, these operations ignore the safeguard (by default 50%), which prevents a sync from overwriting an existing catalog. If used carelessly, you could accidentally delete a significant number of your products. If a significant number of products are unintentionally removed, it could affect the availability of items for customers, leading to a poor user experience and potential loss of sales.

If you wish to use the force keyword, we recommend you first reach out to your Customer Success Manager to discuss your specific needs before proceeding.

Examples

key_7AeGOdJ9BxmKF942_Products_sync_2020-02-10-16-18-00.tar.gz

  • TAR files can include one, two, or all three files: items.csv, variations.csv, and item_groups.csv

key_7AeGOdJ9BxmKF942_Products_sync_2020-02-10-16-18-00.csv

  • CSV files can be used if sending the items.csv individually

Feed formats

Three different kinds of feed files (in multiple formats: CSV, JSON and JSONL) can be uploaded via FTP:

Items: Products shown as results on product listing pages (search, browse)

Variations: Not all product catalogs have variations. Variations refer to child items that can be shown as swatches of top level results on product listing pages

Item groups: Hierarchy definition of groups for organizing products

If only a single catalog file is uploaded, you can follow the naming convention preceding with a .csv, .json or .jsonl extension.

If multiple catalog files are uploaded, they should be grouped together and compressed as a .tar.gz file using the naming conventions preceding.

For help creating a .tar.gz archive, please refer to how do I create a gzipped tar archive?.

File types

Feeds may be full feeds of your entire catalog, or partial / delta feeds of changes since those most recent full feed. Customers often send full feeds daily and partial / delta feeds periodically throughout the day as inventory or other product data changes.

Partial / delta feeds should contain all the metadata for each item included, even if only some of it has changed.

Ingestion status

You can view the ingestion status of your feed by visiting the FTP Ingestion Status page of your customer dashboard. This page will display whether a feed was ingested successfully, and show any errors that may have been encountered. You can also use the Tasks endpoint of our API to retrieve ingestion status.