The FTP API allows you to manage Product data for a Catalog through simple batch processes. 


API Commands for Product Feed management include:

Data Delivery

Data can be delivered to servers using FTP.  Both FTP and SFTP (also known as SSH File Transfer Protocol or Secure FTP) are supported. 

  • SFTP – This is the file transfer technology used in the secure shell (SSH) application. It is widely used and is supported by many popular FTP clients.  All data is encrypted automatically in transit to the servers and this is the preferred delivery mechanism.
  • FTP – Plain FTP is the other way to send your files to the servers.  It does not, however, offer any encryption and is therefore not the preferred method of delivery.  If you wish to use this method, you must provide written notice that you understand the risks posed by not using encryption to deliver your data.

Sending Data 

Each data file that is pushed via FTP or SFTP requires two files, Data and Signal.  They each have a particular format.

File Examples

Data File 

  • Accepted file formats of data files 
    • Tab-delimited plain text file (Recommended)  
    • CSV (comma-separated values) text file
  • The Data File contains the Header and the Commands to run.  It must be saved with a .dat extension, for example myrealm_202006_productfeed.dat
  • File will need to contain header info that includes Realm Name, Password, API Command (i.e. productfeedsave), and config settings. Example:

Signal File  

  • For each data file that is sent to the server, there must be a corresponding signal file.   

  • The Signal File should be empty.  It must be named the same as the Data file, but be saved with the extension .sig, for example  myrealm_202006_productfeed.sig:

<Empty File>

  • These files are transmitted to the server only after the corresponding data files have been fully transferred.   

    • These files signify to the servers that the data files have been fully delivered and are ready to be processed.  

Data Field Definitions  

  • This is a list of fields and descriptions that are currently supported in Product files

    • Note: All fields listed below should be provided if available.   

    • Required fields must be provided for the system to accept the data.   

    • Any fields listed below which are not provided may limit the ability to fully utilize the service. 

Products Data 

A file can only contain products for a single Catalog. Products for other catalogs will be disregarded.

Product ID + Catalog ID is the primary key.

The Product ID from the product feed described below is matched to the event’s ‘properties’->>‘id’ field for a product.  It’s critical this be considered when deciding what to provide in the respective ID fields so they will match when performing Browse and Cart Recovery marketing campaigns. 

Field Name 


Field Description 


Primary Key

Field Type: Text 

Product identifier.  This may be the same as the VSKU below.


Primary Key 

Field Type: Text 

Store identifier 


Field Type: Text (Values: Y, N)

Set to ‘Y’ if the product is active and visible on-site.  Set to ‘N’ if the product is currently disabled. Products set to N will not be included in email campaigns.


Field Type: Text (Values: In stock, Available for order, Out of stock, Preorder)

Current availability status of the product. A setting can be enabled to check the status of this field before including product in email campaign.


Field Type: Text 

The unique SKU or VSKU for a given product record.  For variants or products without a parent record, this is the complete unique SKU for a given product as it would appear in the order details.  For parent records, this would be the SKU that appears in the PSKU field of each variant of that product. This should be unique for each product record.


Field Type: Text 

Parent SKU or shared identifier across variants of a given product.  This is like the item group id in the Google Product Feed specification.  If no Parent SKU exists, copy VSKU here.  A parent product record is required for variants with a PSKU.  In other words, every parent product must have a product record separate from its variants.


Field Type: Text 

Category the product is assigned to.  If more than one category is assigned to a given product, then the categories should be enclosed by double quotes (") (the beginning and end of the value to be inserted) and separated by commas (,).  For example: 

"Paper > Copy Paper,Paper > Printer Paper" 


Field Type: Text 

Product title at the Parent SKU level 


Field Type: Text 

Product title at the VSKU level 


Field Type: Text 

URL for the product at the parent SKU level including http:// or https:// prefix 


Field Type: Text 

URL for the product image at the parent SKU level including http:// or https:// prefix 


Field Type: Float

Product Price for this variant 


Field Type: Text 

The currency used in the price field. This must be a valid ISO 4217 alphabetic code. 


Field Type: Text 

Brand of the product 


Field Type: Text 

Manufacturer of the product 


Field Type: Integer 

Current quantity in inventory 


Field Type: Text 

Product color or colors 


Field Type: Text 

Product size 


Field Type: Text (Values: Male, Female, Unisex)

Gender for the product specified


 Feature released in v15.14.00


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk