MobileForce CPQ APIs

Introduction

This document describes the APIs for reading and updating MobileForce CPQ objects, such as Products, Categories, and Price Books.

The MobileForce CPQ API uses the MobileForce API to access the CPQ object. The MobileForce API allows one to list, read, create, update, and delete tables within the MobileForce platform. Please read the MobileForce API document before continuing with this document. This document will not describe how to call these APIs. It will describe only the supported CPQ tables and their fields.

One may access the following CPQ tables using the MobileForce API.

CPQ Table API Table Name
Product MFCPQProduct
Product Category MFCPQProductCategory
Price Book MFCPQPriceBook
Price Book Entry MFCPQPriceBookItem

Products (MFCPQProduct)

A product is anything that can be added as a line-item to a quote.

A product has the following fields

Product Categories (MFCPQProductCategory)

A product category is a named grouping of products. The main purpose of categories are to restrict and organize products in product selection. However, they can also be used in configuration and pricing rules.

Products can belong to multiple categories and categories can have multiple products.

Categories can be organized in a tree. If a product belongs to a category, then that product is accesible in that category as well as all parent categories.

A product category has the following fields

Price Books (MFCPQPriceBook)

All product prices are stored within price books. Price books represent a collection of prices, all with the same currency type. Every quote will have an associated price book.

Price books can be organized in a tree. If a product does not have a price in a price book, its price is looked up in the parent price book.

Price Book Entries (MFCPQPriceBookItem)

Price book entries are prices associated with a product and a price book. It is possible for a product to have multiple price book entries for a product and price book.

Price tiers

For the volume, tiered, and block pricing methods, the pricing tiers or blocks are specified in the priceTiers field. This field is a JSON array of objects, where each object has the following fields:

An example priceTiers value is:

[
    { "from": 1, "listPrice": 10 },
    { "from": 51, "listPrice": 8 },
    { "from": 101, "listPrice": 6 }
]

Suppose the quantity is 70. Then a volume pricing method using the above example would be 70 * $8 = $560, a tiered pricing method would be 50 * $10 + 20 * $8 = $660, and a block pricing method would be just $8.