API Docs

Connecting Shopify via Webhook

The fastest way to connect Shopify to 3PLGuys. Point a Shopify webhook directly at our API — no code required. Orders automatically create Pick & Pack shipments.

Looking for more control?

If you need custom SKU mapping, inventory sync, or fulfillment callbacks to Shopify, see Connecting Shopify Programmatically instead.


How It Works

Direct Webhook Flow
Shopify Order
Customer places order
Webhook
Sent to 3PLGuys API
PnP Shipment
Created & submitted
Warehouse
Picks, packs, ships
  1. Customer places an order in Shopify
  2. Shopify sends a webhook to POST /v0/shopify/orders
  3. 3PLGuys matches SKUs and creates a Pick & Pack shipment
  4. Warehouse fulfills the order

Prerequisites

  • Matching SKUs: Your Shopify product SKUs must exactly match your 3PLGuys inventory SKUs
  • API Key: Generate one from your 3PLGuys dashboard with shipments and inventory scopes

Setup

1. Generate an API Key

Go to Account Settings → API Keys in your 3PLGuys dashboard. Create a key with shipments and inventory scopes.

Save your key

The key is shown only once. Copy it immediately.

2. Verify SKUs Match

Your Shopify variant SKUs must exactly match your 3PLGuys product SKUs. Check for typos, extra spaces, or case differences.

3. Create the Webhook in Shopify

In your Shopify admin:

  1. Go to Settings → Notifications → Webhooks
  2. Click Create webhook
  3. Configure:
FieldValue
EventOrder creation
FormatJSON
URLhttps://api.3plguys.com/v0/shopify/orders
  1. Add a custom header:
Authorization: Bearer YOUR_API_KEY_HERE
  1. Save the webhook

Testing

Use the sandbox environment first:

EnvironmentURL
Sandboxhttps://sandbox.3plguys.com/v0/shopify/orders
Productionhttps://api.3plguys.com/v0/shopify/orders

Create a test order in Shopify and verify a shipment appears in your 3PLGuys dashboard.


Response Codes

ResponseMeaning
200 with shipmentIdOrder processed, shipment created
200 with duplicate: trueOrder already processed (idempotent)
401Invalid API key
422 with unknown_skusSKU not found in 3PLGuys inventory
422 with no_warehouseNo warehouse configured

Limitations

  • No fulfillment callback: Shopify orders remain "Unfulfilled" until manually updated.
  • No inventory sync: Stock levels don't sync between Shopify and 3PLGuys.
  • No cancellation handling: If an order is cancelled in Shopify, manually cancel the shipment in 3PLGuys.

For these features, use the programmatic integration instead.


Troubleshooting

IssueSolution
Orders not appearingCheck webhook URL and Authorization header
Unknown SKUs errorEnsure Shopify SKUs exactly match 3PLGuys SKUs
401 errorsVerify API key is correct and has required scopes

Next Steps