Supplier documentation

Feed your app and retrieve orders through the API.

Connect your ERP, e-commerce platform, POS or business software to SellViaApp. Send categories, products and prices, then retrieve confirmed shop orders as JSON.

Base URLhttps://api.sellviaapp.com/
Formatapplication/json; charset=utf-8
Current version2026.08
TransportHTTPS

From your software to customers

A simple two-way data flow

Your system remains the source of your business data. It feeds the SellViaApp shop while customer-confirmed orders flow back to your ERP or business software.

1

Your ERP

Products, categories, prices and content.

2

API SellViaApp

Secure JSON exchanges over HTTPS.

3

Mobile app

Customers browse and place orders.

4

Your orders

Your system retrieves them automatically.

No duplicate entry

External identifiers preserve the mapping to your ERP references, while pagination keeps large synchronisations reliable.

Quick start

Connect your system in three steps

1

Get your credentials

The API key identifies your shop. The administrator token protects server operations.

2

Feed the catalogue

Create categories, then send or update products from your ERP.

3

Retrieve orders

Poll the paginated supplier route and store every processed GUID.

Create a product · cURL
curl -X POST "https://api.sellviaapp.com/product/add" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_SUPPLIER_KEY" \
  -H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
  -d '{
    "external_key": "ERP-ARTICLE-1042",
    "code": "ART-1042",
    "name": "Premium product",
    "description": "Complete product description",
    "base_price": 24.90,
    "vat_rate": 21,
    "category_id": 12,
    "active": true
  }'
Retrieve orders · cURL
curl "https://api.sellviaapp.com/admin/order/list?page=1&per_page=25&from_date=2026-08-01" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_SUPPLIER_KEY" \
  -H "X-Admin-Token: YOUR_ADMIN_TOKEN"
Every order containsGUID, number, customer, lines, quantities, prices, VAT, total, currency, fulfilment mode, address and date.

Security

Separate credentials for each use

KEY

X-API-Key

Required to identify the supplier. Never expose the key in public JavaScript.

JWT

Authorization: Bearer

Required for signed-in customer data. Renew it through auth/refresh.

ADM

X-Admin-Token

Reserved for approved server integrations that modify catalogues and categories.

Server-side integration only

Keep X-API-Key and X-Admin-Token inside your server or ERP. Never place them in a public website, mobile app or source repository.

Endpoints

Authentication

Create, refresh and close secure sessions.

POST /auth/login API key

Sign a customer in using their login and password.

POST /auth/refresh API key

Renew an access token using a refresh token.

POST /auth/logout Key + Bearer

Close the active session.

POST /auth/guest API key

Create a guest session when enabled by the supplier.

POST /auth/forgot-password API key

Start account recovery without disclosing whether an account exists.

Endpoints

Suppliers and branding

Find a shop and retrieve its public configuration.

GET /admin/supplier/list Public

Search suppliers visible in the directory.

GET /admin/supplier/logo Public

Retrieve an optimised supplier logo.

GET /admin/supplier/contact API key

Retrieve configured public contact details.

GET /admin/supplier/legal API key

Retrieve terms, privacy, legal notice and about content.

GET /admin/megawinappcheck/check_supplier_to_use Public

Resolve a supplier from a suffix or identifier.

Endpoints

Customers

Create and manage customer accounts for each shop.

POST /customer/add API key

Create a customer and generate the supplier login.

GET /customer/list Key + Bearer

List or filter authorised customer information.

GET /customer/me Key + Bearer

Retrieve the signed-in customer profile.

PATCH /customer/update Key + Bearer

Update profile, language, type, email or password.

DELETE /customer/deleteaccount Key + Bearer

Deactivate the customer account in the active shop.

Endpoints

Catalogue

Categories, products, images, prices, stock, promotions and favourites.

GET /fam1/list Key + Bearer

List primary categories.

POST /fam1/add Administrator

Create a primary category.

PATCH /fam1/update Administrator

Update a primary category.

DELETE /fam1/delete Administrator

Hide a primary category.

GET /fam2/list Key + Bearer

List subcategories.

POST /fam2/add Administrator

Create a subcategory.

PATCH /fam2/update Administrator

Update a subcategory.

DELETE /fam2/delete Administrator

Hide a subcategory.

GET /product/list Key + Bearer

List and search products with pagination.

GET /product/image Signed URL

Serve a signed, cacheable product image.

POST /product/add Administrator

Create a product.

PATCH /product/update Administrator

Update a product.

DELETE /product/delete Administrator

Hide a product.

POST /product/favoris Key + Bearer

Add or remove a product from favourites.

GET /price/list Key + Bearer

List prices applicable to the customer group.

GET /mark/list Key + Bearer

List available brands.

GET /size/list Key + Bearer

List available sizes.

GET /libweb/list Key + Bearer

List web reference labels.

Endpoints

Cart and orders

Manage the cart and confirm an order atomically.

GET /admin/order/list Administrator

Retrieve all confirmed supplier orders with customer, lines and pagination.

GET /order/add Key + Bearer

Retrieve or initialise the current cart.

GET /order/list Key + Bearer

List the cart and order history.

DELETE /order/delete Key + Bearer

Clear and delete the current cart.

GET /order/total Key + Bearer

Calculate cart subtotal, VAT and total.

GET /order/count/line Key + Bearer

Count lines in the cart.

POST /order/sendtomegawin Key + Bearer

Confirm the order, fulfilment mode and address.

POST /orderline/add Key + Bearer

Add a product and quantity to the cart.

GET /orderline/list Key + Bearer

Retrieve current cart lines.

PATCH /orderline/update Key + Bearer

Update a line quantity.

DELETE /orderline/delete Key + Bearer

