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 string "sync" (full feed), "delta" (incremental feed), "forcesync" or "forcedelta" (if you want to force removal of > 50% of products)
  • The timestamp (to ensure that old files don’t get overwritten)

❗️

Caution

Both forcedelta and forcesync are powerful tools intended for manual use under specific circumstances. Including these keywords in a catalog file can bypass certain safeguards designed to protect the integrity of your product catalog.

For example, both of these operations ignore the 50% safeguard, which prevents a sync from overwriting an existing catalog. If used carelessly, you could accidentally delete more than half 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 these keywords, 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 items_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 can be uploaded via FTP:

If only a single CSV file is uploaded, you can follow the naming convention preceding with a .csv extension.

If multiple CSV 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.