FreightPOP

Plugin Banner

FreightPOP

by freightpop

Download
Description

The FreightPOP integration plugin for WooCommerce provides real-time shipping quotes directly from FreightPOP. It allows store owners to connect their WooCommerce store to FreightPOP, enabling the retrieval of accurate shipping rates based on various configurations. The plugin supports options for applying markups or discounts to shipping rates and the ability to display base or list rates.

Designed and developed by Udaan Technologies for FreightPOP.

Configuration

  1. Connect to FreightPOP:

    • Use your FreightPOP credentials to log in.
    • Source: Production
  2. General Settings:

    • Set your Product Settings and select the Rates to Display (e.g., cheapest, fastest).
    • Save the settings.
  3. Shipping Rate Settings:

    • Configure markup or discount options to modify shipping rates as needed.
  4. Rate Conditions:

    • Set conditions for Base Rate (standard) and List Rate (with additional fees).
  5. Store Shipping Settings:

    • Navigate to WordPress Admin.

Testing Instructions

  1. Test the checkout page by entering a shipping address to ensure FreightPOP rates are displayed accurately.
  2. Validate the display of shipping options based on base or list rates and applied conditions (markup/discount).
  3. Document any issues found during testing.

Third-Party Services

This plugin integrates with FreightPOP, a third-party shipping service that provides shipping rate calculations and shipment details.

How This Plugin Uses FreightPOP

  • Service Utilization: The plugin sends shipping-related data to FreightPOP to calculate shipping rates and obtain shipment details based on the items in the user’s cart.
  • When Requests Are Sent: Requests are sent when an administrator connects the plugin to FreightPOP and whenever WooCommerce calculates shipping options for a cart or checkout package.
  • Service Endpoints: Production requests use https://enterprise.freightpop.com; sandbox requests use https://sandbox-api.freightpop.com.
  • Data Sent: The following data is transmitted to FreightPOP:
    • FreightPOP username and password during the connection request. The password is not retained by the plugin after authentication.
    • Origin and destination address information, which may include the recipient name, email address, and phone number when available.
    • Cart product names, descriptions, SKUs, quantities, prices, weights, and dimensions as required to pack the shipment and calculate rates.

Links

By using this plugin, you acknowledge that data may be sent to FreightPOP in accordance with their privacy policy.

  1. Install and activate the FreightPOP integration plugin in WooCommerce.
  2. Open the plugin from the WordPress dashboard.
What credentials are needed to connect to FreightPOP?

You will need FreightPOP credentials, including the source, username, and password, provided during the setup process.

Can I apply a markup or discount to shipping rates?

Yes, the plugin allows you to apply a percentage or flat markup/discount to modify shipping rates.

How do I configure which rates to display?

