E-commerce API

Launch, sell, and track orders effortlessly

Base URL: https://api.wemasy.nl/api
ⓘ Settings are saved in browser localStorage for convenience. Don't use production tokens on shared computers.

Cart Reminders (Public)

One-click unsubscribe from cart-reminder emails

GET /services/webshop/v1/cart-reminder/unsubscribe Public

Public endpoint hit from the unsubscribe link inside a reminder email. Decrypts the signed token, writes a row to the project's marketing suppression list, and (when the email belongs to a registered customer) mirrors the withdrawal onto the customer's profile.

Categories

List Categories

POST /services/webshop/v1/categories/all Auth

Get Category

POST /services/webshop/v1/categories/get Auth

Create Category

POST /services/webshop/v1/categories/create Auth

Update Category

POST /services/webshop/v1/categories/update Auth

Delete Category

POST /services/webshop/v1/categories/delete Auth

Customer Auth - Public

Verify customer email

GET /services/webshop/v1/customer/auth/verify-email/{customer_id}/{hash} Public

Confirms the customer's email address using the signed link sent to their inbox. On success the browser is redirected to the shop's verify-email page with `?verified=1`, or `?error=invalid` on a bad link. Falls back to JSON when no shop domain is configured.

Verify customer email

POST /services/webshop/v1/customer/auth/verify-email Public

Confirms the customer's email address using the token delivered to their inbox. Marks the email verified and links any prior guest orders placed under this address.

List supported countries

GET /services/webshop/v1/customer/public/countries Public

Returns the country list used by the customer-facing register and address pickers. Public so the unauthenticated register page can populate its country select without shipping a duplicate hardcoded list in the SPA bundle.

Register customer account

POST /services/webshop/v1/customer/auth/register Public

Creates a new customer account under the given project and returns a sanctum bearer token — the customer is logged in immediately without waiting on email verification. A verification email is sent, and any past guest orders with the same email are linked to the new account in the background.

Log in customer

POST /services/webshop/v1/customer/auth/login Public

Authenticates a customer and returns a sanctum bearer token to use on subsequent requests. Accounts with an unverified email can still log in.

Request password reset

POST /services/webshop/v1/customer/auth/password/forgot Public

Emails a password reset link to the customer. Responds with a generic success message whether or not the email matches an existing account, so the response cannot be used to probe which emails are registered. The link expires after 60 minutes.

Reset customer password

POST /services/webshop/v1/customer/auth/password/reset Public

Sets a new password using a token delivered by email. On success the email is also marked verified, since completing the reset flow proves email ownership.

Accept invitation

POST /services/webshop/v1/customer/auth/invitation/accept Public

Submitted by the storefront's accept-invitation page after the customer clicks the link from their invitation email. Validates the token, sets the customer's password, marks the email verified (reaching the inbox + entering the token proves ownership) and issues a sanctum bearer token so the customer is signed in immediately.

Customer Dashboard - Authenticated

Log out customer

POST /services/webshop/v1/customer/auth/logout Auth

Revokes the sanctum token used for the current request. Other tokens issued to the same customer (for example from other devices) remain valid.

Resend verification email

POST /services/webshop/v1/customer/auth/verify-email/resend Auth

Sends a fresh verification link to the authenticated customer's inbox. Returns 200 even when the customer is already verified, so callers can fire-and-forget without branching.

Get customer profile

POST /services/webshop/v1/customer/profile/get Auth

Returns the full profile of the currently authenticated customer, including default billing/shipping address snapshots and email verification status.

Update customer profile

POST /services/webshop/v1/customer/profile/update Auth

Updates the authenticated customer's name and phone. Email changes are deferred to a future endpoint that handles re-verification flow.

Update cart-reminder consent

POST /services/webshop/v1/customer/preferences/cart-reminder Auth

Toggles the authenticated customer's opt-in for abandoned-cart reminder emails. Setting `enabled` to true records a fresh consent (timestamp + text version + IP); setting it to false marks the consent as withdrawn.

Update default addresses

