Skip to main content

Connect The Courier Guy to Nevuto

What is The Courier Guy?

The Courier Guy is one of South Africa's largest couriers. It runs on the ShipLogic platform — that's the API Nevuto talks to under the hood. You can offer ECO/OVN/STD/SDX service levels for domestic shipping inside South Africa.

How Nevuto handles The Courier Guy

  • Nevuto connects to TCG through the ShipLogic API with a single API token that represents your sandbox or production account.
  • Both sandbox (test) and production (live) environments are supported; the Test mode toggle in Nevuto decides which one you talk to.
  • Webhooks are set up manually in the TCG/ShipLogic portal — TCG doesn't let you register webhooks through the API.
  • Your store currency must be ZAR, otherwise TCG appears as "Not available" in the provider list.
  • Your sender address country must be ZA — TCG only ships from inside South Africa.

1. Prerequisites

  • An active The Courier Guy account (live) or Sandbox Couriers account (test):
  • Your store currency must be ZAR — in any other currency, TCG shows as "Not available" in the provider list.
  • Your sender address country must be ZA — TCG only ships from inside South Africa.
  • Account balance or credit terms — in production you're billed per label.

2. The Courier Guy / Sandbox API key

For testing (sandbox):

  1. Go to sandbox.shiplogic.com/register → register for free.
  2. Verify your email → sign in.
  3. Settings → API Keys → create a key.
  4. Copy the token.

For live use:

  1. Sign in to the TCG portal (portal.thecourierguy.co.za).
  2. Settings → API Keys → create a key.
  3. Copy the token.

⚠️ Test and live accounts are separate systems. Use the "Test mode" toggle below to switch between them.

3. Connecting The Courier Guy in Nevuto

  1. From the Nevuto admin, go to Settings → Shipping → Shipping providers.
  2. Pick The Courier Guy from the list.
  3. Paste your token into the API key field.
  4. Turn on the Enable shipping method toggle.
  5. Test mode toggle: if you're using a sandbox key, turn it on; with a live key, leave it off. This toggle decides which TCG environment Nevuto talks to.
  6. Click Submit.

When you submit, Nevuto:

  • Stores your API key securely
  • Requires you to set up TCG webhooks manually (shown below) — TCG won't accept webhook subscriptions over the API, so you need to add them in the portal

4. Setting up the webhook manually (required)

TCG only lets you configure webhooks in the portal, not through the API. Don't skip this step or status updates will never reach Nevuto:

  1. Sign in to the TCG / Sandbox portal.
  2. Go to Settings → Webhook subscriptions.
  3. Add webhook subscription → pick the topic:
    • Tracking event — order status changes (required)
    • Other topics are optional (Shipment note, Parcel dimension changes, etc.)
  4. Paste this URL:
    https://core-api.nevuto.com/v1/admin/shipping/status/webhook/{shopID}/thecourierguy
    
    Replace {shopID} with the 32-character ID from Nevuto admin → Settings → General → Shop ID.
  5. Save.

💡 Don't share this URL with anyone you don't trust — they could change your order statuses.

5. Service level

After you save, a Settings card opens below:

  1. From the Service level dropdown, pick one or more TCG service codes:
    • ECO — Economy (cheapest, default, 3-5 business days)
    • OVN — Overnight Express (1 business day)
    • STD — Standard (2-3 business days)
    • SDX — Same Day Express (same day in major cities)
  2. Submit.

Behavior:

  • When a shipment is created, Nevuto uses the first service level you selected (TCG only accepts one service level per shipment).
  • If you don't pick anything, ECO is used as the default.

💡 If TCG adds a new service level, it'll appear in the dropdown after the next Nevuto update.

6. Sender address

TCG uses your sender address on every shipment. Nevuto pulls it from your store's default location:

  1. Settings → Locations.
  2. Fill the default location with a ZA address:
    • Street, City, Province (e.g. Gauteng or short code GP), ZIP (postal code), Country (ZA), Phone

💡 Province field: TCG accepts both the full name (Gauteng) and the short code (GP).

7. Shipping packages

TCG expects package dimensions in cm and weight in kg. Nevuto reads this info in the following order:

  1. Variant LWH info — if it's filled in on the product variant (most accurate)
  2. ShippingPackage reference
  3. Store default package
  4. Last resort: 20×20×20 cm + 0.5 kg fallback

