Sync Products, Shipping Requests, Inventory, Fulfillments, and Locations over FTP.
Pipe17 supports the following flows for the FTP Fulfillment Connector:
- Push Products to FTP Fulfillment
- Push Shipping Requests to FTP Fulfillment
- Pull Fulfillments from FTP Fulfillment
- Pull Inventory from FTP Fulfillment
- Pull Locations from FTP Fulfillment
In this article
- Connecting FTP Fulfillment to Pipe17
- Connection Flow Settings
- Integration Specific Settings
- Sample Files
- Pipe17 Account - Ensure that you have a Pipe17 account or sign up for a free trial here.
- FTP Fulfillment Account - Ensure you have details of your FTP server handy.
Connecting FTP Fulfillment to Pipe17
Navigate to Integrations in your Pipe17 portal and click on "Add Integration" to add the FTP Fulfillment connector to your account.
Find the FTP Fulfillment Connector and Click on Add.
The Connection Flow Settings page is displayed, you can choose your settings now or after the connection is established by navigating to the Integrations page.
Choose one of FTP, FTPS, or SFTP. Please make sure this matches the protocol of your FTP server.
Hostname or IP address of your FTP server.
Note: this is the domain name without the protocol. Ex: If your FTP server address is ftp://myftpserver.cloudhost.com. Then the host would be myftpserver.cloudhost.com
The port on which to connect to your FTP server. It is typically a 2 or 3 digit number like 20, 21, 22, 990 etc.
Note: The port should be accessible i.e. not blocked by a firewall etc.
FTP account’s username
FTP account’s password
Select the file format to import/export entity data.
There are 4 primary choices: JSON (default), CSV (unwind), CSV(flatten), JSON.
There are also 3 file formats specific to the respective Connectors: CSV (Extron), CSV (Aspen), XML (SantaFe). Choose these only if you are working with that specific connector mentioned in the brackets.
Operation after processing inbound file:
Strategy to indicate the file was processed by Pipe17.
You can either choose to remove the file from the server or move the file to a folder named processed. It is expected that the folder named processed exists at the location from which the file was read.
Delimiter for CSV Columns:
Choose a delimiter for CSV files in case you wish to use something other than comma (,). Comma is the default value.
Allow case-insensitive fields when pulling data from CSV:
The recommended setting for this field is off.
When turned on this setting ignores capitalization of fields in the data, and it works only on data coming into Pipe17.
Note: Your FTP server must whitelist the following IP ranges:
develop: 18.104.22.168 stage: 22.214.171.124 master: 126.96.36.199
Connection Flow Settings
Products: Set to either Push to FTP or Disabled.
Push Products → pushes Product Catalog updates into FTP starting from the datetime when the FTP Integration was enabled on Pipe17.
Shipping Requests: Set to either Push to FTP, or Disabled.
Push Shipping Requests → pushes Shipping Requests into FTP starting from the datetime when the FTP Integration was enabled on Pipe17.
Fulfillments: Set to either Pull from FTP or Disabled.
Pull Fulfillments → pulls Fulfillments updates from FTP starting from the datetime when the FTP Integration was enabled on Pipe17.
Inventory: Set to either Pull from FTP or Disabled.
Pull Inventory → pulls Inventory updates from FTP starting from the datetime when the FTP Integration was enabled on Pipe17.
Locations: Set to Pull from FTP by default. This setting cannot be turned off since Order Processing depends on Location information.
Integration Specific Settings
Note: Entity files uploaded by Pipe17 to FTP server will have 1 entity per file. However, Entity files downloaded by Pipe17 from the FTP server can have multiple entities per file, it will be processed accordingly.
Create default location only: Choose this option if you want to use a dedicated location only for this integration.
Pull locations from FTP path defined below: Choose this option if you receive regular updates to locations on the FTP server by providing a path to pull new locations from.
Create default and Pull locations from FTP: Choose this option if you want to do both of the above. Pipe17 will create a default location for you and also pull location updates from the FTP server.
Specify the path Locations should be pulled from: enter the folder path on your FTP server from where Pipe17 will pull Locations.
Specify the path Shipping Requests should be uploaded to: enter the folder path on your FTP server from where Pipe17 will upload Shipping Requests.
Specify components to be included in generating the shipping request file name: choose to include the OrderId, Timestamp, and Entity Type - in this case is shipments; in the filename.
The default format is OrderID-Timestamp.csv Ex: SH1245-20230103004531.csv
Special characters in the Order Id are converted to an underscore (_)
Specify options to be processed within selected file conversion: this is an advanced setting used to pass along customer specific field values along with each Order. This setting works only with Aspen, Extron, SantaFe vendors. Please get in touch with Pipe17 Support to configure.
Specify the path Fulfillments should be downloaded from: enter the folder path on your FTP server from where Pipe17 will pull Fulfillments.
Specify the path where Products should be uploaded to: enter the folder path on your FTP server from where Pipe17 will upload Products.
Specify components to be included in the generated Product file name: choose to include the SKU, Timestamp, and Entity Type - in this case is products; in the file name.
The default format is SKU-Timestamp.csv Ex: AM1005-20230103004531.csv
Process only Products with specific SKUs: filter to process only the Products with SKUs listed in this field.
Force product catalog resync: turn this on and click save to re-pull all Products from the FTP server.
Specify the path Inventory should be downloaded from: enter the folder path on your FTP server from where Pipe17 will download Inventory from.
Process only Inventory Items with specific SKUs: filter to process Inventory only for the Products with SKUs listed in this field.
Mappings can be applied to either data coming from FTP channel to Pipe17 or going to FTP channel from Pipe17.
Mappings can be used to do simple renaming of field names between source and destination. It can also be used to limit the fields for input or output to/from the FTP channel.
An additional way of doing mappings is by using a csv file called mappings.csv placed under the root folder of the FTP server.
Sample mapping file: https://drive.google.com/file/d/160dlutrTPMU5jDM4swDiwZMpyj0CSCZm/view?usp=share_link
The mapping file has 3 columns, first column is the entity type, second column is the field name in Pipe17 and third column is the field name expected in FTP. The renaming of fields works in both directions. The mappings do not affect the structure of the data, only the names of fields.
Please note that if there are any errors in the mappings.csv file the mappings will not be applied and you will not see any changes on the field names.
- What happens when a file has an error and does not process properly?
- The file is moved to the processed folder regardless of whether the data in the file was processed without error.
- Support engineers will be able to help recover from such errors.
- What happens if a specified folder path is not available on the FTP server?
- For the folders that Pipe17 will download from – The connector fails silently and the action configured for that path does not process. Ex: if the locations folder is missing, then locations will not be pulled in to Pipe17.
- For the folders that Pipe17 will upload to – A failed event with details can be seen for the related Entity.
- How many rows / entities can a file that is downloaded by Pipe17 have?
- 5000 rows on average is okay. 10000 rows is a lot to process.
- What happens if a large file is available for Pipe17 to download?
- Pipe17 will try to load a file. If we are unable to load it, then we keep retrying.
- In the case where Pipe17 loads the file but does not process it completely, it will keep trying the last location in the file where processing stopped until it can completely process the file. In a situation where Pipe17 is unable to process the file, it keeps retrying until this file exists.
- Can a file that has been uploaded to the FTP server for Pipe17 to download be updated?
- We recommend that the files not be altered once they are placed on the FTP server.
- If there are any updates that need to be made, you can create a new file
- Is there any restriction on the filenames that are uploaded to FTP?
- We recommend that the files be named uniquely, this will help in troubleshooting any issues.
See attached "FTP Fulfillment Samples.zip" for samples that includes sample formats for:
- Location (in)
- Shipping Request (out)
- Fulfillments (in)
- Products (out)
- Inventory (in)