Test your integration

Two ways to test without affecting anyone: test keys to check single requests, and a sandbox to run your whole integration for real without being billed.

There are two ways to test, and they answer different questions:

  • Test keys answer "is this request right?" Every call is checked and simulated, nothing is saved.
  • The sandbox (for partners) answers "does my whole integration work?" Everything happens for real, with real companies, channels, webhooks and orders, but nothing is billed.

Most integrations use both: test keys while writing each call, the sandbox to run the full flow end to end before going live.

At a glance

Test key (nbl_test_…)Sandbox partner (live key)
WhoEveryonePartners (accounts:manage)
Requests are validatedYes, exactly like liveYes, it is live
Data is savedNo. A product you "create" can't be read backYes
Channels (Shopify, eBay…)Never touched; results marked "simulated"Really updated. Connect test stores
Webhooks and eventsNoneYes, like live (account_id on every company event)
Companies (POST /accounts)Simulated (acct_test, "simulated": true). You can't work inside itReal, at most 3 open at once
BillingNeverNever. The statement shows 0 and sandbox: true
Going liveSwitch to your nbl_live_ keyGo live in the dashboard; same key, same companies

Test keys

Create one in Settings → Developers (mode Test). Use it exactly like a live key:

curl -X POST https://api.nembol.com/rest/v1/products \
  -H "Authorization: Bearer nbl_test_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"title": "Test mug", "variants": [{"sku": "MUG-1", "price": "12.00", "quantity": 5}]}'

The answer has the shape a live call would return, with "simulated": true. Errors are real: a missing field, a wrong price format or a missing permission answers exactly as in live.

What a test key does not do:

  • Nothing is saved. Read calls return your store's real data, so a simulated product never appears in GET /products. Test each write on its own; don't chain "create, then read back".
  • No channel is contacted, no order is shipped, no email is sent.
  • No events or webhooks are produced by simulated calls.

Sandbox (partners)

The sandbox is your partner account with billing off. Everything works as in live (that is the point), so you can build the whole integration and watch it run:

  1. Your partner account starts in the sandbox: Nembol enables it that way. Check it with GET /partner/billing, which answers "sandbox": true and "sandbox_max_accounts": 3.
  2. Create up to 3 companies with POST /accounts. A 4th open company answers 409 sandbox_limit. Close one (POST /accounts/{id}/close) to free a place.
  3. Connect test stores, not real shops: a Shopify development store, an eBay or Etsy test account, a WooCommerce site you own. Listings, stock and orders really reach them. Marketplaces with buyers (Amazon, TikTok Shop) are real marketplaces, so publish carefully and delist when done.
  4. Receive webhooks and poll exactly as in production: every company's events reach your endpoints with account_id.
  5. Check the statement: GET /partner/statement lists your companies with amount 0 and "sandbox": true.

Going live

When your integration is ready, go live yourself from the dashboard: Settings → Partner → Go live (on the Sandbox notice).

  1. On card terms, add a card first. Nembol opens a secure Stripe page that saves the card and charges nothing.
  2. Confirm. The window shows how many companies are open and what they cost per month at your rates. Billing starts that day, prorated by day.
  3. GET /partner/billing then answers "sandbox": false.

Your key, your companies, their channels and your webhooks stay exactly as they are, with nothing to migrate. Close test companies you don't want billed before going live.

Going live is one way: switching back would stop billing live companies, so to come back to the sandbox write to developer@nembol.com. It isn't available from the API on purpose: billing never starts from a script by mistake.

Which one when

  • Writing a new call or a new error branch → test key.
  • Checking that a webhook handler, the connect flow (return link), order polling and fulfillment work together → sandbox.
  • A seller-only integration (no partner program) → test key, then a live key on a test store connected to your own Nembol store.

Last updated on October 16, 2026

Need help?

Email us and a human replies, usually within one business day.

On this page