ROM V2 is a logistics connector that enables the app to integrate with ROM, a warehouse management system. The ROM V2 Fulfillments integration supports bidirectional data exchange for orders, fulfillments, inventory, and locations using a hybrid communication model:
- APIs and webhooks for shipping requests and fulfillments
- SFTP for inventory file ingestion
- Manually configured warehouse locations in the app
Compared to ROM v1, ROM v2 uses webhooks for fulfillments, enabling near real-time shipment updates instead of scheduled polling.
Prerequisites
Before configuring the integration, request the following information from the ROM team:
API base URL (environment- and customer-specific)
Store ID
API key
Connection Protocol/Type: SFTP or FTPS preferably
Host: Provided by ROM
Username: Provided by ROM
Password: Provided by ROM
Location IDs used in ROM inventory files
ID prefixes for orders, fulfillments, customers, or SKUs (if required)
All values are provided by ROM and are unique per customer.
Connect ROM V2 Fulfillments
Sign in to the app.
Go to Connections → Add Connection → ROM V2 Fulfillments.
Fill in the corresponding fields mentioned in Prerequisites, or add the integrations without credentials that can be inserted later.
How the Integration Works
The ROM v2 integration manages multiple independent data flows between the app and ROM:
Orders are sent to ROM as shipping requests using APIs.
ROM gets shipping request status updates from the app.
When orders ship, ROM sends fulfillment data to the app via webhooks.
Inventory updates are delivered as files over SFTP and processed on a schedule.
Locations are configured in the app and referenced during routing and inventory updates.
Each flow can be enabled or disabled independently to support phased onboarding and controlled go-live.
Understanding Integration Flow Status
In the app, each ROM v2 data flow, except Locations, can be turned on or off. This allows you to control which parts of the integration are active at any given time.
Common Flow States
Fulfillments (In)
When disabled, shipment confirmations and tracking details are not received. This flow is usually enabled after webhook validation.Inventory (In)
When disabled, inventory files from ROM are not processed. This flow is typically enabled after SFTP validation.Locations (In)
Warehouse locations are available for routing and inventory association. This flow is typically enabled by default.Shipping Requests (Out)
When disabled, orders are not sent from the app to ROM. This is common during initial setup, testing, or when ROM is not yet ready to accept orders.
ROM v2 Fulfillment Connector Settings
Connection Details
These settings define how the app connects to ROM’s API and file servers.
Setting |
Purpose |
How It’s Used |
|---|---|---|
API Base URL |
Base endpoint for all ROM API interactions |
Used for authentication validation, sending shipping requests, and receiving webhook-based updates. ROM provides different URLs for testing and production environments. |
Store ID |
Identifies your store or account within ROM |
ROM uses this value to route requests to the correct customer account. Provided by ROM during onboarding. |
API Key |
Authenticates API and webhook requests |
Included in all API calls to verify access permissions. Provided securely by ROM. |
Communication Protocol |
Defines how files are transferred between systems |
Supported options include FTP, FTPS, and SFTP. SFTP and FTPS are recommended for inventory transfers due to stronger security. |
Disable TLS Validation |
Controls SSL/TLS certificate verification |
When enabled, certificates are validated (recommended for production). When disabled, validation is skipped (testing only). |
Host |
Identifies ROM’s FTP/SFTP server |
Required for inventory and other file-based integrations. Provided by ROM. |
Port |
Specifies the network port used for file transfers |
Common ports include 22 (SFTP), 21 (FTP), and 990 (FTPS). Provided by ROM. |
Username |
Authenticates access to ROM’s file server |
Required to download inventory files and other inbound data. Provided by ROM. |
Password/Key |
Completes FTP/SFTP authentication |
Supports password-based or SSH key-based authentication (SFTP). |
Inbound File Processing Action |
Determines what happens to files after download |
Files can be deleted, moved to a processed or archive folder, or left in place. Choose the Add '.processing' Extension (Rename) option from the dropdown. Proper handling prevents duplicate processing. |
Post-Processing Action |
Defines optional actions after successful file processing |
May trigger downstream workflows or notifications, depending on configuration. Choose the Move to './processed' Folder option from the dropdown. |
Upload Results for Incoming Files |
Controls whether processing results are sent back to ROM |
Used when ROM requires confirmation that inbound files were successfully processed. |
Order ID Prefix |
Adds a prefix to order IDs sent to ROM |
Helps ROM distinguish orders from the app and avoid ID conflicts. |
Customer ID Prefix |
Adds a prefix to customer identifiers |
Used when ROM requires customer IDs in a specific format. If blank, IDs are sent as-is. |
SKU Prefix |
Adds a prefix to product SKUs |
Helps ROM identify products originating from the app. |
Integration Settings
These settings control which data flows are active and how data is processed.
Core Data Flows
Setting |
Purpose |
How It’s Used |
|---|---|---|
Shipping Requests (Out) |
Sends orders to ROM for fulfillment |
Orders are transformed and sent via ROM’s API once routed to ROM. Enable when ROM is ready to receive live orders. |
Fulfillments (In) |
Receives shipment confirmations and tracking details |
ROM sends fulfillment data via webhooks when orders ship. Keeps orders and sales channels in sync. |
Inventory (In) |
Pulls inventory data from ROM |
Inventory snapshots are delivered via SFTP and synced into the app. Enable after SFTP validation. |
Location (In) |
Syncs warehouse locations into the app |
Locations are required for order routing and inventory association. Typically enabled early in setup. |
ROM v2 Fulfillment Settings
Setting |
Purpose |
How It’s Used |
|---|---|---|
Pull Shipping Request Statuses from ROM |
Retrieves order and fulfillment status updates from ROM and syncs them back to the app |
The connector monitors inbound order status data from ROM and processes updates for orders previously sent for fulfillment. |
Shipping Requests
Setting |
Purpose |
How It’s Used |
|---|---|---|
Process only shipping requests with specific order IDs |
Limits which shipping requests are sent to ROM based on order identifiers |
When configured, only shipping requests whose order IDs match the defined criteria are processed. This helps control order routing when multiple fulfillment providers are used, prevents duplicate submissions, and supports phased rollouts or testing scenarios. If not configured, all eligible shipping requests are sent to ROM. |
When a line in a shipping request is canceled in ROM Fulfillment, create a rejection fulfillment in Pipe17 |
Handles partial line-item cancellations reported by ROM |
When enabled, the connector detects canceled line items from ROM status updates. For each canceled line, the app creates an exception on the shipping request and generates a rejected fulfillment record for the affected quantities. This allows canceled items to be tracked, rerouted, or handled manually. |
ROM supports cancellations at the line-item level only. Full order cancellations are reported as exceptions.
Inventory Settings
Setting |
Purpose |
How It’s Used |
|---|---|---|
Specify the path where inventory should be downloaded from |
Specifies where ROM places inventory files |
The app monitors this directory and processes new files on a schedule. Supported pattern rules:
Use a pattern that uniquely identifies ROM inventory files to avoid ingesting unrelated data. |
Enter the filename pattern used to detect inventory files |
Identifies inventory files and parsing rules |
Used when ROM places multiple file types in the same directory. |
Inventory SKUs |
Limits inventory processing to specific SKUs |
Useful for large catalogs or phased rollouts. If empty, all SKUs are processed. |
Force Inventory Resync |
Triggers a full inventory refresh |
Overwrites existing inventory with a complete snapshot. Use temporarily, then disable. |
Location Settings
Setting |
Purpose |
How It’s Used |
|---|---|---|
ROM Locations |
Limits which ROM locations are synced |
Useful when ROM manages multiple warehouses but only some are used. If empty, all locations are synced. |
Mappings and Defaults
Inventory quantity mappings may differ between ROM v1 and v2.
Some required fields are populated with default values when ROM does not supply them.
Shipping methods and fulfillment channels may default when line-level values are not provided.
Locations and products are managed within the app and not retrieved via ROM APIs.
Typical Setup Workflow
Configure API and SFTP connection details
Create locations using ROM location IDs
Enable shipping requests (outbound)
Enable shipping request status updates
Enable fulfillments (inbound)
Enable inventory ingestion
Apply filters and prefixes as needed
Troubleshooting
Inventory Not Updating
Confirm the processed folder exists on the SFTP server
Verify the inventory path matches the SFTP directory
Check that the file pattern matches ROM inventory files
Confirm location IDs match the app configuration
Fulfillments Not Appearing
Verify API base URL, Store ID, and API key
Confirm webhooks are enabled and reachable
Validate ID prefixes with ROM
Repeated Inventory Updates
Ensure processed files are moved to the processed folder
Avoid leaving inbound files unprocessed
Need Help?
If you need additional assistance:
Use Ask Pippen, our AI agent, located at the top of the app page.
Submit a support request with as much relevant detail as possible. Learn how to submit a request.
For urgent issues, email us directly at support@pipe17.com.
We're here to help you succeed with your operations.
Comments
0 comments