Zanders as a Source

Zanders is a wholesale distributor specializing in firearms, ammunition, hunting gear, and outdoor sporting goods. Serving licensed dealers and retailers, they offer a vast selection of products from top brands, competitive pricing, and reliable distribution services.

 

How To Connect

📋 Phase 1: Initial Setup +
Create Zanders Source
Log into Flxpoint, go to Connections > Fulfillment Sources, and click + Add Source. Name it "Zanders" and click Save.
Start Integration
After saving, click Get Started on the "You have not created any integrations yet" message.
Find Zanders
Select Flx Supplier Directory, search for "Zanders", and click Select. Confirm you have a reseller account by checking the box.
Tip: Have your Zanders account credentials ready before starting this process. You'll need both FTP and API credentials.
🔐 Phase 2: FTP Connection Setup +
Enter FTP Credentials
In the Authentication Details section, enter your Zanders-provided:
  • FTP User: Your Zanders username
  • FTP Password: Your Zanders password
  • FTP Port: Usually 21 (default FTP port)
  • FTP Host: The Zanders FTP server address
Select Connection Options
  • FTP Protocol: Select "FTP" (standard) from the dropdown
  • File Transfer Mode: Choose "Binary file type" (recommended for inventory files)
Advanced Options
  • Maintain Constant Connection: Toggle ON to keep the connection active throughout the integration (recommended)
  • Use Unbuffered Private Data Channel: Usually leave OFF unless needed for troubleshooting
What these settings do: The FTP connection is how Flxpoint will retrieve inventory data from Zanders. Binary file type ensures that files download correctly, while maintaining a constant connection can improve reliability.
🛒 Phase 3: Order Processing Setup +
Configure Order Sending
In the Send Orders section:
  • Toggle Automatically Send Orders to ON
  • Note: Zanders requires a separate connection for order processing
Enter API Credentials
  • Main Account Username: Your primary Zanders account username
  • Main Account Password: Your primary Zanders account password
  • Environment: Select "Production" (or "Sandbox" for testing if available)
Set Up Category-Specific Accounts (if applicable)
If you have separate Zanders accounts for different product categories:
  • Enter Firearm Account Username/Password for firearm products
  • Enter Accessory Account Username/Password for accessory products
Leave blank if you use a single account for all products.
Why this matters: The API credentials enable Flxpoint to automatically send orders to Zanders. Separate category accounts let you manage different product types through their respective Zanders accounts.
✅ Phase 4: Finalize Setup +
Configure SKU Mapping
In the Master SKU section, set up your preferred SKU mapping (Inventory SKU → Master SKU → Listing SKU). Consider adding a SKU prefix if you need to identify Zanders products in your system.
Save Configuration
Review all settings, click Continue and then Save to complete your Zanders connection setup.
Next Steps: After saving, Flxpoint will begin syncing with Zanders. The initial inventory sync may take some time to complete. You can monitor the progress in the Integrations section.

 


Product Operations

The primary operation handles the bulk of your inventory management needs, while the secondary operation allows for more detailed control, such as focusing on specific products or updates.

Get Inventory and Pricing & Quantity

Zanders - Get Inventory & Pricing and Quantity

Introduction to Zanders - Get Inventory & Pricing and Quantity Integration
The Zanders - Get Inventory & Pricing and Quantity integration automates the process of retrieving product data and real-time inventory information from Zanders to keep your Flxpoint system updated. This integration pulls comprehensive product details—like descriptions, dimensions, pricing tiers, and inventory quantities—from Zanders via FTP, ensuring you always have accurate information for your sales channels. The process involves connecting to Zanders' FTP server, importing product data, mapping fields, applying custom rules if needed, and processing inventory updates either manually or on a schedule. Let's walk through each component to get you started!

The Zanders - Get Inventory & Pricing and Quantity integration connects your Flxpoint system to Zanders to:
  • Retrieve comprehensive product data including descriptions, images, dimensions, weights, and product specifications.
  • Import real-time pricing information with support for tiered pricing (Price1, Price2, Price3).
  • Pull accurate inventory quantities to ensure you're always selling products that are in stock.
  • Map Zanders' product fields to your Flxpoint system to create a standardized product catalog.
  • Keep your product information and inventory levels synchronized with minimal manual intervention.

This integration follows a clear, step-by-step process to bring Zanders' inventory and pricing data into your Flxpoint system:
  • FTP Connection: Establishes a secure connection to Zanders' FTP server using the credentials they provide.
  • File Retrieval: Downloads multiple product data files from the server:
    • zandersinv.csv: Main product feed with core product information
    • detaildeschtml.csv: Large HTML descriptions for products
    • itemimagelinks.csv: Image links for product visualization
    • liveinv.csv: Live inventory and pricing information
    • zandersinv.xml: Additional product details including dimensions
    • iteminfo2.csv: Additional attributes for product specifications
  • Data Processing: Combines information from these files to create comprehensive product records with complete specifications, images, pricing, and inventory data.
  • Field Mapping: Maps Zanders' fields to Flxpoint's product structure for parent and variant inventory items.
What Does the Inventory & Pricing Data Look Like?
Let's take a peek at a sample of the product data structure from Zanders. This is what the integration retrieves and processes:
{
"ItemNumber": "ABC123",
"Description1": "Premium Tactical Accessory",
"Manufacturer": "TacticPro",
"Category": "Accessories",
"UPC": "123456789012",
"Weight": 1.25,
"MSRP": 129.99,
"Price1": 89.99,
"Available": 42
}
Get Inventory vs. Pricing & Quantity
The integration is split into two main components that work together:
  • Get Inventory: Retrieves complete product information including descriptions, images, specifications, dimensions, weights, and other product details.
  • Pricing & Quantity: Specifically focuses on real-time price points and inventory levels, allowing for frequent updates without having to reimport the entire product catalog.
