OpenShopy
Dokumentacja API

Endpoint Index

Base URL: https://your-openshopy-domain/api/public/v1 (plus media at https://your-openshopy-domain/api/public/media/:storeId/:productId/:filename).

MethodPathScopeDescription
OPTIONS*—CORS preflight, no auth
GET/storestore:readGet store settings, currencies, payment/bank info
GET/productsproducts:readList products (filters, sort, pagination, currency conversion)
GET/products/:idproducts:readGet one product by id or slug
POST/productsproducts:writeCreate a product (+ variants/images/collections)
PATCH/products/:idproducts:writeUpdate a product
DELETE/products/:idproducts:writeDelete a product and its images
POST/products/:id/variantsproducts:writeAdd a variant
PATCH/variants/:idproducts:writeUpdate a variant (stock changes go through inventory adjust)
DELETE/variants/:idproducts:writeDelete a variant (fails if it's the last one)
POST/products/:id/imagesproducts:writeUpload an image (multipart file or JSON url)
PATCH/products/:id/images/:imageIdproducts:writeUpdate image alt/position/variant link
POST/products/:id/images/reorderproducts:writeReorder a product's images
DELETE/products/:id/images/:imageIdproducts:writeDelete an image
GET/collectionsproducts:readList collections
GET/collections/:idproducts:readGet a collection by id or slug
POST/collectionsproducts:writeCreate a collection
PATCH/collections/:idproducts:writeUpdate a collection
DELETE/collections/:idproducts:writeDelete a collection
POST/inventory/adjustinventory:writeAdjust stock by delta or set an absolute value
GET/inventory/movementsproducts:readList inventory movement history
GET/ordersorders:readList orders (filters, pagination)
GET/orders/tracknullPublic order lookup by number + email
GET/orders/:idorders:readGet full order (items, fulfillments, timeline, returns)
POST/ordersorders:writeCreate an order directly
PATCH/orders/:idorders:writeUpdate order fields / status
POST/orders/:id/confirm-paymentorders:writeMark payment as confirmed by merchant
POST/orders/:id/mark-unpaidorders:writeRevert payment to unpaid
POST/payments/:token/mark-sentcheckoutCustomer self-reports bank transfer sent
POST/orders/:id/cancelorders:writeCancel an order (optionally restock)
POST/orders/:id/notesorders:writeAdd an internal note/timeline event
POST/orders/:id/notificationsorders:writeResend a notification email
POST/orders/:id/fulfillmentsorders:writeCreate a shipment (full or partial)
PATCH/fulfillments/:idorders:writeUpdate a shipment's status/tracking
DELETE/fulfillments/:idorders:writeDelete a shipment, reverting fulfilled quantities
POST/orders/:id/refundsorders:writeIssue a refund
POST/orders/:id/returnsorders:writeRequest a return
PATCH/returns/:idorders:writeUpdate return status (approve/receive/refund/reject)
GET/invoicesinvoices:readList invoices
GET/invoices/:idinvoices:readGet an invoice
POST/orders/:id/invoicesinvoices:writeIssue an invoice or proforma for an order
POST/invoices/:id/correctionsinvoices:writeIssue a correction to an invoice
POST/invoices/:id/credit-notesinvoices:writeIssue a credit note against an invoice
POST/invoices/:id/cancelinvoices:writeCancel an invoice
GET/customerscustomers:readList customers
GET/customers/:idcustomers:readGet a customer + addresses
POST/customerscustomers:writeCreate a customer
PATCH/customers/:idcustomers:writeUpdate a customer
DELETE/customers/:idcustomers:writeDelete a customer
GET/customers/:id/ordersorders:readList a customer's order history
POST/customers/:id/addressescustomers:writeAdd an address to a customer
DELETE/customers/:id/addresses/:addressIdcustomers:writeDelete a customer's address
POST/customer-auth/registercustomer_accountsStorefront customer registration / claim account
POST/customer-auth/logincustomer_accountsStorefront customer login
POST/customer-auth/logoutcustomer_accountsInvalidate the current customer session
POST/customer-auth/password-resetcustomer_accountsRequest a password reset email
POST/customer-auth/password-reset/confirmcustomer_accountsConfirm password reset with token
GET/customer-auth/mecustomer_accountsGet the logged-in customer's profile
PATCH/customer-auth/mecustomer_accountsUpdate profile / change password
POST/customer-auth/me/addressescustomer_accountsAdd an address as the logged-in customer
DELETE/customer-auth/me/addresses/:addressIdcustomer_accountsDelete own address
GET/customer-auth/me/orderscustomer_accountsList own order history
GET/customer-auth/me/orders/:idcustomer_accountsGet one of own orders
POST/cartscheckoutCreate a cart
GET/carts/:tokencheckoutGet a cart with live price quote
PATCH/carts/:tokencheckoutUpdate cart fields
POST/carts/:token/itemscheckoutAdd/increment a line item
DELETE/carts/:token/items/:variantIdcheckoutRemove a line item
POST/carts/:token/checkoutcheckoutConvert cart into an order
POST/checkout/quotecheckoutPrice a set of lines without a cart
GET/shipping/ratesshipping:readGet available shipping options
GET/shipping/zonesshipping:readList shipping zones + their rates
POST/shipping/zonesshipping:writeCreate a shipping zone
POST/shipping/zones/:id/ratesshipping:writeAdd a rate to a zone
GET/pickup-locationsshipping:readList active pickup locations
GET/carriersshipping:readList carriers
GET/taxes/ratestaxes:readList tax rates
PUT/taxes/ratestaxes:writeUpsert a tax rate
POST/taxes/calculatetaxes:readCalculate tax for an amount
GET/discountsdiscounts:readList discounts
GET/discounts/:iddiscounts:readGet a discount
POST/discountsdiscounts:writeCreate a discount
PATCH/discounts/:iddiscounts:writeUpdate a discount
DELETE/discounts/:iddiscounts:writeDelete a discount
POST/discounts/validatecheckoutValidate a discount code against a cart
POST/eventsanalytics:writeIngest analytics event(s)
GET/analytics/summaryanalytics:readRevenue/order summary for a date range
GET/abandoned-cartsorders:readList abandoned carts
GET/api/public/media/:storeId/:productId/:file— (separate route, no API key)Serve a stored product image