1. Changelog
Omisell Developer Portal | API Documentation & Integration Guides
  • Authentication
  • Common Errors
  • Overview
    • Introduction
    • Push Mechanism
    • Status overview
    • Accounting - API Call Flow
    • ERP Integration Flow
    • API Rate Limits
    • Guide: Direct Integration
    • MCP Server
    • Pagination
  • Changelog
    • 🔐 API Security Upgrade
    • Orders
    • Returns Order
    • Products
    • Shipments
    • Push mechanism
  • API Refference
    • Location
      • Get Country List
      • Get Province List By Country
      • Get District List By Province
      • Get SubDistrict List By District
    • Product
      • Get Product Category
      • Get Product List
      • Add Product
      • Get Product Detail
      • Update Product Detail
      • Get Product Detail by SKU
      • Update Product Detail by SKU
    • Inventory
      • Adjust Stock
      • Delisted Stock
      • Adjust Stock(Old)
    • Serial Number
      • Adjust Serial Number
    • Catalogue
      • Get Catalogue List
      • Get Catalogue Detail
    • Orders
      • Get Order List
      • Add Order
      • Update Document Order
      • Get Order Detail
      • Update Order
      • Cancel Order
      • Get Order Finance
      • Get Returns Receiving Note
      • Get Goods Receipts
    • Returns Order
      • Get Returns Order List
      • Add Order Return
      • Get Return Order Detail
    • Shipments
      • Get Shipment List
      • Add Shipment
      • Update Document Shipment
      • Update Shipment Status
      • Get Shipment Detail
    • Order Dropship
    • Pickup Address
      • Get Pickup List
      • Get WMS Pickup Map
    • Shop
      • Get Shop List
    • Finance
      • Get Order Revenue
      • Get Order Return Revenue
    • Customer
      • Get Customer Review List
    • Public
      • Get Seller by Partner
  • Webhooks
    • Order Status Push
    • Return Order Status Push
    • Shipment Status Push
    • Sale Invoice Request
  • eCommerce Platform
    • PrestaShop
    • Magento
    • Shopify
    • Woocommerce
    • Zalora
  1. Changelog

Products

03/11/2026 · Add pickup_code to the Adjust Serial Number response#

New field Non-breaking
APINew field
Adjust Serial Number (response)pickup_code
pickup_code sits right after pickup_id. The request body is unchanged.
Value
PK + (id + 100000), the same code GET /pickup/list shows. null when the id is null.

08/10/2026 · Add unit_name to products and variants#

New field Non-breaking
APINew field
Get Product Listresults[].unit_name (it already had esku)
Get Product Detail ¹variants[].unit_name (it already had esku; the product itself already had both)
¹ Also Get Product Detail by SKU, Add Product, Update Product Detail and Update Product Detail by SKU.
unit_name is the stock unit, e.g. Thùng, Hộp. null when the product has no unit set.
{ "sku": "COMBO-01", "esku": "ERP-COMBO-01", "unit_name": "Hộp", "variants": [ { "product_id": 123456, "sku": "COMBO-01-RED", "unit_name": "Hộp" } ] }

02/09/2026 · Category lookup, and variants[].product_id#

New endpoint Rename Behavior change
ChangeDetail
New endpoint — Get Product CategoryGET /api/v2/public/product/category. Returns the category_id values POST /product/add accepts, as a flat paginated list. No parameters gives the root categories; pass parent_category_id to walk down, or keyword to search.
category_id on Add Product is documented and validatedAn id that matches no category is rejected with 400 instead of being stored. An inactive category is still accepted. It cannot be changed on the Update endpoints — a value sent there is ignored.
variants[].id → variants[].product_idSame value, clearer name: it is an Omisell product id. id still works and there is no removal date; product_id wins if both are sent.
WARNING
product_id is only honoured when it is a variant of the product being written. It used to accept any product id on your account, which meant an id sent by mistake overwrote an unrelated product's name and price. Such an id is now ignored and a new variant is created instead.

02/09/2026 · sale_price replaces price_sale#

Rename Non-breaking
sale_price is the documented name for a product's selling price. price_sale is no longer described in this reference.
Nothing breaks. Responses still return price_sale next to sale_price with the same value, and POST /product/add still accepts it. Migrate your reads when convenient.
Endpoints now documenting sale_price
Get Product List
Add Product
Get Product Detail
Get Product Detail by SKU
Get Catalogue List
Get Catalogue Detail
NOTE
If both spellings are sent to Add Product, sale_price wins. 0 is a valid price, not "unset". sale_price means different things on different objects — see the Field naming: sale_price page under Overview before using it to reconcile.

15/10/2024 · New endpoints for Product, Stock and Serial number#

New endpoint
GroupAPI
ProductAdd product
ProductGet product detail by sku
ProductUpdate product detail by sku
StockAdjust stock
Serial numberAdjust serial number
Modified at 2026-11-03 04:42:23
Previous
Returns Order
Next
Shipments
Built with