Integration Strategy: Many users configure "Get Inventory" to run less frequently (e.g., daily or weekly) since product details change infrequently, while setting "Pricing & Quantity" to update more frequently (e.g., hourly) to ensure accurate pricing and stock levels.

Let's set up the integration by customizing a few key settings to match your needs:
  • FTP Connection Settings:
    • Connection Name: Give your connection a name, like "ZandersFTP_Inventory".
    • FTP Protocol: Choose the protocol Zanders uses—typically regular FTP.
    • FTP Host: Enter the server address provided by Zanders, such as ftp2.gzanders.com.
    • FTP Port: Use standard port 21 for FTP unless otherwise specified.
    • FTP User & Password: Input the credentials Zanders gave you.
    • Maintain Constant Connection: Enable this option for handling large files to prevent connection interruptions.
  • Advanced FTP Settings:
    • Use Unbuffered Private Data Channel: Enable only if needed to resolve FTPS connections that fail with "534 Policy requires SSL".
  • Master SKU Settings:
    • SKU Configuration: Specify how Zanders' Item Number should map to your Flxpoint SKU structure. The default flow is:
      Inventory SKU → Master SKU → Listing SKU
    • SKU Prefix: Optionally add a prefix to all SKUs to identify Zanders products in your system (e.g., "ZAN-").
  • Pricing & Quantity Settings:
    • Automatically Pricing & Quantity: Enable this to automatically update pricing and inventory when the integration runs.
    • Allow Create Variant: Enable to automatically create variants during the Pricing & Quantity process if they don't already exist.
Connection Maintenance: The "Maintain Constant Connection" option is particularly useful when dealing with the multiple files retrieved from Zanders. This prevents timeout issues that might occur when downloading larger files like image links or detailed descriptions.

Follow these steps to get the Zanders - Get Inventory & Pricing and Quantity integration up and running:
Get Inventory
Pricing & Quantity
  • 1 Establish FTP Connection: Enter the FTP credentials provided by Zanders (Connection Name, FTP Protocol, FTP Host, FTP Port, FTP User, FTP Password). Click Test Connection to verify it works.
  • 2 Configure FTP Settings: Enable "Maintain Constant Connection" for reliable downloads of larger files. Set other advanced options as needed.
  • 3 Set Master SKU Structure: Define how Zanders' Item Number should map to your Flxpoint SKU structure.
  • 4 Create a Mapping Template: Go to the Mapping Dashboard (accessible via the menu option or integration settings) to define how Zanders' fields map to your inventory records (see the "Mapping Template" section below).
  • 5 Set up Field Mappings: Map essential fields like Brand, Category, Title, Description, Cost, MSRP, UPC, Weight, Dimensions, and custom fields.
  • 6 Configure Schedule (Optional): Set up an automatic schedule for the integration to run periodically using the "Adjust Schedule" option.
  • 7 Run the Integration: Click Run Sync to execute the integration and import product data.
  • 1 Ensure Get Inventory is Configured: The Pricing & Quantity integration works alongside Get Inventory, so make sure that's set up first.
  • 2 Enable Automatic Updates: Toggle on "Automatically Pricing & Quantity" to enable price and inventory updates.
  • 3 Set Variant Creation (Optional): Enable "Allow Create Variant" if you want to automatically create variants during updates.
  • 4 Create a Mapping Template: Access the Mapping Dashboard to define how Zanders' pricing and quantity fields map to your Flxpoint fields.
  • 5 Set Field Mappings: Map the key fields including Price 1 to Cost, Available to Quantity, and Item Number to SKU.
  • 6 Configure Schedule: Set a frequent update schedule (e.g., hourly) to ensure pricing and inventory remain current.
  • 7 Run the Integration: Click Run Sync to execute the integration and update pricing and inventory data.

The Flxpoint interface provides several key screens for managing your Zanders integration:
  • Sources Dashboard: This is where you'll find all your configured sources, including Zanders. From here, you can see:
    • Status indicators showing whether each integration is active
    • Last sync timestamps to track when data was last updated
    • Action menu (three dots) for accessing additional options
  • Zanders Source Page: After clicking on Zanders in the Sources list, you'll see the individual integrations:
    • Get Inventory: For retrieving complete product information
    • Get Pricing & Quantity: For updating price points and stock levels
    • Send Orders: For submitting orders to Zanders
    • Get Shipments: For retrieving shipment updates
  • Integration Settings: Clicking the action menu (three dots) on any integration provides access to:
    • Run Sync: Manually trigger the integration
    • View Logs: Check activity logs for troubleshooting
    • Adjust Schedule: Set up automatic sync schedules
    • Integration Settings: Configure FTP and other connection details
    • Manage Mapping: Access the field mapping interface
    • Remove Connection: Delete the integration if needed
  • Mapping Dashboard: Here you'll configure how Zanders' fields translate to your Flxpoint system:
    • Toggle switches to enable/disable specific field mappings
    • Visual representation of source fields mapping to destination fields
    • Required fields are locked and cannot be disabled
Navigation Tip: The "Manage Mapping" option is where you'll spend most of your setup time, as it controls which fields are imported and how they translate into your Flxpoint structure. Any non-required field can be disabled if you don't want to import that data.