You can choose the shipping rates (e.g., cheapest, fastest) from the General Settings section within the plugin.

  • 1.1.12 – The Edit dialog for a markup or discount opens already filled in. It used to open immediately and then fetch the rule over admin-ajax, which on a busy store took as long as sixteen seconds, so the dialog sat there empty and looked broken. The rows are rendered from the same database rows the dialog was re-fetching, so it now reads the rule from the row and no request is made at all. Where a rule cannot be read from the row the dialog still fetches it, says it is loading, and cannot be saved until it arrives. The dialog opens the moment the row’s Edit control is clicked while the rule is fetched over admin-ajax, which on a busy store has taken sixteen seconds; until now that showed an empty form that looked broken, and saving it would have written the empty fields back over the rule.
  • 1.1.12 – Shipping rates are rounded to whole cents whatever the store’s “Number of decimals” setting is. The rounding used to follow that setting, so on a store set to three decimals it rounded to three and changed nothing, and freight showed prices such as 257.082. Markup and discount rows now render identically whether the page was just loaded or the table was refreshed after adding a rule; they were written twice and had drifted, so a new rule showed one style of control where a reloaded one showed another. Both now show small Edit and Delete buttons. The “No markup rules found” and “No discount rules found” messages now appear below their table instead of as a row inside it, and appear on first load rather than only after a refresh.
  • 1.1.12 – The access token now renews itself. FreightPOP asks integrators to refresh the token about once a day, but the plugin only ever fetched one when an administrator pressed Connect, so an expired token meant every rate call returned 401 until somebody noticed and reconnected by hand. The account password is now kept encrypted (AES-256 with a key derived from the WordPress salts in wp-config.php, which are not in the database) and a scheduled job renews the token every six hours. A 401 during rating also renews the token and retries the call once. Stores that connected before this release must press Connect once so the credential is stored; until then renewal stays manual and the plugin behaves as it did.
  • 1.1.11 – A rejected FreightPOP access token is now reported instead of failing silently. When FreightPOP answers 401 the connection is marked disconnected, the reason is written to the WooCommerce log, and an admin notice links to the settings screen. Previously the only symptom was customers seeing no freight options: one store spent four and a half hours returning no rates to anyone while the log filled with 401s. The token still cannot renew itself, because the account password is deliberately not stored and the API offers no refresh token, so reconnecting remains a manual step – but it is now an obvious one.
  • 1.1.10 – Rating with Packaging Rules now sends the packed handling units to the rate API instead of the pieces nested inside them. A packed box was discarded in favour of its InnerPieces, which lost the box dimensions and freight class and, because an inner piece states the group’s total weight against its own quantity, multiplied the shipment weight by that quantity: one 41.25 lb box was rated as 206.25 lb. The same defect was corrected for Auto Calculate in 1.1.8; the Packaging Rules path was left unchanged. Shipping rates are also rounded to the store’s currency precision before they reach WooCommerce, so a percentage markup or discount can no longer produce a value such as 132.2475 that shows extra decimal places on the cart and checkout and carries sub-cent precision into the order total.
  • 1.1.9 – Refreshes the FreightPOP admin settings screen with WordPress-style cards, cleaner modals, clearer loading/progress states for connect, edit, and rule-table actions, and modal delete confirmations. Discount and markup rules now add, edit, delete, and refresh their tables reliably without forcing a full page workflow. The Source dropdown defaults to Production, product scope is kept to All Products, and checkout/rate payload handling is hardened for sanitized rule data and packed shipment details.
  • 1.1.8 – Auto Calculate shipment details now passes the top-level packed handling units to the rate API. Previously the plugin discarded a returned pallet and sent its nested boxes instead, losing the pallet dimensions, weight, and freight class and causing valid palletized shipments to return no rates.
  • 1.1.7 – Rating now writes to the WooCommerce log (WooCommerce > Status > Logs, source freightpop), which it never did before: which packing endpoint ran, how many cart lines went in and how many pieces came back, how many rates the rate endpoint returned, every fallback taken, and whether a result was served from the session cache without any API call at all. A cart that packed nothing used to return in silence, which at the checkout looks identical to a carrier declining the lane; it now says so, and the WooCommerce-dimension fallback introduced in 1.1.6 is tried there too, which it previously was not.
  • 1.1.6 – Recovers a rate when FreightPOP’s product catalog cannot pack the quantity in the cart. An item whose packing rule starts at a bulk quantity has nothing to match against a cart of one or two, so nothing packs and nothing rates; the same cart is now rated using the dimensions and weight held in WooCommerce, which depend on no packing rule. Only used when catalog packing produced no rates at all, only when every line has a real size and weight in WooCommerce, and recorded in the WooCommerce log so a store can see that its item master needs attention.
  • 1.1.5 – Rating now packs the cart through FreightPOP’s product/PackagingRules endpoint instead of product/AutoCalculateShipmentDetails. PackagingRules packs and applies the FreightPOP routing guide in the same call, so only the carriers the guide allows for that lane are quoted. It falls back to Auto Calculate automatically if it returns no packed items, so a routing guide that is not configured yet cannot stop a store quoting freight, and a new Packaging Source setting can pin the previous endpoint if a store needs it. When PackagingRules packs a cart that the rate endpoint cannot quote, the complete previous pack-and-rate sequence is retried once before the lane is declared unrateable, and empty API results are no longer cached, so a transient failure cannot guarantee five further minutes of rateless checkouts.
  • 1.1.4 – The shipper address now sends a Company value, which some broker carriers require before they will return small parcel rates. Shipping rate rows on the cart and checkout lay the label and price out in separate columns so long carrier names no longer overlap the price. The minimum WordPress requirement is lowered from 6.5 to 5.6, because the WordPress.org update API withholds updates entirely from sites below a plugin’s declared minimum, which left sites on WordPress older than 6.5 unable to see any update.
  • 1.1.3 – The shipper address now sends a Company value, which some broker carriers require before they will return small parcel rates. Shipping rate rows on the cart and checkout lay the label and price out in separate columns so long carrier names no longer overlap the price.
  • 1.1.2 – Shipping addresses now send the customer’s company when provided, falling back to the billing company and then the recipient name instead of a placeholder. Long carrier and service rate labels wrap on the cart and checkout pages.
  • 1.1.1 – Added shipping-zone instance settings, safe upgrades from 1.0, package-specific rate calculation, sandbox API support, safer caching and API failures, corrected discount conditions, and credential-handling improvements.
  • 1.1.0 – Updated for WordPress 7.0 compatibility, PHP 7.4+ metadata, WooCommerce dependency handling, prefixed database tables, and safer admin AJAX access.
  • 1.0 – Initial release of the FreightPOP integration plugin for WooCommerce.
Back to top