AtoShip for WooCommerce

چۈشەندۈرۈش

AtoShip for WooCommerce integrates your store with the AtoShip shipping platform, giving you access to discounted rates from USPS, FedEx, UPS, DHL, and 10+ more carriers.

Key Features

  • Discounted Shipping Labels — Save up to 89% on USPS, FedEx, UPS, and DHL shipping labels.
  • Real-Time Checkout Rates — Show live carrier rates to customers at checkout via the WooCommerce Shipping Zones system.
  • Order Tracking Metabox — View carrier info, progress stepper, tracking timeline, and quick actions directly on the WooCommerce order page.
  • Automatic Order Sync — Orders sync to AtoShip automatically when they reach a configured status.
  • Webhook Integration — Receive real-time label, tracking, and delivery updates pushed from AtoShip.
  • Bulk Actions — Sync multiple orders or redirect to AtoShip for batch label purchasing.
  • WooCommerce HPOS Compatible — Fully supports High-Performance Order Storage.

Supported Carriers

USPS, FedEx, UPS, DHL, EasyPost, Shippo, ShipEngine, Pitney Bowes, and more.

How It Works

  1. Install and activate the plugin.
  2. Go to WooCommerce > Settings > AtoShip and click «Connect with AtoShip».
  3. Authorize your store via secure OAuth.
  4. Orders start syncing automatically — buy labels from the AtoShip dashboard or directly from the order page.

Requirements

  • WordPress 6.2 or higher
  • WooCommerce 6.0 or higher
  • PHP 7.4 or higher
  • An AtoShip account (sign up free)

External Services

This plugin connects to the AtoShip shipping platform to provide discounted shipping labels, real-time carrier rates, order syncing, and tracking updates.

AtoShip API

  • What it is: AtoShip is a multi-carrier shipping platform that provides access to discounted shipping rates from USPS, FedEx, UPS, DHL, and 10+ additional carriers.
  • What data is sent: Order details (recipient address, package dimensions, weight, product names), store URL, and authentication tokens. Data is sent when syncing orders, fetching shipping rates at checkout, purchasing shipping labels, and receiving webhook updates.
  • When data is sent: When orders are synced to AtoShip, when customers view shipping rates at checkout, when labels are purchased from the order page, and when AtoShip sends webhook notifications for label and tracking events.
  • Service URL: https://atoship.com
  • Terms of Service: https://atoship.com/terms
  • Privacy Policy: https://atoship.com/privacy

Carrier Logo Images

  • What it is: Carrier logo images (e.g., USPS, FedEx, UPS logos) are loaded from AtoShip’s servers to display carrier branding in the order metabox.
  • What data is sent: Standard HTTP requests (browser user-agent, IP address) when loading images.
  • When data is sent: When viewing order details in the WordPress admin that have shipping label information.
  • Service URL: https://atoship.com
  • Terms of Service: https://atoship.com/terms
  • Privacy Policy: https://atoship.com/privacy

ئېكران كەسمىسى

ئورنىتىش

  1. Upload the atoship-for-woocommerce folder to the /wp-content/plugins/ directory, or install via the WordPress plugin installer.
  2. Activate the plugin through the ›Plugins‹ menu in WordPress.
  3. Navigate to WooCommerce > Settings > AtoShip.
  4. Click «Connect with AtoShip» to authorize your store.

FAQ

Do I need an AtoShip account?

Yes. You can sign up for free — no monthly fees, you only pay for the labels you purchase.

Which carriers are supported?

AtoShip supports USPS, FedEx, UPS, DHL, and 10+ additional carriers. Rates are returned based on your AtoShip account configuration.

Does this plugin support WooCommerce HPOS?

Yes. The plugin is fully compatible with WooCommerce High-Performance Order Storage (HPOS).

How do real-time checkout rates work?

After connecting, add «AtoShip Shipping» as a shipping method in WooCommerce > Settings > Shipping > Zones. Customers will see live carrier rates at checkout based on their address and cart contents.

Is my data secure?

All communication between your store and AtoShip uses HTTPS with OAuth 2.0 authentication. Webhook payloads are verified using HMAC-SHA256 signatures.

باھالاشلار

بۇ قىستۇرمىغا تېخى باھا يېزىلمىدى.

تۆھپىكار ۋە ئىجادكار

«AtoShip for WooCommerce» كودى ئوچۇق يۇمشاق دېتال. تۆۋەندىكى كىشىلەر بۇ قىستۇرمىغا تۆھپە قوشقان.

تۆھپىكار

«AtoShip for WooCommerce» نى تىلىڭىزغا تەرجىمە قىلىڭ

ئىجادىيەتكە قىزىقامسىز؟

كودقا كۆز يۈگۈرتۈپ، SVN خەزىنە تەكشۈرۈپ ياكى RSSئارقىلىق ئىجادىيەت خاتىرىسىگە مۇشتەرى بولغىلى بولىدۇ.

