Help CenterGitHub
OpenCart
Integration Guide

OpenCart + AtoShip

Install the AtoShip extension on your OpenCart store, connect with an API key, and get automatic order sync, discounted carrier labels, and tracking writeback — all in one flow.

How it works

The integration uses a lightweight PHP extension that adds a REST API to your OpenCart store. AtoShip connects to that API using a Bearer token — no OAuth redirects, no complicated setup.

1

Customer places an order

New orders appear in your OpenCart store

2

Orders sync to AtoShip

Automatically imported with customer info, items, and weights

3

Buy label, tracking goes back

Tracking number and carrier written back to the order

Installation

Step 1 — Download the extension

Download atoship-for-opencart.zip from the sidebar button. This is a standard OpenCart 4.x extension package.

Step 2 — Install via the Extension Installer

In your OpenCart admin panel:

  1. Go to Extensions → Installer
  2. Click Upload and select the .zip file
  3. Wait for the green success message
  4. Click the Install button next to the atoship extension

Step 3 — Enable the module

After installing, activate the module:

  1. Go to Extensions → Extensions, then select Modules from the type dropdown
  2. Find Atoship and click the green Install button (if not already installed)
  3. Click the blue Edit button
  4. Set Status to Enabled and click Save
  5. Copy the API Key shown on this settings page — you'll need it in the next step

Step 4 — Connect from AtoShip

In your AtoShip dashboard:

  1. Go to Channels → Add Channel → OpenCart
  2. Enter your store URL (e.g. https://your-store.com)
  3. Paste the API Key copied from Step 3
  4. Click Connect Store

AtoShip will validate the credentials, confirm the connection, and register a webhook endpoint on your store. Existing orders will begin syncing automatically.

Extension settings

All settings live under Extensions → Modules → Atoship → Edit.

API Key

Auto-generated on install. This is the Bearer token AtoShip uses to authenticate all API calls. Copy it during setup and paste it into the AtoShip connect dialog. Use Regenerateif you suspect the key has been compromised — note that regenerating will disconnect your current AtoShip connection and require you to reconnect.

HMAC Secret

Used to sign webhook payloads sent from your store to AtoShip (e.g. new order events, status changes). Auto-configured — no manual action needed.

Shipped Status / Delivered Status

Controls which OpenCart order status is set when AtoShip writes back a tracking number (Shipped) or when the carrier reports delivery (Delivered). Default: Shipped → status 3, Delivered → status 5 (Complete). Adjust these to match your OpenCart order status setup.

Webhook URL

Auto-set by AtoShip during the connect step. Shown read-only for reference. This is the endpoint on your AtoShip account that receives real-time order events from OpenCart.

What gets synced

OpenCart → AtoShip

  • Order number, date, total
  • Shipping & billing addresses
  • Line items with SKU, quantity
  • Product images
  • Customer name & email
  • Order status

AtoShip → OpenCart

  • Tracking number & carrier name
  • Carrier tracking URL
  • Order history comment (Shipped / Delivered)
  • Order status update (Shipped → Complete)
  • Tracking widget on customer order page

Customer order tracking widget

Once a label is purchased in AtoShip, customers see a real-time AtoShip Shipping widget at the top of their order details page (/index.php?route=account/order.info).

Carrier & service

Carrier badge (FedEx, UPS, USPS, DHL), carrier name, and service level shown at a glance.

Progress stepper

4-step visual indicator: Preparing → Picked up → In Transit → Delivered. Updates automatically as tracking status changes.

Tracking number

Clickable tracking number linking directly to the carrier's tracking page.

Tracking timeline

Most recent 5 tracking events with timestamps — updated automatically by the AtoShip tracking cron.

The widget is injected via OpenCart's event system and requires no template modifications. It only shows for the order's customer (verified by session).

Troubleshooting

"Unauthorized" when connecting

Make sure the API Key is copied exactly from the extension settings page — no extra spaces. Also confirm the module Status is set to Enabled and saved.

Orders not syncing

Check the Store URL in AtoShip Channels → Edit. It must match the public URL of your OpenCart store exactly (including or excluding www). Trigger a manual sync from the Channels page to test.

Tracking not updating on OpenCart orders

Webhooks require your store to be publicly accessible. If your store is behind a firewall or on localhost, webhooks won't reach it. Use the Resend Tracking button on the AtoShip order detail page to manually push tracking data.

Extension not appearing after upload

OpenCart 4.x does not autoload extensions. After uploading the zip, you must click Install on the extension in the Installer list. If you don't see it, clear the cache under Dashboard → (gear icon) → Refresh.

Requirements

  • OpenCart 4.0.x or higher
  • PHP 8.0+
  • cURL extension enabled
  • Store accessible via public HTTPS URL
  • Admin account with Extensions permission
Download Extension
OpenCart 4.x extension. Upload via Extensions → Installer.
atoship-for-opencart.zip

v1.0.0 · OpenCart 4.0+ · PHP 8.0+

At a glance
Extension version1.0.0
AuthAPI Key (Bearer)
CarriersUSPS, UPS, FedEx, DHL
Plugin required
Yes — included
Webhooks
Supported
What's included
Order sync (auto + manual)
Product catalog sync
Tracking writeback
Order status updates
Customer tracking widget
Webhook events
Admin order panel
Ready to connect?
Download the extension, then connect from your dashboard.
atoship © 2026