{"id":287734,"date":"2026-03-13T23:46:49","date_gmt":"2026-03-13T23:46:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/atoship-for-woocommerce\/"},"modified":"2026-07-28T05:08:24","modified_gmt":"2026-07-28T05:08:24","slug":"atoship-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/nl.wordpress.org\/plugins\/atoship-for-woocommerce\/","author":23445485,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.5","stable_tag":"1.3.5","tested":"7.0.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"AtoShip for WooCommerce","header_author":"AtoShip","header_description":"Connect your WooCommerce store to AtoShip for streamlined shipping management, label printing, and order fulfillment.","assets_banners_color":"4b3f60","last_updated":"2026-07-28 05:08:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/atoship.com\/integrations","header_author_uri":"https:\/\/atoship.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":520,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"atoship","date":"2026-03-13 23:46:04"},"1.3.1":{"tag":"1.3.1","author":"atoship","date":"2026-05-20 07:51:44"},"1.3.2":{"tag":"1.3.2","author":"atoship","date":"2026-05-20 18:32:25"},"1.3.3":{"tag":"1.3.3","author":"atoship","date":"2026-05-20 21:09:07"},"1.3.5":{"tag":"1.3.5","author":"atoship","date":"2026-07-28 05:08:24"}},"upgrade_notice":{"1.3.3":"<p>Minimum WordPress is now 6.2 (was 5.8). Cleaner uninstall using prepared statements with the <code>%i<\/code> identifier placeholder.<\/p>","1.3.2":"<p>Refreshed plugin page screenshots and captions.<\/p>","1.3.1":"<p>Tested with WordPress 7.0. Admin styles adapt to the new Modern admin theme.<\/p>","1.3.0":"<p>Security and compliance improvements for WordPress.org plugin directory.<\/p>","1.1.0":"<p>New order tracking metabox with visual progress stepper, carrier logos, and tracking timeline.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3482335,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3482335,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3482335,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3482335,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0","1.3.1","1.3.2","1.3.3","1.3.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3539865,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3539865,"resolution":"2","location":"assets","locale":"","width":1280,"height":1507},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3539865,"resolution":"3","location":"assets","locale":"","width":1280,"height":1086}},"screenshots":{"1":"Get rates and buy labels directly from the WooCommerce order edit page \u2014 sender, recipient, package, and \"Get Rates\" all in one sidebar metabox.","2":"The AtoShip settings tab inside WooCommerce \u2014 OAuth status, order sync, tracking, and webhook configuration in one place.","3":"AtoShip registers as a native WooCommerce shipping method so real-time carrier rates flow into your shipping zones alongside any other method."}},"plugin_section":[],"plugin_tags":[3808,3546,550,3519,286],"plugin_category":[36,45],"plugin_contributors":[257732],"plugin_business_model":[],"class_list":["post-287734","plugin","type-plugin","status-publish","hentry","plugin_tags-labels","plugin_tags-shipping","plugin_tags-tracking","plugin_tags-usps","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-atoship","plugin_committers-atoship"],"banners":{"banner":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/banner-772x250.jpg?rev=3482335","banner_2x":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/banner-1544x500.jpg?rev=3482335","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/icon-128x128.png?rev=3482335","icon_2x":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/icon-256x256.png?rev=3482335","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/screenshot-1.png?rev=3539865","caption":"Get rates and buy labels directly from the WooCommerce order edit page \u2014 sender, recipient, package, and \"Get Rates\" all in one sidebar metabox."},{"src":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/screenshot-2.png?rev=3539865","caption":"The AtoShip settings tab inside WooCommerce \u2014 OAuth status, order sync, tracking, and webhook configuration in one place."},{"src":"https:\/\/ps.w.org\/atoship-for-woocommerce\/assets\/screenshot-3.png?rev=3539865","caption":"AtoShip registers as a native WooCommerce shipping method so real-time carrier rates flow into your shipping zones alongside any other method."}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Discounted Shipping Labels<\/strong> \u2014 Save up to 89% on USPS, FedEx, UPS, and DHL shipping labels.<\/li>\n<li><strong>Real-Time Checkout Rates<\/strong> \u2014 Show live carrier rates to customers at checkout via the WooCommerce Shipping Zones system.<\/li>\n<li><strong>Order Tracking Metabox<\/strong> \u2014 View carrier info, progress stepper, tracking timeline, and quick actions directly on the WooCommerce order page.<\/li>\n<li><strong>Automatic Order Sync<\/strong> \u2014 Orders sync to AtoShip automatically when they reach a configured status.<\/li>\n<li><strong>Webhook Integration<\/strong> \u2014 Receive real-time label, tracking, and delivery updates pushed from AtoShip.<\/li>\n<li><strong>Bulk Actions<\/strong> \u2014 Sync multiple orders or redirect to AtoShip for batch label purchasing.<\/li>\n<li><strong>WooCommerce HPOS Compatible<\/strong> \u2014 Fully supports High-Performance Order Storage.<\/li>\n<\/ul>\n\n<h4>Supported Carriers<\/h4>\n\n<p>USPS, FedEx, UPS, DHL, EasyPost, Shippo, ShipEngine, Pitney Bowes, and more.<\/p>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to WooCommerce &gt; Settings &gt; AtoShip and click \"Connect with AtoShip\".<\/li>\n<li>Authorize your store via secure OAuth.<\/li>\n<li>Orders start syncing automatically \u2014 buy labels from the AtoShip dashboard or directly from the order page.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.2 or higher<\/li>\n<li>WooCommerce 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>An AtoShip account (<a href=\"https:\/\/atoship.com\">sign up free<\/a>)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the <strong>AtoShip<\/strong> shipping platform to provide discounted shipping labels, real-time carrier rates, order syncing, and tracking updates.<\/p>\n\n<h4>AtoShip API<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: AtoShip is a multi-carrier shipping platform that provides access to discounted shipping rates from USPS, FedEx, UPS, DHL, and 10+ additional carriers.<\/li>\n<li><strong>What data is sent<\/strong>: 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.<\/li>\n<li><strong>When data is sent<\/strong>: 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.<\/li>\n<li><strong>Service URL<\/strong>: <a href=\"https:\/\/atoship.com\">https:\/\/atoship.com<\/a><\/li>\n<li><strong>Terms of Service<\/strong>: <a href=\"https:\/\/atoship.com\/terms\">https:\/\/atoship.com\/terms<\/a><\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/atoship.com\/privacy\">https:\/\/atoship.com\/privacy<\/a><\/li>\n<\/ul>\n\n<h4>Carrier Logo Images<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Carrier logo images (e.g., USPS, FedEx, UPS logos) are loaded from AtoShip's servers to display carrier branding in the order metabox.<\/li>\n<li><strong>What data is sent<\/strong>: Standard HTTP requests (browser user-agent, IP address) when loading images.<\/li>\n<li><strong>When data is sent<\/strong>: When viewing order details in the WordPress admin that have shipping label information.<\/li>\n<li><strong>Service URL<\/strong>: <a href=\"https:\/\/atoship.com\">https:\/\/atoship.com<\/a><\/li>\n<li><strong>Terms of Service<\/strong>: <a href=\"https:\/\/atoship.com\/terms\">https:\/\/atoship.com\/terms<\/a><\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/atoship.com\/privacy\">https:\/\/atoship.com\/privacy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>atoship-for-woocommerce<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install via the WordPress plugin installer.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to WooCommerce &gt; Settings &gt; AtoShip.<\/li>\n<li>Click \"Connect with AtoShip\" to authorize your store.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20atoship%20account%3F\"><h3>Do I need an AtoShip account?<\/h3><\/dt>\n<dd><p>Yes. You can <a href=\"https:\/\/atoship.com\">sign up for free<\/a> \u2014 no monthly fees, you only pay for the labels you purchase.<\/p><\/dd>\n<dt id=\"which%20carriers%20are%20supported%3F\"><h3>Which carriers are supported?<\/h3><\/dt>\n<dd><p>AtoShip supports USPS, FedEx, UPS, DHL, and 10+ additional carriers. Rates are returned based on your AtoShip account configuration.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20woocommerce%20hpos%3F\"><h3>Does this plugin support WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully compatible with WooCommerce High-Performance Order Storage (HPOS).<\/p><\/dd>\n<dt id=\"how%20do%20real-time%20checkout%20rates%20work%3F\"><h3>How do real-time checkout rates work?<\/h3><\/dt>\n<dd><p>After connecting, add \"AtoShip Shipping\" as a shipping method in WooCommerce &gt; Settings &gt; Shipping &gt; Zones. Customers will see live carrier rates at checkout based on their address and cart contents.<\/p><\/dd>\n<dt id=\"is%20my%20data%20secure%3F\"><h3>Is my data secure?<\/h3><\/dt>\n<dd><p>All communication between your store and AtoShip uses HTTPS with OAuth 2.0 authentication. Webhook payloads are verified using HMAC-SHA256 signatures.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>New: <strong>Ship Queue<\/strong> \u2014 a dedicated screen (new <strong>atoship<\/strong> 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.<\/li>\n<li>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.<\/li>\n<li>New: <strong>International shipments<\/strong> can now be bought from WooCommerce. Customs description and declared value appear automatically when the destination is another country, pre-filled from the order.<\/li>\n<li>New: Require a signature on delivery, per order, from the queue.<\/li>\n<li>New: Two views above the order list \u2014 <strong>Needs label<\/strong> and <strong>Label bought<\/strong> \u2014 with counts. WooCommerce's own statuses say nothing about whether a label exists; these do.<\/li>\n<li>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.<\/li>\n<li>New: Print several labels at once from the queue.<\/li>\n<li>Fix: <strong>A voided label left the order stuck in \"Label bought\" forever.<\/strong> Voiding only marked the label, so the order never came back to the work queue. Voided orders now return to Needs label.<\/li>\n<li>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.<\/li>\n<li>Fix: Shipped rows now link their tracking number and offer Print and Track, and show the service as well as the carrier.<\/li>\n<li>Fix: The queue's horizontal scrollbar was invisible, so on a narrower window the columns on the right \u2014 including Buy \u2014 looked like they did not exist.<\/li>\n<li>Improvement: Switching between lbs and oz (or in and cm) no longer throws away the price you were quoted \u2014 the same parcel keeps the same quote.<\/li>\n<li>Improvement: The carrier and service you usually pick for an order is remembered and preselected.<\/li>\n<li>Compatibility: Tested up to WooCommerce 10.9.4.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>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).<\/li>\n<li>Improvement: When fetched rates have expired (left the order page open too long), buying now shows a clear \"rates have expired \u2014 fetch rates again\" message instead of a technical API error.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Compatibility: Bumped <code>WC tested up to<\/code> to 10.7.0 (current WooCommerce minor).<\/li>\n<li>Code Quality: Rewrote <code>uninstall.php<\/code> to use <code>$wpdb-&gt;prepare()<\/code> with the <code>%i<\/code> identifier placeholder for table-name interpolation, clearing all <code>wordpress.org Plugin Check Test<\/code> warnings on that file.<\/li>\n<li>Requirements: Minimum WordPress raised from 5.8 to 6.2 (the version that introduced the <code>%i<\/code> placeholder we now use in uninstall queries).<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Refreshed plugin page screenshots and captions to better reflect the current UI (order metabox, settings tab, and shipping-method integration).<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Compatibility: Tested up to WordPress 7.0.<\/li>\n<li>Compatibility: Admin styles now adapt to the new Modern admin theme by using WordPress admin theme CSS variables (with fallbacks for older WP versions).<\/li>\n<li>Security: Escape conditional class output in tracking timeline (cosmetic Plugin Check warning fix; no functional change).<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Security: Properly escape all outputs with esc_html, esc_attr, wp_kses_post.<\/li>\n<li>Security: Strengthened REST API permission callbacks with write-access verification.<\/li>\n<li>Security: Webhook endpoint now always verifies HMAC signature when a secret is configured.<\/li>\n<li>Compliance: Added \"Requires Plugins: woocommerce\" header.<\/li>\n<li>Compliance: Added External Services documentation to readme.<\/li>\n<li>Compliance: Moved inline styles to wp_add_inline_style for proper enqueuing.<\/li>\n<li>Compliance: Renamed shipping method class to use plugin-specific prefix.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added inline rate comparison and label purchase directly from WooCommerce order page.<\/li>\n<li>Added ship-from address selector with saved addresses from AtoShip account.<\/li>\n<li>Added AtoShip icon to metabox title.<\/li>\n<li>Shows all available rates (no longer limited to top 10).<\/li>\n<li>Rate list resets when ship-from address is changed.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added visual progress stepper (Preparing &gt; Picked up &gt; In Transit &gt; Delivered) on the order page.<\/li>\n<li>Added carrier logo and service name display in the shipping metabox.<\/li>\n<li>Added collapsible tracking timeline with event history.<\/li>\n<li>Added \"Track on [Carrier]\" quick action button.<\/li>\n<li>Added AtoShip tracking page link for tracking numbers.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>OAuth-based connection to AtoShip.<\/li>\n<li>Automatic order sync with configurable status triggers.<\/li>\n<li>Real-time shipping rates at checkout.<\/li>\n<li>Webhook handler for label and tracking updates.<\/li>\n<li>Bulk order actions.<\/li>\n<li>WooCommerce HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Connect your WooCommerce store to AtoShip for discounted shipping labels, real-time rates, and tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/287734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=287734"}],"author":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/atoship"}],"wp:attachment":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=287734"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=287734"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=287734"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=287734"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=287734"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=287734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}