Remove a line from the cart.

Endpoints

Documents

Invoices, estimates, orders and their lines.

POST /document/add Key + Bearer

Create a document linked to the customer.

GET /document/list Key + Bearer

List or filter documents.

PATCH /document/update Key + Bearer

Update a document identified by GUID.

DELETE /document/delete Key + Bearer

Delete a document and its lines.

POST /documentline/add Key + Bearer

Add a line and recalculate the document.

GET /documentline/list Key + Bearer

Retrieve a document with all its lines.

PATCH /documentline/update Key + Bearer

Update a line identified by GUID.

DELETE /documentline/delete Key + Bearer

Delete a line and recalculate totals.

Endpoints

Support, notifications and integrations

Customer communication, support and external synchronisation.

GET /support/ticket/list Key + Bearer

List tickets available to the customer.

POST /support/ticket/create Key + Bearer

Create a support request.

GET /support/ticket/list/log_reply Key + Bearer

Retrieve a ticket and its replies.

GET /support/ticket/list/waiting_reply_by_support Key + Bearer

List requests waiting for support.

POST /support/ticket/reply/send Key + Bearer

Reply to a ticket.

POST /admin/supplier/sendfeedbackfromapp Key + Bearer

Send feedback to the supplier.

POST /admin/supplier/sendemailtosalesupport Key + Bearer

Contact sales support.

GET /admin/notification/sendtomobile Key + Bearer

Retrieve mobile notifications.

POST /admin/notification/setdelivery Key + Bearer

Mark a notification as delivered.

POST /woocommerce/menu/synchronisation Administrator

Synchronise WooCommerce categories.

POST /woocommerce/product/synchronisation Administrator

Synchronise WooCommerce products.

Core contracts

Detailed parameters

Parameters can be sent as JSON or, for GET routes, in the query string.

/auth/login+
NameTypeRequiredDescription
loginstringYes

Email, customer login or login including supplier suffix.

passwordstringYes

Customer password.

supplierstringNo

Supplier suffix or key when not included in the login.

/customer/add+
NameTypeRequiredDescription
nomstringYes

Customer last name.

prenomstringYes

Customer first name.

emailemailYes

Email unique within the supplier.

denominationstringNo

Company name, optional.

passwordstringYes

At least eight characters.

languestringNo

Preferred language.

/product/list+
NameTypeRequiredDescription
pageintegerNo

Page number, starting at 1.

per_pageintegerNo

Products per page.

searchstringNo

Search by code, name or description.

category_idintegerNo

Primary category filter.

subcategory_idintegerNo

Subcategory filter.

/product/add+
NameTypeRequiredDescription
codestringYes

Product code unique within the shop.

namestringYes

Name displayed in the app.

descriptionstringNo

Detailed product description.

base_pricedecimalYes

Selling price excluding tax according to your configuration.

vat_ratedecimalNo

VAT rate, for example 21.

category_idintegerNo

SellViaApp category identifier.

external_keystringNo

Stable identifier from your ERP.

image_urlurlNo

HTTPS URL of the main image.

activebooleanNo

Controls product visibility.

/admin/order/list+
NameTypeRequiredDescription
pageintegerNo

Requested page, starting at 1.

per_pageintegerNo

Orders per page, maximum 100.

from_datedateNo

Only return orders from this date.

guidstringNo

Retrieve one order by GUID.

statusstringNo

Filter available depending on storage mode: pending, preparing, ready, delivered or cancelled.

/order/sendtomegawin+
NameTypeRequiredDescription
order_guiduuidNo

GUID of the cart to confirm.

delivery_modeenumYes

pickup | delivery

delivery_addressstringNo

Required for delivery.

delivery_datedateNo

YYYY-MM-DD

delivery_commentstringNo

Fulfilment instructions.

languagestringNo

Transactional email language.

/document/add+
NameTypeRequiredDescription
doc_typestringYes

invoice | estimate | purchase_order

customer_idintegerNo

Legacy compatibility; the authenticated customer takes precedence.

doc_numberstringYes

Document number.

doc_datedateYes

YYYY-MM-DD

due_datedateNo

YYYY-MM-DD

payment_methodstringNo

Payment method.

remarkstringNo

Free-form remark.

/documentline/add+
NameTypeRequiredDescription
document_guiduuidYes

Document GUID.

textstringYes

Line description.

quantitydecimalYes

Quantity.

unit_pricedecimalYes

Unit price excluding VAT.

vat_ratedecimalNo

VAT rate.

discount_percentagedecimalNo

Percentage discount.

JSON

Response envelope

200 OK
{
  "success": true,
  "message": "OK",
  "data": {
    "items": []
  },
  "meta": {
    "page": 1,
    "per_page": 10,
    "total": 0
  }
}

Diagnostics

Structured errors

Every error exposes a machine-readable code, category, human-readable message and, when available, a request identifier.

400Invalid request
401Authentication required
403Access denied
404Resource or route not found
409Business conflict
422Validation failed
429Too many requests
5xxTechnical incident
422 Unprocessable Content
{
  "success": false,
  "message": "The delivery address is required.",
  "data": null,
  "error": {
    "code": "DELIVERY_ADDRESS_REQUIRED",
    "category": "validation",
    "message": "The delivery address is required.",
    "details": {}
  }
}

Legacy documentation

Legacy URLs remain recognised

The new API accepts variants published on doc.sellviaapp.com so existing integrations continue to work.

/api/document/*/document/*
/user/add/customer/add
/fam1/insert/fam1/add
/product/insert/product/add
/product/favorites/product/favoris
/order/count/order/count/line
/CUSTOMER/LIST/customer/list
Verification complete

Every route published in the legacy documentation now has a native route or a compatibility alias.