Mapping Templates define how Zanders' data fields connect to your Flxpoint inventory records. These templates ensure that all relevant product information is correctly organized in your system.
Get Inventory Mapping
Pricing & Quantity Mapping
Get Inventory Mapping Fields
The Get Inventory mapping connects comprehensive product data to both Parent and Variant records in Flxpoint:
Zanders Field Maps To Example Purpose Status
Manufacturer Inventory Parent: Brand TacticPro Identifies the product's manufacturer Enabled
Category Inventory Parent: Category 1 Accessories Categorizes products for organization Enabled
Price 1 Inventory Variant: Cost 89.99 Sets the primary cost of the item Enabled
MSRP Inventory Variant: MSRP 129.99 Sets the manufacturer's suggested retail price Enabled
MAP Price Inventory Variant: MAP 99.99 Sets the minimum advertised price Enabled
Description 1 Inventory Parent: Title Premium Tactical Accessory Sets the product title/name Enabled
Description 1 Inventory Parent: Description Premium Tactical Accessory for professional use... Sets the short product description Enabled
Large Description Inventory Variant: Description Detailed HTML description with specifications Sets the detailed product description Enabled
Weight Inventory Variant: Weight 1.25 Sets the product weight Enabled
Weight Unit Inventory Variant: Weight Unit lb Specifies the weight unit (pounds) Enabled
Dimension Unit Inventory Variant: Dimension Unit in Specifies the dimension unit (inches) Enabled
Height Inventory Variant: Height 3.5 Sets the product height Enabled
Length Inventory Variant: Length 8.25 Sets the product length Enabled
Width Inventory Variant: Width 2.75 Sets the product width Enabled
UPC Inventory Variant: UPC 123456789012 Sets the universal product code Enabled
Manufacturer Part Number Inventory Variant: MPN TP-ACC-123 Sets the manufacturer's part number Enabled
Serialized Inventory Variant: Custom Field 1 Value YES Flags if the product is serialized (for firearms) Enabled
Allow Direct Ship Inventory Variant: Custom Field 2 Value Y Indicates if product can be drop-shipped Enabled
Item Number Inventory Variant: SKU ABC123 Sets the primary product identifier Required
Item Number Inventory Parent: Parent SKU ABC123 Links variant to parent record Required
Item Number Inventory Variant: Master SKU ABC123 Sets the master identifier for listings Required
All Images Inventory Parent: All Images https://example.com/images/ABC123_1.jpg Imports all product images Enabled
All Attributes Inventory Parent: All Attributes Color: Black, Material: Polymer Imports all product attributes Enabled
Pricing & Quantity Mapping Fields
The Pricing & Quantity mapping focuses specifically on cost and inventory fields:
Zanders Field Maps To Example Purpose Status
Price 1 Inventory Variant: Cost 89.99 Updates the primary cost of the item Enabled
Available Inventory Variant: Quantity 42 Updates current inventory quantity Enabled
Item Number Inventory Variant: SKU ABC123 Identifies which product to update Required
Pricing Tiers: In addition to Price 1, Zanders provides Price 2 and Price 3 in their data feed, which can be mapped to custom price points in your system. These additional pricing tiers are useful for implementing bulk pricing strategies or different customer price levels.
Managing Field Mappings
In the Mapping Dashboard, you can control which fields are active for your integration:
  • Enable/Disable Fields: Toggle the switch to control whether a field should be imported. When disabled, that data will not be imported or updated.
  • Required Fields: Some fields (like Item Number and SKU mappings) are required and cannot be disabled, as they're essential for the integration to function.
  • Bulk Controls: The "All" field groups (All Attributes, All Images, All Custom Fields) let you control entire categories of data in one setting.
Important Note: Changes to the mapping template take effect the next time the integration runs. If you've already imported products and change a mapping, consider running a full sync to ensure all products are updated with the new mapping configuration.

The Zanders integration includes several advanced features to enhance its functionality:
  • Custom Field Mapping: The integration automatically identifies firearms by checking the "Serialized" field in Zanders' data:
    • When Serialized = "YES", a custom field named "is_firearm" is set to "True"
    • This enables special handling for serialized products in your workflow
  • Multi-Image Support: The integration processes all available images from Zanders:
    • Collects all image links associated with each item number
    • Imports them as both parent and variant images for maximum flexibility
  • Attributes Processing: The integration intelligently processes product attributes:
    • Filters out ignored attributes (length, height, width) as these are mapped to dedicated fields
    • Formats attribute names and values in Title Case for consistent presentation
    • Converts decimal values to proper format for accurate display
  • Delta vs. Full Feed: Understand the update mechanisms:
    • Get Inventory provides a full data feed with all product information
    • Pricing & Quantity specifically updates just pricing and inventory data for faster, more frequent updates
Processing Tip: Zanders provides dimension data in inches and weight data in pounds. The integration automatically maps these to the correct unit fields in Flxpoint, so your product specifications will be consistent across your catalog.

Here are some essential details to understand about the Zanders integration:
  • Current Date and Time: As of 09:37 AM -04 on Tuesday, May 20, 2025, this integration is fully operational for retrieving inventory and pricing data from Zanders.
  • Data Processing Flow: The integration follows a specific sequence when processing Zanders data files:
    • Retrieves and parses all feed files (inventory, descriptions, images, etc.)
    • Uses the main product feed (zandersinv.csv) as the primary data source
    • Enriches each product with data from the secondary feeds
    • Sets custom fields based on conditions (e.g., is_firearm when Serialized="YES")
    • Maps the processed data to Flxpoint's inventory structure
  • Supported Features: The integration supports a comprehensive set of product data:
    • Custom fields for firearm identification at variant level
    • Multiple pricing tiers (Price 1, Price 2, Price 3)
    • Multiple product images
    • Product dimensions in inches and weight in pounds
    • Single-level category mapping
