Product

Estimates points, cashback earned and cashback usage limits per product.

Changed on

Send an array of products with the store's external Id and current Price. Each item is estimated independently. Response order and repeated IDs are preserved. Name and PriceCurrency are optional; no currency conversion is performed.

Cashback earned

  • Points: estimated points after bonuses, limits and zero-point rules.
  • Cashback: cashback earned from those points, truncated to whole currency units.
  • CashbackPercent: earned percentage before monetary truncation, rounded upward to a whole percentage. Do not calculate it from Cashback / Price.

Cashback you can use

  • CanUseCashback: false for a restricted product; true for a permitted or unknown product, including when restrictions are disabled or empty.
  • CanUseCashbackPercent: maximum percentage of the price payable with cashback, assuming sufficient balance. Preserves the configured percentage and fractions, reduced by the monetary cap when applicable. Redemption rounding is not applied here.

A restricted product can still earn cashback. For a positive price, its CanUseCashbackPercent is 0. Without active cashback, all four cashback fields are null. For a nonpositive price, both percentage fields are null. Percentages use percentage units: 20 means 20%.

Example

With no bonuses, one point per currency unit, cashback worth 0.01 per point, a 20% usage limit and no monetary cap:

Request

[{"Id":"4571633770876","Price":2999.99}]

Product estimate

{
  "Id": "4571633770876",
  "Points": 2999,
  "Cashback": 29,
  "CashbackPercent": 1,
  "CanUseCashback": true,
  "CanUseCashbackPercent": 20
}

For a price of 200, a 30% usage limit and a monetary cap of 40, CanUseCashbackPercent is 20%.

Cart restrictions

Minimum purchase requirements are ignored here and checked on the cart. The monetary cap applies to the whole order: do not sum product estimates to authorize redemption. Actual use also depends on the customer's balance and monetary rounding at redemption.

post/v1/pub/Product/pointslist

Request

  • Base URL
    https://api.bonifiq.com.br
  • Auth
    API key in header X-BQ-ApiToken

Request body

Idstring required

Product Id on the ecommerce platform

Pricenumber required

Current product selling price

PriceCurrencystring nullable

Optional currency label (for example, BRL). It does not select a currency or perform conversion; the calculation uses Price as supplied.

Namestring nullable

Optional product name. It does not affect product lookup, earning rules or cashback restrictions.

TradePolicyIdstring nullable

Optional trade policy (sales channel) identifier from the ecommerce platform, such as the VTEX sc. Earning rules restricted to this trade policy are included in the estimate. An unknown or empty value is ignored, so the estimate is the same as when the field is omitted.

Example request

[
  {
    "Id": "SKU-001",
    "Price": 499.99,
    "PriceCurrency": "BRL",
    "Name": "Running shoes"
  }
]

Response

Product estimates in the same order as the request.

Idstring

External product identifier, returned exactly as supplied in the request.

Pointsinteger

Estimated earned points after applicable bonuses, limits and zero-point rules. This is a product estimate, not a guarantee of points granted for a completed order.

Cashbacknumber nullable

Estimated cashback earned from the simulated points, truncated to whole currency units. Null when cashback is unavailable; zero is a valid estimate and differs from null.

CashbackPercentnumber nullable

The cashback percentage calculated from the final simulated points and product price, including bonuses and limits, rounded up to a whole percentage before monetary truncation. It will be null if cashback is unavailable or the product price is not positive.

CanUseCashbackboolean nullable

Whether cashback can be used on this product, considering product restrictions only, not the customer's balance. False for restricted products, true for eligible products (including unknown products or disabled restrictions), and null when cashback is inactive.

CanUseCashbackPercentnumber nullable

Maximum percentage of this product's price payable with cashback, assuming sufficient balance. Includes product restrictions, the configured percentage limit and monetary cap, before redemption rounding. Null without active cashback or for a nonpositive price; zero for a restricted product.

Example response

[
  {
    "Id": "SKU-001",
    "Points": 499,
    "Cashback": 4,
    "CashbackPercent": 1,
    "CanUseCashback": true,
    "CanUseCashbackPercent": 20
  }
]

Changes

    • info

      added the new optional request property /

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status