> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.omegatheme.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# ShipStation Integration: Sync DingDoong orders to your fulfillment workflow

# ShipStation Integration: Sync DingDoong orders to your fulfillment workflow

Connect your ShipStation account to DingDoong so every order — along with its delivery or pickup date — flows automatically into ShipStation, ready to label and ship.

|| This feature is available on the **Smart** plan and above.

---

## Overview

The ShipStation integration keeps your fulfillment in one place. Once connected, DingDoong automatically pushes each new order into ShipStation as it comes in, so you can print labels and manage shipments without copying order details by hand. You can also backfill older orders, monitor sync health at a glance, and retry any order that failed to sync.

|| Connecting ShipStation does not change your storefront, your widget, or any existing orders. It only starts sending order data to ShipStation from the moment you connect.

---

## Before you start

You'll need a few things ready before connecting:

* The DingDoong app installed on your Shopify store, on the **Smart** plan or higher.
* An active **ShipStation** account.
* Your ShipStation **API Key** and **API Secret** (see Step 1 below for where to find them).

---

## How to set up the ShipStation integration

Here's how, step by step:

### Step 1: Get your API credentials from ShipStation

Log in to ShipStation, go to **Settings → API Settings**, then generate or copy your **API Key** and **API Secret**. Keep this tab open — you'll paste both values into DingDoong next.

![](https://storage.crisp.chat/users/helpdesk/website/-/8/3/8/3/8383e5404a31c000/image_1ygkqoz.png)

### Step 2: Open the ShipStation settings in DingDoong

In the DingDoong admin, go to **Settings → ShipStation**. You'll see the **ShipStation Connection** card with a "Not connected" badge and a short reminder of where to find your API credentials.

![](https://storage.crisp.chat/users/helpdesk/website/-/8/3/8/3/8383e5404a31c000/image_a36b0g.png)

### Step 3: Paste your API Key and API Secret

Enter your **API Key** and **API Secret** into the form. Both fields are required — DingDoong will let you know if either is missing.



### Step 4: Click "Test Connection"

Click **Test Connection**. DingDoong verifies your credentials against ShipStation. On success, the card switches to a **Connected** badge showing your masked API key and the verification date. If the credentials are wrong, you'll see an error message right above the form — fix the values and try again.



### Step 5: (Optional) Backfill your existing orders

Auto-sync only covers orders placed **after** you connect. To bring in earlier orders, open the **Sync Health** card and click **Sync old orders**. DingDoong queues those orders for sync and automatically skips any that are already in ShipStation, so it's safe to run.

![](https://storage.crisp.chat/users/helpdesk/website/-/8/3/8/3/8383e5404a31c000/image_utk0r3.png)

---

## How it looks in ShipStation

After setup, new DingDoong orders appear in your ShipStation Orders list automatically. From the **Quick Access** card in DingDoong, click **View orders in ShipStation** to jump straight to your ShipStation Orders page and start fulfilling.

![](https://storage.crisp.chat/users/helpdesk/website/-/8/3/8/3/8383e5404a31c000/image_8qk5hb.png)


---

## Monitoring your sync

Once connected, DingDoong gives you two tools to keep an eye on things.

### Sync Health card

At a glance, the **Sync Health** card shows three numbers: **orders synced today**, **errors today**, and your **last successful sync** time. If errors today is above zero, it's highlighted so you know to take a look.

### Sync Log

The **Sync Log** table lists every sync event with its **Order #**, **Event** (Create or Update), **Status** (Success, Failed, or Retrying), a short error message, and a timestamp. Use the filters to narrow the list by status or by date range. For any failed event, click **View** to open the full error detail — including the error message, number of attempts, the sanitized request payload, and the response from ShipStation — and click **Retry** to try syncing that order again.

|| Fix the underlying order data in Shopify before retrying a failed sync — otherwise it will likely fail again for the same reason.

---

## Common scenarios

### Start fresh — sync only new orders

Just connect your account. From that point on, every new order syncs automatically. You don't need to do anything else.

### Bring your existing orders into ShipStation

After connecting, click **Sync old orders** on the Sync Health card. Already-synced orders are skipped, so you can run this without creating duplicates.

### One order failed to sync

Open the **Sync Log**, filter by **Failed**, click **View** on the order, read the error, fix the order data in Shopify if needed, then click **Retry**.

---

## Configuration options

| Option | Description | Default | Notes |
| ---- |
| API Key | Public key from ShipStation used to identify your account | — | Required. Stored masked after connecting. |
| API Secret | Secret key from ShipStation used to authenticate | — | Required. Entered as a password field; never shown again after saving. |
| Test Connection | Verifies your credentials and activates auto-sync | — | Must succeed before any orders will sync. |
| Sync old orders | Queues pre-connection orders for a one-time backfill | — | Safe to run repeatedly — already-synced orders are skipped. |
| Sync Log filters | Filter events by status and date range | No filter (all events) | Status options: Success, Failed, Retrying. Date range uses From/To dates. |

---

## Tips & Best practices

|| After connecting, place a test order and check the **Sync Log** to confirm it appears with a **Success** status — that's the fastest way to know everything is working end to end.

| Check the **Sync Health** card during busy periods. If "errors today" starts climbing, open the Sync Log and resolve failures before they pile up.

| Keep your ShipStation API credentials private. If you ever regenerate them in ShipStation, reconnect in DingDoong with the new values.

---

## Troubleshooting

### "Test Connection" fails with an error

Double-check that you copied the **API Key** and **API Secret** exactly, with no extra spaces, and that they come from **Settings → API Settings** in ShipStation. Regenerate them in ShipStation if you're unsure, then paste the new values and try again.

### An order shows "Failed" in the Sync Log

Click **View** on that row to see the exact error and the request payload. Most failures come from missing or invalid order data (for example, an incomplete shipping address). Fix the order in Shopify, then click **Retry**.

### My older orders aren't in ShipStation

Auto-sync only covers orders placed after you connected. Use **Sync old orders** on the Sync Health card to backfill them.

### I don't see the ShipStation settings at all

The integration is available on the **Smart** plan and above. If you're on a lower plan, upgrade to unlock it.

---

## FAQ

### Does connecting ShipStation affect my existing orders or storefront?

No. Connecting only starts sending new order data to ShipStation. Your widget, storefront, and existing orders are untouched.

### Are my API credentials stored securely?

Your API key is stored masked, and the API secret is entered as a password field and never displayed again after you connect.

### How do I disconnect ShipStation?

On the connected **ShipStation** card, click **Disconnect** and confirm. This removes your API credentials, but your other DingDoong settings are preserved. Auto-sync stops immediately.

### Will "Sync old orders" create duplicates?

No. Orders already synced to ShipStation are skipped automatically, so it's safe to run the backfill more than once.

---