POST /services/webshop/v1/customer/addresses/update Auth

Updates the customer's default billing and shipping address snapshots. These are used to prefill checkout on future orders. Both fields are optional and independent (you can update only billing, only shipping, or both).

List customer orders

POST /services/webshop/v1/customer/orders/list Auth

Returns a paginated list of the authenticated customer's past orders, most recent first. Only completed checkout orders are returned — quotes are excluded.

Get customer order detail

POST /services/webshop/v1/customer/orders/get Auth

Returns the full detail of a single order belonging to the authenticated customer — line items, totals, billing/shipping snapshot, payment status. Requesting an order that belongs to a different customer returns 404.

Reorder a past order

POST /services/webshop/v1/customer/orders/reorder Auth

Appends every line item from a past order onto the authenticated customer's active shopping cart at current prices. Stock is NOT checked here — the cart's existing checkout flow validates availability when the customer proceeds to pay. Only products that have been deleted or disabled in the catalog are skipped (their rows can't be inserted). Shipping methods and discount codes are NOT carried over — the customer re-selects shipping at checkout, and automatic discounts (customer-tier, sale, campaign) re-evaluate against the cart's current state.

List customer quotes

POST /services/webshop/v1/customer/quotes/list Auth

Returns a paginated list of quote requests the authenticated customer has submitted, most recent first. Quotes are separate from orders — they carry no payment and exist for shops that offer a request-a-quote flow alongside regular checkout.

Change password

POST /services/webshop/v1/customer/password/change Auth

Changes the authenticated customer's password. Requires the current password as confirmation. All existing tokens (on this and every other device) are revoked and a fresh token is returned for this session — the client must swap it into storage and headers to stay logged in.

Delete customer account

POST /services/webshop/v1/customer/account/delete Auth

Permanently deletes the authenticated customer. Requires the current password as confirmation. Past orders are retained (invoice/tax retention) with their customer link removed.

Request email change (step 1 of 2)

POST /services/webshop/v1/customer/email/change/request Auth

Starts the change flow: validates the new address, stores a 6-digit OTP against the customer (max one pending at a time), sends the OTP to the new address and a security alert to the current address. Finish the change by submitting the code to the verify endpoint within 10 minutes.

Verify email change (step 2 of 2)

POST /services/webshop/v1/customer/email/change/verify Auth

Submits the 6-digit code received at the new email address. On success the email is changed, marked verified (entering the code proves ownership of the new inbox) and every existing token is revoked — the customer must log in again with the new address on every device.

Claim guest cart

POST /services/webshop/v1/customer/cart/claim Auth

Attaches a guest shopping cart (identified by its session token) to the authenticated customer, so the cart they built before logging in follows them into their account. Only unassigned carts can be claimed.

Customers Dashboard (Platform)

List Customers (picker)

POST /services/webshop/v1/customers/list Auth

Returns project-scoped customers, optionally filtered by a free-text search across email + first/last name. Capped at 50 rows.

List Customers (admin)

POST /services/webshop/v1/customers/all Auth

Returns project-scoped customers with order aggregates and basic profile fields, paginated and sortable. Supports free-text search across email, name, and company.

Get Customer (admin)

POST /services/webshop/v1/customers/get Auth

Returns one customer's full profile, addresses, and order aggregates, scoped to the current project.

Dashboard - Auth

Webshop admin dashboard stats

POST /services/webshop/v1/dashboard/stats Auth

Single endpoint that returns all sections for the webshop dashboard: KPIs (with compare deltas), revenue chart series, order status counts, recent orders, top products, low stock, abandoned carts, payment methods, order type split, and top discounts. Period anchors: - Revenue / AOV / paid metrics: `paid_at` (money collected) - Order count / type split / recent orders / chart: `created_at` (demand placed) - Refunds: `updated_at` (status change time; no dedicated refunded_at column)

Discounts

List Discounts

POST /services/webshop/v1/discounts/all Auth

Get Discount

POST /services/webshop/v1/discounts/detail Auth

Create Discount

POST /services/webshop/v1/discounts/create Auth

Update Discount

POST /services/webshop/v1/discounts/update Auth

Change Discount Status

POST /services/webshop/v1/discounts/bulk-change-status Auth

Delete Discount

POST /services/webshop/v1/discounts/bulk-delete Auth

Feeds

Delete Feed

POST /services/webshop/v1/feeds/delete Auth

Create Feed

POST /services/webshop/v1/feeds/create Auth

Update Feed

POST /services/webshop/v1/feeds/update Auth

Get Feed

POST /services/webshop/v1/feeds/get Auth

List Feeds

POST /services/webshop/v1/feeds/all Auth

Filters

List Filters

POST /services/webshop/v1/filters/all Auth

Get Filters

POST /services/webshop/v1/filters/dropdown Auth

Get Filter

POST /services/webshop/v1/filters/get Auth

Create Filter

POST /services/webshop/v1/filters/create Auth

Update Filter

POST /services/webshop/v1/filters/update Auth

Delete Filters

POST /services/webshop/v1/filters/delete Auth

GetStatus

Get SendCloud Status

GET /services/webshop/v1/integrations/sendcloud/status Auth

Orders - Auth

Get Shipping Methods

POST /services/webshop/v1/integrations/sendcloud/shipping-methods Auth

List Orders

POST /services/webshop/v1/orders/all Auth

Get Order Detail

POST /services/webshop/v1/orders/detail Auth

Returns full order details including products, pricing, tax breakdown, shipping, payment, discount and user/billing information. Response structure varies by order type (checkout or quote).

Update Order

POST /services/webshop/v1/orders/update-order Auth

Sync Order to Financial Provider

POST /services/webshop/v1/orders/sync-snelstart-order Auth

Rate limit: 5 requests per minute.

Mark Order as Paid

POST /services/webshop/v1/orders/mark-as-paid Auth

Mark Order as Cancelled

POST /services/webshop/v1/orders/mark-as-cancelled Auth

Mark Order as Completed

POST /services/webshop/v1/orders/mark-as-completed Auth

Mark Order as on Hold

POST /services/webshop/v1/orders/mark-on-hold Auth

Mark Order as Refunding

POST /services/webshop/v1/orders/mark-as-refunding Auth

Mark Order as Refunded

POST /services/webshop/v1/orders/mark-as-refunded Auth

Update Vendor Comment

POST /services/webshop/v1/orders/update-vendor-comment Auth

Get Shipping Methods

POST /services/webshop/v1/orders/sendcloud/shipping-methods Auth

Create Shipments

POST /services/webshop/v1/orders/sendcloud/shipments/push Auth

This endpoint validates orders and queues them for batch processing. Actual SendCloud API communication happens asynchronously in jobs.

Create Shipping Labels

POST /services/webshop/v1/orders/sendcloud/shipments/create-label Auth

This endpoint validates shipments and queues them for batch label processing. Actual SendCloud API communication happens asynchronously in jobs.

Download Shipping Labels Supports multiple shipments per order and different printer types

POST /services/webshop/v1/orders/sendcloud/shipments/download-labels Auth

Generate Invoice PDF

POST /services/webshop/v1/orders/pdfs/views/invoice Auth

Returns an HTML view rendered as a PDF invoice for the specified order.

Generate Package Slip PDF

POST /services/webshop/v1/orders/pdfs/views/package-slip Auth

Returns an HTML view rendered as a package slip for the specified order.

Generate PDF

POST /services/webshop/v1/orders/generate-pdf Auth

Orders - Public

Create Order

POST /services/webshop/v1/orders/create Public

Converts a shopping cart into an order. Creates quote and/or checkout orders based on cart products. For paid orders, initiates payment and returns a redirect URL.

Get Order

POST /services/webshop/v1/orders/get Public

Mark Order Purchase as Tracked

POST /services/webshop/v1/orders/mark-purchase-tracked Public

Pricing - Public

Resolve Contextual Prices

POST /services/webshop/v1/pricing/resolve Public

Returns ONLY the products whose price changes for this visitor (customer or campaign overlay). Products absent from the response should keep their static price.

Products

List Products

POST /services/webshop/v1/products/all Auth
POST /services/webshop/v1/products/get Auth

Create Product

POST /services/webshop/v1/products/create Auth

Update Product

POST /services/webshop/v1/products/update Auth
POST /services/webshop/v1/products/delete Auth

Duplicate Product

POST /services/webshop/v1/products/duplicate Auth

Products - Public

Google Shopping Feed

GET /services/webshop/v1/{websiteId}/product-feed.xml Public

Returns a Google Merchant Center compatible XML product feed.

Google Shopping Feed by Filter

GET /services/webshop/v1/{websiteId}/{feedId}/product-feed.xml Public

Returns a filtered Google Merchant Center compatible XML product feed.

Get Product Stock

POST /services/webshop/v1/products/get-stock Public

Get Product Stock Bulk

POST /services/webshop/v1/products/get-stock-bulk Public

Get Product Options Returns all options or filters by page_type if specified

POST /services/webshop/v1/products/get-options Public

Settings

Get Webshop Settings

POST /services/webshop/v1/settings/get Auth

Save Webshop Settings

POST /services/webshop/v1/settings/save Auth

Verify SendCloud Credentials

POST /services/webshop/v1/integrations/sendcloud/verify Auth

Set Default Shipping Method

POST /services/webshop/v1/integrations/sendcloud/default-method Auth

Get Financial Connections

POST /services/webshop/v1/get-financial-connections Auth

Save Financial Connection

POST /services/webshop/v1/save-financial-connection Auth

Shopping Cart - Public

Create Shopping Cart

POST /services/webshop/v1/shoppingcart/create Public

Get Shopping Cart

POST /services/webshop/v1/shoppingcart/get Public

Update Cart Quantity

POST /services/webshop/v1/shoppingcart/update-quantity Public

Returns the full updated cart (same response as Get Shopping Cart).

Delete Cart Product

POST /services/webshop/v1/shoppingcart/delete-product Public

Returns the full updated cart (same response as Get Shopping Cart).

Add User Details to Cart

POST /services/webshop/v1/shoppingcart/add/user-details Public

Returns the full updated cart (same response as Get Shopping Cart).

Add Shipping Method to Cart

POST /services/webshop/v1/shoppingcart/add/shipping-method Public

Returns the full updated cart (same response as Get Shopping Cart).

Add Payment Method to Cart

POST /services/webshop/v1/shoppingcart/add/payment-method Public

Returns the full updated cart (same response as Get Shopping Cart).

Add Product to Shopping Cart

POST /services/webshop/v1/shoppingcart/add Public

Returns the full updated cart (same response as Get Shopping Cart). Validates product options based on page_type if provided

Update Shopping Cart Item

POST /services/webshop/v1/shoppingcart/item-update Public

Returns the full updated cart (same response as Get Shopping Cart). Updates quantity and validates options based on page_type if provided

Verify Shopping Cart for Checkout

POST /services/webshop/v1/shoppingcart/verify-checkout Public

Validates all products are ready for checkout.

Apply Coupon Code

POST /services/webshop/v1/shoppingcart/apply-coupon Public

Remove Coupon Code

POST /services/webshop/v1/shoppingcart/remove-coupon Public

Transactions - Public

Create Transaction

POST /services/webshop/v1/transactions/create Public

Initiates a payment transaction for a checkout order. Creates a Mollie/Stripe payment session and returns a redirect URL. For non-payment methods (pay_on_pickup, wire transfer), redirects directly to the thank-you page.

Webshop Customers - Admin

Invite a customer

POST /services/webshop/v1/customers/invite Auth

Creates a new customer record without a password and emails them an invitation link. Clicking the link lands them on the storefront's accept-invitation page where they pick a password and are signed in automatically. The email arrives on the merchant's brand and the URL lives on the merchant's storefront domain (not the platform host).