Pro Tip: Set different update frequencies for Get Inventory vs. Pricing & Quantity. Since product details change less frequently than price and stock levels, configure Pricing & Quantity to run more often (every few hours) while scheduling Get Inventory for daily or weekly updates.

If something goes wrong with the integration, here are some steps to help you fix it:
  • FTP Connection Failure:
    • Double-check your FTP credentials (host, port, user, password)
    • Verify that the FTP protocol setting (FTP, SFTP, FTPS) matches what Zanders requires
    • Try enabling "Maintain Constant Connection" if you're experiencing timeouts
    • Test the connection using the Test Connection button before saving
  • Missing Product Data:
    • Verify that all required feed files are available on Zanders' FTP server
    • Check your field mappings to ensure all necessary fields are enabled
    • Review the logs for any error messages indicating parsing issues
  • Pricing & Quantity Not Updating:
    • Confirm that "Automatically Pricing & Quantity" is enabled
    • Verify that the SKU mapping is correctly set up to identify products
    • Check if the liveinv.csv file is being successfully downloaded
  • XML Parsing Errors:
    • The integration includes special handling for the zandersinv.xml file to clean up special characters
    • If you encounter XML parsing errors, view the logs to identify the specific issue
    • Contact support if persistent XML processing issues occur
Diagnostic Tip: The "View Logs" option available in the integration's menu provides detailed information about each step of the process. When troubleshooting, always check these logs first to identify where the process might be failing.

Conclusion
The Zanders - Get Inventory & Pricing and Quantity integration provides a comprehensive solution for importing and maintaining your Zanders product catalog in Flxpoint. With separate components for full product data and real-time inventory updates, you can ensure your system always has the most current product information while optimizing the frequency of updates.
 
 



 

Order Operations

It submits orders to vendors for fulfillment and subsequently imports the shipment details, ensuring an integration between order processing and shipment tracking.    
 

Send Orders

Zanders - Send Orders

Introduction to Zanders - Send Orders Integration
The Zanders - Send Orders integration enables you to automatically submit orders to Zanders directly from your Flxpoint system. This integration handles various order types—from accessories to firearms—and intelligently routes each order to the appropriate Zanders account based on the product type. The integration connects to Zanders' web service API, maps your order details to their required format, and transmits the order for fulfillment. Let's explore how this powerful integration works and how to set it up for your business!

The Zanders - Send Orders integration connects your Flxpoint system to Zanders to:
  • Automatically submit orders to Zanders for fulfillment directly from your Flxpoint system.
  • Route orders to the appropriate Zanders account (Main, Firearm, or Accessory) based on product type.
  • Send customer shipping details for direct-to-consumer deliveries or store pickup information.
  • Transmit order details including SKUs, quantities, and shipping preferences.
  • Receive order confirmations and process acknowledgments automatically.

This integration follows a specific process to route orders to the appropriate Zanders account and ensure successful fulfillment:
  • Account Selection Logic: The integration uses a decision tree to determine which Zanders account should handle an order:
    • If the product is a firearm and the Firearm account is configured, the order goes through the Firearm account.
    • If the product is not a firearm and the Main account is configured, the order goes through the Main account (typically for store pickup).
    • If the product is not a firearm and the Main account is not configured, the order goes through the Accessory account (for direct shipping).
  • Shipping Address Handling: The integration handles shipping addresses differently based on the account type:
    • Main Account: Uses a fixed ship-to code "0001" for your store location (for store pickup).
    • Firearm Account: First calls the Zanders ship-to-addresses API to get a valid ship-to code for the FFL dealer, then uses that code when sending the order.
    • Accessory Account: Sends the complete shipping address details directly in the order request.
  • Order Submission: The integration sends orders to Zanders' web service at https://shop2.gzanders.com/webservice/orders with:
    • Order details (PO number, shipping instructions)
    • Line items (SKUs, quantities, backorder preferences)
    • Account credentials for authorization
  • Order Confirmation: Upon successful submission, Zanders returns a response code "0" with an order number that is stored as the confirmation in Flxpoint.
Understanding Zanders Account Types
Zanders uses three different account types for different order scenarios:
Account Type Purpose Shipping Method Address Handling
Main Account For orders shipping back to your store location UPS ("ups", "UM") Uses fixed ship-to code "0001"
Firearm Account For firearms shipping to FFL dealers UPS Ground ("ups-g", "UG") Requires ship-to address lookup
Accessory Account For accessories shipping directly to customers Best Way ("best-way", "BW") Full address sent with order
Example Order Flow: When a customer orders a holster (non-firearm product), the integration checks if you have a Main account configured. If you do, it assumes you want the product shipped to your store (using ship-to code "0001"). If you don't have a Main account configured, it uses the Accessory account to ship directly to your customer's address.

Let's set up the integration by customizing the key settings to match your business model:
  • Account Credentials:
    • Main Account Username & Password: Credentials for your primary Zanders account, used for orders shipping to your store location.
    • Firearm Account Username & Password: Credentials for your Zanders firearm account, used for orders containing firearms that must ship to FFL dealers.
    • Accessory Account Username & Password: Credentials for your Zanders accessory account, used for non-firearm products shipping directly to customers.
  • Environment: Choose between "Production" for live orders or "Testing" for test orders that won't be processed by Zanders.
  • Connection Options:
    • Automatically Send Orders: Enable this to automatically submit orders to Zanders when they're ready for fulfillment.
    • Use same connection as Get Shipments operation: Optionally link this integration with the Get Shipments integration to maintain consistent credentials.