ئۆزگىرىش خاتىرىسى

1.3.6

  • Improvement: Updated the screenshots on this page. They still showed the one-order-at-a-time workflow from before the Ship Queue existed, so the gallery no longer matched what you get when you install. The Ship Queue is now the first screenshot. No code changes.

1.3.5

  • New: Ship Queue — a dedicated screen (new atoship menu) for working through everything that still needs a label, instead of opening orders one at a time. Search, sort, date range, four tabs (To ship / Shipped / No shipment needed / All) with counts, and your atoship balance.
  • New: Rates are fetched for every row automatically when the page opens, so you see prices without clicking each order. Pick a service and buy from the row. Weight, dimensions and ship-from are editable per row.
  • New: International shipments can now be bought from WooCommerce. Customs description and declared value appear automatically when the destination is another country, pre-filled from the order.
  • New: Require a signature on delivery, per order, from the queue.
  • New: Two views above the order list — Needs label and Label bought — with counts. WooCommerce’s own statuses say nothing about whether a label exists; these do.
  • New: Buying in bulk shows what the click will cost and refuses when your atoship balance cannot cover it, instead of stopping halfway with some labels bought and some not.
  • New: Print several labels at once from the queue.
  • Fix: A voided label left the order stuck in «Label bought» forever. Voiding only marked the label, so the order never came back to the work queue. Voided orders now return to Needs label.
  • Fix: Voiding a label in atoship now updates WooCommerce too. The order used to stay marked complete, showing the buyer a tracking number the carrier no longer recognised.
  • Fix: Shipped rows now link their tracking number and offer Print and Track, and show the service as well as the carrier.
  • Fix: The queue’s horizontal scrollbar was invisible, so on a narrower window the columns on the right — including Buy — looked like they did not exist.
  • Improvement: Switching between lbs and oz (or in and cm) no longer throws away the price you were quoted — the same parcel keeps the same quote.
  • Improvement: The carrier and service you usually pick for an order is remembered and preselected.
  • Compatibility: Tested up to WooCommerce 10.9.4.

1.3.4

  • Fix: Buying a label now locks to the exact rate you selected. The plugin sends the chosen rate’s id when creating the label, so you are charged the price shown on the rate you picked instead of the cheapest matching carrier/service rate (which could differ from what was displayed).
  • Improvement: When fetched rates have expired (left the order page open too long), buying now shows a clear «rates have expired — fetch rates again» message instead of a technical API error.

1.3.3

  • Compatibility: Bumped WC tested up to to 10.7.0 (current WooCommerce minor).
  • Code Quality: Rewrote uninstall.php to use $wpdb->prepare() with the %i identifier placeholder for table-name interpolation, clearing all wordpress.org Plugin Check Test warnings on that file.
  • Requirements: Minimum WordPress raised from 5.8 to 6.2 (the version that introduced the %i placeholder we now use in uninstall queries).

1.3.2

  • Refreshed plugin page screenshots and captions to better reflect the current UI (order metabox, settings tab, and shipping-method integration).

1.3.1

  • Compatibility: Tested up to WordPress 7.0.
  • Compatibility: Admin styles now adapt to the new Modern admin theme by using WordPress admin theme CSS variables (with fallbacks for older WP versions).
  • Security: Escape conditional class output in tracking timeline (cosmetic Plugin Check warning fix; no functional change).

1.3.0

  • Security: Properly escape all outputs with esc_html, esc_attr, wp_kses_post.
  • Security: Strengthened REST API permission callbacks with write-access verification.
  • Security: Webhook endpoint now always verifies HMAC signature when a secret is configured.
  • Compliance: Added «Requires Plugins: woocommerce» header.
  • Compliance: Added External Services documentation to readme.
  • Compliance: Moved inline styles to wp_add_inline_style for proper enqueuing.
  • Compliance: Renamed shipping method class to use plugin-specific prefix.

1.2.0

  • Added inline rate comparison and label purchase directly from WooCommerce order page.
  • Added ship-from address selector with saved addresses from AtoShip account.
  • Added AtoShip icon to metabox title.
  • Shows all available rates (no longer limited to top 10).
  • Rate list resets when ship-from address is changed.

1.1.0

  • Added visual progress stepper (Preparing > Picked up > In Transit > Delivered) on the order page.
  • Added carrier logo and service name display in the shipping metabox.
  • Added collapsible tracking timeline with event history.
  • Added «Track on [Carrier]» quick action button.
  • Added AtoShip tracking page link for tracking numbers.

1.0.0

  • Initial release.
  • OAuth-based connection to AtoShip.
  • Automatic order sync with configurable status triggers.
  • Real-time shipping rates at checkout.
  • Webhook handler for label and tracking updates.
  • Bulk order actions.
  • WooCommerce HPOS compatibility.