Chattanooga as a Source
Summary
Chattanooga Shooting Supply (CSS) connects to Flxpoint over their API using a SID and TOKEN issued by your CSS representative, sent as a Basic auth header (with optional MD5 hashing of the token). It supports full catalog import, a delta-based secondary inventory refresh, dropship purchase-order submission with automatic order-number confirmation, and order-level shipment tracking.
In Flxpoint go to Connections > Fulfillment Sources, click +Add Source and name it, then select FLX Supplier Directory and choose Chattanooga Shooting Supply. In the New Connection form enter your SID and TOKEN, then click Test Connection → Save Connection.
| Field | What to enter |
|---|---|
SIDRequired | Your Chattanooga Shooting Supply account identifier. Entered in the New Connection form and combined with your TOKEN into a
Provided by Chattanooga Shooting Supply - contact your CSS representative if you don't have it.Basic auth header. |
TOKENRequired | The API token paired with your SID. If your account requires MD5 authorization, the token is hashed before it is sent.
Provided by Chattanooga Shooting Supply. |
Basic (Your SID):(MD5 hash of TOKEN).Do not enable Archive on Get Inventory Secondary
Enable Archive only on Get Inventory Primary if you need it.
SKUs longer than 24 characters won't return data from the CSS API
The Chattanooga API does not reliably return inventory data for SKUs exceeding 24 characters. If items with longer SKUs show empty cost or zero quantity, verify and trim those SKUs - this is a hard constraint on the CSS side.
Partial shipments are not supported - all items on an order are marked shipped
The Get Shipments feed returns data at the purchase-order level, not the item level. When CSS indicates an order has shipped, Flxpoint marks every item on that order as shipped, and only a single tracking number is returned even if CSS ships the order in multiple packages.
insurance_flag and adult_signature_flag are invalid when drop_ship_flag = 0
These order fields only apply to drop-ship orders. If you map insurance_flag or adult_signature_flag and any order routes to CSS as non-dropship, it fails with a data-validation error. Only send these flags when drop_ship_flag = 1.
Requires FFL flag now available
The Requires FFL (Federal Firearms License) flag is now exposed in the inventory data layer. This backend field indicates compliance requirements for specific items and is included in the default mapping templates to help automate firearms-specific workflows.
Mixed drop-ship flags on a single order
If a fulfillment request contains multiple items with conflicting Drop Ship Flag values, Flxpoint sets the outbound drop_ship_flag to 0 (False) if any single item in the request is set to 0. This ensures special orders or items requiring business delivery are not incorrectly routed as dropshipments.
Adult signature and serialized items
For firearm or serialized orders, the adult_signature_flag is automatically set to 1 when the drop_ship_flag is 1. You can control this behavior by adding an optional serialized_flag column to your product feed CSV, which helps Flxpoint identify items requiring these specific outbound flags.
Pulls the full Chattanooga catalog over the API - SKU, quantity, pricing and attributes - in batches, creating and updating inventory records
| Chattanooga Field | Maps To - Notes |
|---|---|
| Chattanooga SKU | → Internal SKU. Primary product identifier / linking key. |
| Product Name | → Internal Product Title. |
| Barcode / UPC | → Internal Barcode. Use for channel listings and de-duplication. |
| Available Quantity | → Inventory Count. On-hand units from Chattanooga. |
| Cost Price | → Internal Cost. |
| Selling Price | → Internal Price. |
Delta feed that returns only SKUs updated since the last run (plus a ~2-hour buffer) to keep cost and quantity fresh without a full pull
https://api.chattanoogashooting.com/v4/items?qas_last_updated_after=..., so unchanged items won't appear in the file. Map Cost from Drop Ship Price, Custom Price or Retail Price as needed; Quantity from the Inventory field; and MAP / Retail Price to your variant fields. Note that SKUs longer than 24 characters may not return data. Run Get Inventory Primary for full catalog refreshes.Submits purchase orders to Chattanooga, supporting dropship (ship-to-customer) via drop_ship_flag and returning an order number on success
| Field | Notes |
|---|---|
| drop_ship_flag | Map using True / False with a Rule (commonly based on a Custom Field) - can't be set as a static Value. True ships directly to your end customer, False ships to your business. Controls which other fields are required. |
| customer | Required when drop_ship_flag = 1. Displays on the packing slip under "Customer." |
| delivery_option | Required when drop_ship_flag = 1. Must be one of: fastest, economy, ground, next day air, second day air. |
| adult_signature_flag | Set to 1 automatically for FFL drop-ship orders. Invalid when drop_ship_flag = 0. |
| insurance_flag | Optional for drop shipments. Invalid when drop_ship_flag = 0. |
| ffl_number | Required and specifically formatted for firearm orders - a blank or malformed value fails validation with a 422 error. |
| po_number | Your unique purchase order identifier for reference. |
| sku (Item Number) | Identifies the product to order; mapped from Fulfillment Request Item → SKU. |
| Quantity | Number of units for each line item in the purchase order. |
| Shipping Address (Address Line 1/2, City, State / State Code, Zip) | Required for drop-ship orders to ensure correct delivery. |
| order_number | Returned by CSS on a successful submission and recorded as the auto-acknowledgement. |
Retrieves order-level shipment tracking from Chattanooga and marks orders shipped in Flxpoint
| Field | Notes |
|---|---|
| Carrier | Numeric or text code indicating the carrier (e.g., UPS, FedEx). Supported. |
| Method | Numeric or text code for the shipping method (e.g., Ground, 2-Day). |
| Tracking Number | A single tracking number returned per shipment - CSS returns one even if the order ships in multiple packages. |
| Shipped At | The shipment date/time, when CSS provides it. |
| Shipping Cost | Map if CSS returns a cost; otherwise leave unmapped or set it to 0. |
"Failed to parse Chattanooga API error response" / Get Inventory returning 0 records
"Failed to extract Chattanooga's API Error Message" on Send Fulfillment Requests
drop_ship_flag are mapped correctly. If the issue doesn't resolve on your end, contact support@flxpoint.com - some cases require a deeper look or a code-level fix by the Flxpoint team.Error Code [9000] Data validation failed - Sub-code [9001] insurance_flag / adult_signature_flag is not valid for this operation
drop_ship_flag = 1. If an order routes to CSS with drop_ship_flag = 0 and your template still sends them, CSS rejects it. Use a conditional Rule to send insurance_flag and adult_signature_flag only on drop-ship orders, or remove them from the template entirely. This can also surface when your mapping still includes adult_signature_flag or insurance_flag in the request payload alongside drop_ship_flag = 0 - the CSS API only accepts these fields when drop_ship_flag = 1, and sending them on a non-drop-ship order gets the request rejected.422 Unprocessable Entity - ffl_number: The data entered is not formatted properly (sub-code 9005)
ffl_number field in your Send Fulfillment Requests template before resubmitting.Error Code 60202 - Order failed. Item(s) have insufficient inventory
Get Shipments failing with "Ping Failed"
Cost, MSRP, or MAP values appear incorrect or identical?
Where do I get my SID and TOKEN for the CSS connection?
Basic (Your SID):(MD5 hash of TOKEN).What shipping methods does Chattanooga support for dropship orders?
delivery_option values are fastest, economy, ground, next day air and second day air - there is no test delivery option. Some values may not be available for certain items depending on dropship eligibility. Map the delivery_option field in your Send Fulfillment Requests template using a Value or Rule that outputs one of these codes.How do I exclude specific product categories (e.g., powder, primers, firearms) from importing?
Why does Get Inventory Secondary only return some of my SKUs?
How do I set the drop_ship_flag for Chattanooga orders?
True / False and configure a Rule (commonly based on a Custom Field) so it resolves correctly per order: drop-ship orders (CSS ships directly to your customer) should resolve to True, and orders shipped to your business should resolve to False. When drop_ship_flag = 1, the customer and delivery_option fields become required and the full shipping address must be provided. When drop_ship_flag = 0, do not map insurance_flag or adult_signature_flag - they're invalid for that order type.Why is my Chattanooga source prefixing SKUs with "CH" and separating listings?
CH) to distinguish SKUs across distributors. If that prefix is causing CSS inventory to create separate products instead of linking to existing bare-SKU listings, review your Master SKU mapping in the Get Inventory Primary template. Removing or adjusting the prefix lets CSS SKUs match your existing product records - the prefix is a Flxpoint mapping choice, not a CSS-side requirement.What it does
When sending Fulfillment Requests (FR) to Chattanooga Shooting Supplies (CSSI), specific flags control how the order is processed and shipped. The drop_ship_flag and adult_signature_flag are determined by a combination of order details and item-level attributes in your inventory.
Flag logic and requirements
Flxpoint applies specific logic to determine the status of these flags during order submission. This ensures compliance with shipping regulations, particularly for serialized items and firearms.
FFL Orders: If a Fulfillment Request includes a Federal Firearms License (FFL) number and the inventory variant has the Drop Ship Flag custom field set to 1, both the dropship and adult signature flags are set to 1 (true).
Mixed Items: If a single Fulfillment Request contains multiple items with conflicting flag values, the dropship flag will default to 0 (false) if any single item in the request has its flag set to 0.
Adult Signature: This flag is triggered automatically for serialized items to ensure secure delivery.
Configuring the CSV feed
To ensure adult signature requirements are correctly identified, you can include an optional column in your product feed CSV. This allows you to explicitly mark items that require special handling.
Column Name | Value | Result |
|---|---|---|
serialized_flag | 1 | Triggers the Adult Signature flag on outbound orders. |
serialized_flag | 0 | Standard shipping (unless overridden by other rules). |
Implementation steps
Update Inventory Variants: Navigate to Inventory, select a product, and open the Variant tab. Ensure the Drop Ship Flag custom field is populated correctly (1 for dropship, 0 for special orders).
Configure Mapping Template: Open your CSSI mapping template under Settings. Verify that the
drop_ship_flagandadult_signature_flagare mapped to pull from the corresponding inventory variant custom fields.Verify Outbound Data: Review the outbound JSON structure for your Fulfillment Requests. A standard dropship order for a serialized item should appear as follows:
"drop_ship_flag": 1,
"adult_signature_flag": 1,
"federal_firearms_license_number": "..."
Note: If you are processing special orders that should not be treated as standard dropships, ensure the
drop_ship_flagis explicitly set to 0 in your mapping or inventory data to avoid incorrect routing.