Important Account Decision: Your account configuration directly impacts how orders are routed:
  • Configure only the Accessory account if you want all non-firearm products to ship directly to customers.
  • Configure the Main account if you want non-firearm products to ship to your store (using ship-to code "0001").
  • Always configure the Firearm account if you sell firearms that must ship to FFL dealers.

Follow these steps to get the Zanders - Send Orders integration up and running:
  • 1 Enable Automatic Order Sending: Toggle on "Automatically Send Orders" to allow Flxpoint to submit orders to Zanders when they're ready for fulfillment.
  • 2 Configure Account Credentials: Based on your business model, enter the appropriate credentials:
    • For store pickup of all products: Configure Main Account credentials
    • For direct shipping of accessories: Configure Accessory Account credentials
    • For firearm sales: Configure Firearm Account credentials
  • 3 Set Environment: Select "Production" for live orders or "Testing" for test orders that won't be processed by Zanders.
  • 4 Create Mapping Template: Access the Mapping Dashboard (via the menu option or integration settings) to define how your order fields map to Zanders' required format.
  • 5 Map Order Fields: Configure the mapping for key fields including:
    • Address information (Address Line 1, Address Line 2, City, State Code, Postal Code)
    • Shipping details (Shipping Code)
    • Order information (Fulfillment Request Number, Ship To Name)
    • Item details (SKU, Quantity)
  • 6 Save Mapping: Click the "Save Mapping" button to store your field mapping configuration.
  • 7 Test the Integration: Process a test order to verify the integration is working correctly. Check the order acknowledgment in Flxpoint and the order status in your Zanders account.
Account Configuration Tip: If you want all accessories to be drop-shipped directly to customers, only configure the Accessory account credentials and leave the Main account credentials blank. This ensures the integration uses the right logic path for direct shipping.

The Mapping Template is where you define how your Flxpoint order fields connect to Zanders' required format. This ensures that all necessary information is correctly transmitted when an order is submitted.
Mapping Fields
Below is a table of fields you can map, complete with examples and purposes:
Flxpoint Field Maps To Example Purpose Status
Address Line 1 Zanders - Purchase Order: Ship To Address1 123 Main Street Primary shipping address line Enabled
Address Line 2 Zanders - Purchase Order: Ship To Address2 Suite 201 Secondary shipping address line Enabled
City Zanders - Purchase Order: Ship To City Springfield Shipping address city Enabled
State Code Zanders - Purchase Order: Ship To State IL Shipping address state (2-letter code) Enabled
Postal Code Zanders - Purchase Order: Ship To Zip 62701 Shipping address ZIP/postal code Enabled
Shipping Code Zanders - Purchase Order: Ship Via Code UG Shipping method code Enabled
Fulfillment Request Number Zanders - Purchase Order: PO Number FR12345 Your order reference number Enabled
Full Name Zanders - Purchase Order: Ship To Name John Smith Recipient's full name Enabled
Full Name Zanders - Purchase Order: Ship Instructions John Smith, 555-123-4567 Additional shipping instructions Enabled
SKU Zanders - Purchase Order Item: Item Number ABC123 Zanders product SKU Enabled
Quantity Zanders - Purchase Order Item: Quantity 2 Quantity of item being ordered Enabled
Shipping Code Values: Zanders uses specific shipping code values for different account types:
  • Main Account: "UM" (UPS)
  • Firearm Account: "UG" (UPS Ground)
  • Accessory Account: "BW" (Best Way)
These are automatically set by the integration based on the account being used.

Understanding how the Zanders accounts work is crucial for proper integration configuration. Let's explore the account types and their uses in detail:
Main Account
The Main account is your standard Zanders customer account used to send products from Zanders directly back to your store location.
  • Use Case: In-store pickups where you want the product shipped to your store first
  • Ship-To Handling: Uses a fixed ship-to number "0001" for your main shipping location
  • Address Requirements: Does not require shipping address information to be sent with the order
  • Special Handling: Orders can be put on hold by passing a specific pay code, giving your sales team an opportunity to review
  • Shipping: Uses Zanders' standard freight policy with UPS
Firearm Account
The Firearm account is used specifically for shipping firearms to FFL dealers.
  • Use Case: Firearms that must be shipped to licensed dealers
  • Ship-To Handling: Requires a lookup to get a valid ship-to code for the destination FFL
  • Address Requirements: Needs shipping address information to locate or generate a ship-to code
  • API Process: First calls the ship-to-addresses API to get a valid code, then uses that code when sending the order
  • Shipping: Uses UPS Ground (UG) by default
Accessory Account
The Accessory account is used for shipping non-firearm products directly to customers.
  • Use Case: Direct-to-consumer shipping of accessories, parts, and other non-firearm products
  • Ship-To Handling: Does not require a ship-to code
  • Address Requirements: Needs complete shipping address information included with the order
  • Shipping: Uses "Best Way" (BW) shipping method
Business Model Tip: Your configuration should match your business model:
  • Dropship Model: Configure only the Accessory account (and Firearm account if selling firearms) and leave the Main account blank. This ensures accessories ship directly to customers.
  • In-Store Pickup Model: Configure the Main account to have all accessories shipped to your store.
  • Hybrid Model: Configure all accounts, but understand that for non-firearm products, the Main account will be used if it's configured.

