Skip to content

Product document for one slug — the frontend's read model; all prices are Woo-computed display values.

GET
/products/{slug}
curl --request GET \
--url https://wp.si.nutrisslim.com/wp-json/nf/v1/products/example \
--header 'X-NF-Key: <X-NF-Key>'
slug
required
string
>= 1 characters

OK

Media typeapplication/json
object
id
required
integer
slug
required
string
name
required
string
type
required

WooCommerce product type, e.g. simple, variable, nutrisslim

string
prices
required

Money envelope (ADR-017): integer minor units plus a currency descriptor, never a float and never a formatted string. Amounts are tax-inclusive display values - WooCommerce computes money, the frontend only formats it (Invariant 2).

object
currency
required

The currency descriptor half of the money envelope (ADR-017). Stated once per pricing block; every amount alongside it is an integer in this currency’s minor units.

object
code
required

ISO 4217 code, e.g. EUR, HUF.

string
>= 3 characters <= 3 characters
minor_unit
required

Decimal places the minor unit has - EUR 2, HUF 0. Nothing may assume 100 minor units per currency unit.

integer
regular
required

The regular unit price - before any sale price and before any tier discount - tax inclusive, in currency.minor_unit units. 1290 with EUR/2 is 12.90 EUR. For a bundle it is the rows at their regular prices.

integer
sale
required

The quantity-1 discounted unit price, tax inclusive, same units as regular; null when no discount applies to a single unit - a bundle (type nutrisslim) whose tier-1 percentage is 0, or any other product not on a Woo sale.

integer | null
stock_status
required
string
Allowed values: instock outofstock onbackorder
images
required
Array<object>
object
src
required
string
alt
required
string
pricing
required

Quantity-tier pricing (ADR-017): every amount is an integer in currency.minor_unit units, tax inclusive. tiers always carries the quantity-1 row; the quantity-2 row is present only when a tier-2 discount percentage is stored on the product, and the quantity-3 row only when tier 3 is stored - a tier that is not configured is omitted rather than repeating tier 1’s numbers.

object
currency
required

The currency descriptor half of the money envelope (ADR-017). Stated once per pricing block; every amount alongside it is an integer in this currency’s minor units.

object
code
required

ISO 4217 code, e.g. EUR, HUF.

string
>= 3 characters <= 3 characters
minor_unit
required

Decimal places the minor unit has - EUR 2, HUF 0. Nothing may assume 100 minor units per currency unit.

integer
tiers
required
Array<object>
object
quantity
required
integer
Allowed values: 1 2 3
unit
required

The discounted unit price for this tier, tax inclusive.

integer
total
required

Unit x quantity.

integer
regular_unit
required

The regular unit price (before sale and tier), tax inclusive - same for every tier.

integer
regular_total
required

Regular_unit x quantity.

integer
discount_percent
required

The percentage applied at this tier; 0 when no discount applies.

number
bundle
required

The bundle’s fixed composition when type is nutrisslim; null for every other product type.

object
items
required
Array<object>
object
product_id
required
integer
slug
required
string
name
required
string
quantity
required
integer
Example
{
"stock_status": "instock",
"pricing": {
"tiers": [
{
"quantity": 1
}
]
}
}

Missing or invalid X-NF-Key.

Media typeapplication/json
object
code
required
string
message
required
string
Examplegenerated
{
"code": "example",
"message": "example"
}

Not found.

Media typeapplication/json
object
code
required
string
message
required
string
Examplegenerated
{
"code": "example",
"message": "example"
}