Steps:

  1. Go to Settings → Shipping → Packages.
  2. Add package → name, type, L/W/H/unit, weight.
  3. Set as default.

8. Variant LWH

Enter real dimensions + weight for every variant (TCG rates are sensitive to volumetric weight):

  1. Products → edit product → Variants.
  2. Length / Width / Height / Weight.
  3. Unit: cm, weight: g/kg.

9. Customs declaration (international)

TCG currently only ships inside ZA. Don't use this integration for international shipping — pick another provider like Shippo or EasyPost.

10. Shipping an order

Once the customer pays, the order shows up in your admin with a "Mark as shipped" button.

  1. Open the order detail page.
  2. Click Mark as shipped.
  3. In the modal, pick The Courier Guy as the provider and Submit.
  4. Within a few seconds the order row shows a TCG tracking number (e.g. S7GL...), a tracking link and a "Print label" button.
  5. Click Print label to open the waybill PDF, print it and stick it on the parcel.
  6. Hand the parcel to a TCG driver or drop it off at the nearest TCG drop-off point.

💡 The customer can track the shipment from their order page using the tracking link; they also get email updates as the status changes.

11. Status lifecycle

Mark as shipped
    │
    ▼
[shipping_status: PROCESSING]      ← Label printed, carrier hasn't picked it up yet
    │
    ▼   "collected" → carrier picked up the parcel
[shipping_status: SHIPPED]         ← Webhook
    │
    ▼   "in-transit", "at-hub", "out-for-delivery" — in motion
    │
    ▼   "delivered" → with the customer
[shipping_status: DELIVERED]       ← Webhook

TCG status mapping (Nevuto):

  • Before pickup: submitted, collection-assigned, awaiting-dropoff → no change
  • In transit: collected, at-hub, manifested, ready-for-dispatch, in-transit, at-destination-hub, delivery-assigned, out-for-delivery, returned-to-hub → Shipped
  • Delivered: delivered, ready-for-pickup → Delivered
  • Failed delivery: cancelled, undeliverable, returned-to-sender and exception states → ignored

12. Label download

Clicking Print label opens the label PDF in a new tab. If you need a sticker-style label, you can also download one from the TCG portal.

13. Test mode

We recommend starting with the sandbox:

  1. Go to sandbox.shiplogic.com → create an account, grab an API key.
  2. In Nevuto, turn Test mode ON + paste the sandbox key + Submit.
  3. Test shipments:
    • You get a tracking number back
    • A label PDF is generated (stamped as test)
    • No real courier movement — the test environment simulates it
    • Test webhooks are fired (if you subscribed to Tracking event)
  4. Before going live, turn Test mode off and paste your live API key.

14. Troubleshooting

A. Tracking number arrives but the status never updates

  • Check TCG portal → Webhook subscriptions. Is the Nevuto webhook URL registered against the Tracking event topic? If you skipped this step, status updates never reach Nevuto (see section 4).

B. "401 Unauthorized" error

  • You might be using a sandbox key against the live environment or vice versa. Set the Test mode toggle to match the key.

C. Service level "OVN" gets rejected

  • OVN isn't active on your TCG account. Check TCG portal → Account → Services. ECO works on every account by default.

D. Package dimensions show as 20×20×20

  • The product variant has no dimensions, so Nevuto falls back to defaults. Add LWH to your variants for accurate rates.

E. State name gets rejected

  • TCG accepts both Gauteng and GP. If it's rejected, there's a typo in the province field.

F. Provider doesn't show up in the list

  • If your store currency isn't ZAR, you'll see "Not available in your store currency". Fix it in Settings → General → Currency.
  • If your store address country isn't ZA, you'll see "Doesn't ship from your shop location".

G. Webhooks stop working after going live

  • Sandbox and live accounts use separate webhook registrations. Re-add the webhook subscription in the live TCG portal.

15. Next steps

  • Run an end-to-end test in sandbox — order create → fulfill → label download → simulated tracking webhook
  • After going live, monitor the first week for consistency between TCG portal and Nevuto
  • Add OVN/SDX service levels as flat-rate shipping rules for specific customer segments

Need help?

Related articles