Here are some essential details to understand the Zanders - Send Orders integration:
  • Current Date and Time: As of 09:45 AM -04 on Tuesday, May 20, 2025, this integration is fully operational for sending orders to Zanders.
  • API Endpoint: The integration communicates with Zanders via their web service at https://shop2.gzanders.com/webservice/orders
  • Order Response: A response code of "0" indicates successful order processing. Any other code is treated as an error.
  • Order Confirmation: The integration stores the Zanders order number as the confirmation in your Flxpoint system when successful.
  • Account Priority Logic: For non-firearm products, the Main account takes precedence if both Main and Accessory accounts are configured.
Critical Configuration Note: If you want accessories to ship directly to customers, do not configure the Main account credentials. The integration's logic will use the Main account for all non-firearm products if it's configured, which would route those orders to your store location instead of directly to customers.

If something goes wrong with the integration, here are some steps to help you fix it:
  • Error: "There was a Problem Creating Order"
    • Potential Cause 1: Using Main account credentials for a direct-ship order but not having a valid "0001" ship-to code set up.
    • Solution: Either set up the "0001" ship-to code in your Zanders Main account, or remove the Main account credentials from the integration to use the Accessory account for direct shipping.
  • Error: Wrong Account Being Used
    • Potential Cause: The integration is using the Main account for accessories when you want direct shipping.
    • Solution: Remove the Main account credentials from the integration configuration to force it to use the Accessory account for non-firearm products.
  • Error: Missing Ship-To Code for Firearm
    • Potential Cause: The integration couldn't obtain a valid ship-to code when processing a firearm order.
    • Solution: Verify that the FFL address information is complete and accurate. Contact Zanders to ensure the FFL is in their system.
  • Error: Authentication Failed
    • Potential Cause: Incorrect username or password for one of the Zanders accounts.
    • Solution: Double-check all account credentials and update them in the integration settings.
  • Error: Item Not Found
    • Potential Cause: The SKU in your order doesn't match Zanders' inventory system.
    • Solution: Verify the SKU is correct and active in the Zanders catalog. Run the Get Inventory integration to update your product data.
Debugging Tip: When troubleshooting order submission issues, look at the SOAP request being sent (visible in detailed logs). For firearm orders, ensure you're seeing calls to https://shop2.gzanders.com/webservice/shiptoaddresses before the actual order submission. For accessory direct shipments, verify you're not seeing the Main account credentials in the request.

Let's walk through a real-world example of how the Zanders - Send Orders integration handles different product types:
Scenario 1: Firearm Order
Order Details:
  • Customer orders a firearm (SKU: ABC123)
  • Customer selects their local FFL dealer for delivery
  • FFL dealer address: 123 Main St, Springfield, IL 62701
Integration Process:
  1. Flxpoint identifies the product as a firearm
  2. Integration uses Firearm account credentials
  3. Integration calls Zanders' ship-to-addresses API to get a valid ship-to code for the FFL
  4. Integration receives ship-to code "1234" for the FFL
  5. Integration submits order with:
    • Firearm account credentials
    • Ship-to code "1234"
    • Shipping method "UG" (UPS Ground)
    • Product SKU and quantity
  6. Zanders processes the order and returns confirmation number "Z98765"
  7. Flxpoint records confirmation and updates the order status
Scenario 2: Accessory Order (Direct Ship)
Order Details:
  • Customer orders an accessory (SKU: XYZ789)
  • Customer shipping address: 456 Oak Ave, Chicago, IL 60601
  • Integration Configuration: Main account credentials NOT configured (only Accessory account)
Integration Process:
  1. Flxpoint identifies the product as a non-firearm
  2. Integration checks for Main account credentials (not found)
  3. Integration uses Accessory account credentials
  4. Integration submits order with:
    • Accessory account credentials
    • Complete shipping address (no ship-to code needed)
    • Shipping method "BW" (Best Way)
    • Product SKU and quantity
  5. Zanders processes the order and returns confirmation number "Z54321"
  6. Flxpoint records confirmation and updates the order status
Scenario 3: Accessory Order (Store Pickup)
Order Details:
  • Customer orders an accessory (SKU: XYZ789)
  • Customer selects in-store pickup
  • Integration Configuration: Main account credentials configured
Integration Process:
  1. Flxpoint identifies the product as a non-firearm
  2. Integration checks for Main account credentials (found)
  3. Integration uses Main account credentials
  4. Integration submits order with:
    • Main account credentials
    • Ship-to code "0001" (your store location)
    • Shipping method "UM" (UPS)
    • Product SKU and quantity
  5. Zanders processes the order and returns confirmation number "Z12345"
  6. Flxpoint records confirmation and updates the order status
Key Insight: Notice how the integration automatically selects the appropriate account based on product type and your configuration. This is why it's crucial to configure your accounts based on your desired business model—particularly whether you want accessories to ship directly to customers (configure only Accessory account) or to your store for pickup (configure Main account).

Follow these best practices to ensure smooth operation of your Zanders - Send Orders integration:
  • Clear Business Model Definition: Decide upfront whether you want accessories to ship directly to customers or to your store, and configure only the relevant accounts.
  • Account Configuration Strategy:
    • For Direct Shipping: Only configure Accessory account (and Firearm account if selling firearms)
    • For Store Pickup Only: Only configure Main account (and Firearm account if selling firearms)
    • For Mixed Model: Be aware that all non-firearm products will use the Main account if configured
  • Order Testing: Test each order type (firearm, accessory direct ship, store pickup) after configuration to verify the correct routing.
  • API Credentials Security: Store your Zanders API credentials securely and rotate passwords periodically according to your security policies.
  • Shipping Method Consistency: Ensure your mapping template has the correct shipping codes for each account type:
    • Main Account: "UM" (UPS)
    • Firearm Account: "UG" (UPS Ground)
    • Accessory Account: "BW" (Best Way)
  • Phone Number Inclusion: Include the customer's phone number in the Ship Instructions field to assist with delivery coordination.
Contact Information Format: When including phone numbers in the Ship Instructions field, use a consistent format like "John Smith, 555-123-4567" to ensure delivery personnel can easily contact the recipient if needed.

Conclusion
The Zanders - Send Orders integration provides a powerful and flexible way to automate order submission to Zanders based on your business model. By understanding the account logic and configuring the integration accordingly, you can ensure firearms are properly routed to FFL dealers while accessories either ship directly to customers or to your store for pickup. Remember that your account configuration directly impacts order routing, so make sure it aligns with your desired fulfillment strategy.
 
 

Get Shipments

Zanders - Get Shipments

Introduction to Zanders - Get Shipments Integration
The Zanders - Get Shipments integration automates the process of retrieving shipment data from Zanders and updating your Flxpoint system with tracking details. This integration pulls shipment information—like tracking numbers, carriers, and ship dates—from Zanders via their web service API, ensuring you can keep your customers informed about their order statuses. The process involves connecting to Zanders' API endpoint, querying for tracking information by purchase order number, mapping fields, and updating your fulfillment requests with shipping details.

The Zanders - Get Shipments integration connects your Flxpoint system to Zanders to:
  • Automatically retrieve shipment tracking information from Zanders once orders have been fulfilled.
  • Update your Flxpoint fulfillment requests with accurate shipping details including carrier, method, tracking number, and ship date.
  • Enable you to provide customers with timely shipping updates and tracking information.
  • Create a complete order-to-delivery tracking loop when used alongside the Send Orders integration.

This integration follows a straightforward process to retrieve and process shipment information:
  • API Connection: Connects to Zanders' web service API endpoint at https://shop2.gzanders.com/webservice/orders.
  • Purchase Order Lookup: For each fulfillment request, queries the API using the original purchase order number that was sent to Zanders.
  • Shipment Data Retrieval: Receives shipment details including:
    • shipCompany: The carrier used for shipping (e.g., UPS, FedEx)
    • shipVia: The shipping method (e.g., Ground, 2-Day)
    • trackingNumber: The package tracking number
    • shipDate: The date the order was shipped
  • Response Processing: Checks for a response code of "0" (success), then looks for the trackingNumber key-value pair.
  • Fulfillment Request Update: Updates the fulfillment request in Flxpoint with the retrieved tracking information.
  • Status Update: Marks the entire fulfillment request as shipped when shipment data is found.
What Does the Shipment Data Look Like?
Here's a sample of what the shipment data looks like when retrieved from Zanders:
{
"responseCode": 0,
"responseMessage": "Success",
"shipCompany": "UPS",
"shipVia": "Ground",
"trackingNumber": "1Z9999W99999999999",
"shipDate": "2025-05-19"
}
Key Point: The integration retrieves shipment data for the entire fulfillment request, not for individual items. This means when a shipment is found, the entire fulfillment request is marked as shipped.

Setting up the integration requires a few simple configuration options:
  • Automatically Get Shipments: Enable this option to automatically check for and retrieve shipment updates on a scheduled basis.
  • Connection Options:
    • Connect With API token: Choose how to authenticate with Zanders' API.
    • Use same connection as Send Orders operation: Enable this option to reuse the credentials from your Send Orders integration, ensuring consistency between the two integrations.
Connection Sharing: It's recommended to use the same connection as your Send Orders operation to ensure consistent authentication and proper linking between your orders and the shipment tracking information.
Important Note: Zanders requires a separate connection specifically for the Get Shipments operation. Even when sharing credentials with Send Orders, this is implemented as a distinct connection in the background.

Follow these steps to get the Zanders - Get Shipments integration up and running:
  • 1 Enable Automatic Shipment Retrieval: Toggle on "Automatically Get Shipments" to allow Flxpoint to check for shipment updates periodically.
  • 2 Configure Connection: Check "Use same connection as Send Orders operation" if you already have Send Orders set up. This will reuse the same credentials for consistency.
  • 3 Access Mapping Dashboard: Click the three dots (⋮) menu on the Get Shipments tile, then select "Manage Mapping" to open the field mapping interface.
  • 4 Map Shipment Fields: Configure the mapping for key shipment fields:
    • Ship Company → Shipment: Carrier
    • Ship Via → Shipment: Method
    • Ship Date → Shipment: Shipped At
    • Tracking Number → Shipment: Tracking Number
  • 5 Save Mapping: Click the "Save Mapping" button to store your field mapping configuration.
  • 6 Set Schedule (Optional): Click the three dots (⋮) menu again and select "Adjust Schedule" to set how frequently the integration should check for new shipment information.
  • 7 Run Manual Test: Click "Run Sync" from the menu to manually trigger the integration and check for any shipment updates for your outstanding orders.
Note: The integration will only retrieve tracking information for orders that have been previously submitted to Zanders using the Send Orders integration. The purchase order number (Fulfillment Request Number) is used to link the two processes.

The Mapping Template is where you define how Zanders' shipment data fields connect to your Flxpoint shipment records. This ensures your system is updated with accurate tracking information.
Mapping Fields
Below is a table of fields you can map, complete with examples and purposes:
Zanders Field Maps To Example Purpose Status
Ship Company Shipment: Carrier UPS Identifies the carrier used for the shipment Enabled
Ship Via Shipment: Method Ground Specifies the shipping method used by the carrier Enabled
Ship Date Shipment: Shipped At 2025-05-19 Records the date the shipment was sent Enabled
Tracking Number Shipment: Tracking Number 1Z9999W99999999999 Provides the tracking number for the shipment Enabled
Mapping Note: These mappings are typically pre-configured in the system but can be adjusted if needed. The field names from Zanders are standardized, so the default mappings should work for most implementations.

Understanding the operational details of the Get Shipments integration helps you make the most of this functionality:
Shipment Processing Logic
  • Fulfillment Request Level Updates: The integration retrieves and applies shipment information at the fulfillment request level, not at the individual item level.
  • Purchase Order Matching: Uses the Fulfillment Request Number (which was sent as the Purchase Order Number to Zanders) to query for shipment status.
  • Response Handling: Checks for response code "0" to confirm successful data retrieval, then looks specifically for the "trackingNumber" key in the response.
  • Status Updates: When tracking information is found, the entire fulfillment request is marked as shipped in Flxpoint.
Limitations
  • No Item-Level Shipment Data: Zanders does not provide item-level shipment details. When a shipment is found, all items in the fulfillment request are marked as shipped together.
  • No Partial Shipments: The integration does not support partial shipments. An order is either completely shipped or not shipped at all.
  • No Invoice Information: Zanders does not include invoice details in their shipment data.
Carrier & Methods
The integration retrieves both carrier (Ship Company) and shipping method (Ship Via) information directly from Zanders. Common values include:
  • Carriers: UPS, FedEx, USPS
  • Methods: Ground, 2-Day, Overnight, Best Way
Sync Frequency Recommendation: Since Zanders typically processes and ships orders within 1-2 business days, setting your Get Shipments integration to run daily is usually sufficient to keep tracking information current.

Here are some essential details to understand the Zanders - Get Shipments integration:
  • Current Date and Time: As of 09:55 AM -04 on Tuesday, May 20, 2025, this integration is fully operational for retrieving shipment data from Zanders.
  • API Endpoint: The integration connects to https://shop2.gzanders.com/webservice/orders to retrieve shipment information.
  • Order-Shipment Link: The integration uses the Fulfillment Request Number (PO Number) to look up shipment details, creating a direct link between your original order and the tracking information.
  • FR-Level Updates: When shipment data is found, the entire Fulfillment Request is marked as shipped, as Zanders does not provide item-level shipment details.
Important: For this integration to work properly, you must have previously sent orders to Zanders using the Send Orders integration. The Get Shipments integration relies on the Purchase Order Numbers generated during the order submission process.

If you encounter issues with the Get Shipments integration, here are some common problems and solutions:
  • No Shipment Data Found
    • Potential Cause: The order may not have been shipped yet by Zanders.
    • Solution: Wait 1-2 business days after order submission before expecting shipment data. You can also contact Zanders directly to confirm the order status.
  • Authentication Errors
    • Potential Cause: Incorrect API credentials or connection issues.
    • Solution: Verify that you're using the same credentials as your Send Orders integration, or check with Zanders to ensure your API access is active.
  • Missing Tracking Numbers
    • Potential Cause: Zanders' response did not include the trackingNumber key.
    • Solution: Check the logs to see the complete response from Zanders. It's possible the order was processed but not yet assigned a tracking number.
  • Purchase Order Not Found
    • Potential Cause: The Fulfillment Request Number does not match any orders in Zanders' system.
    • Solution: Verify that the order was successfully submitted to Zanders via the Send Orders integration. Check for any order submission errors in your logs.
Log Check Tip: When troubleshooting, always use the "View Logs" option from the integration menu to examine the API responses. Look for response codes other than "0" which indicate error conditions, along with any error messages that explain the issue.

Follow these best practices to ensure optimal operation of your Zanders - Get Shipments integration:
  • Consistent Credentials: Always use the "Use same connection as Send Orders operation" option to ensure consistent authentication and proper linking between orders and shipments.
  • Appropriate Sync Schedule: Set the integration to run daily or twice daily for most businesses. Zanders typically processes orders within 1-2 business days, so more frequent updates are usually unnecessary.
  • Complete Integration Suite: Implement all four Zanders integrations (Get Inventory, Get Pricing & Quantity, Send Orders, and Get Shipments) for a complete end-to-end workflow.
  • Monitor Error Logs: Regularly check the integration logs for any error patterns that might indicate configuration issues or API problems.
  • Test After Setup: After initial configuration, test the integration by tracking a known shipped order to verify that the integration is retrieving data correctly.
Efficiency Tip: Since Zanders provides shipment data at the order level, this integration is very efficient. It doesn't require processing individual line items, making it faster and less resource-intensive than many other shipment tracking integrations.

Conclusion
The Zanders - Get Shipments integration provides an automated way to retrieve tracking information for orders fulfilled by Zanders. By connecting directly to their web service API, the integration pulls carrier, method, tracking number, and ship date details, allowing you to keep your customers informed about their deliveries. While the integration has some limitations—such as order-level rather than item-level shipment data—it offers a straightforward and efficient way to complete the order fulfillment cycle within your Flxpoint system.