---
schema_version: "1"
id: 008aef476ff664a75484d42a6b1d38ce9d4697a0895694be952faf155e6254d1
title: Workflow to Run Pricing Promotions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/mktg/264-0-0/global_promotions_management_run_pricing_workflow.md
canonical_url: https://help.salesforce.com/s/articleView?id=mktg.global_promotions_management_run_pricing_workflow.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 0030f5fe781013042eb1ef618e1dffaffcac0896e18603fc9a69d91d89a45593
description: Review the workflow for how multiple APIs work together to show customers the promotions their carts are eligible for and to apply the promotions that customers use for their orders. The workflow differs depending on whether your company's promotions use coupons or not.
products:
  - Marketing
release: "264"
---
# Workflow to Run Pricing Promotions

Review the workflow for how multiple APIs work together to show customers the promotions their carts are eligible for and to apply the promotions that customers use for their orders. The workflow differs depending on whether your company's promotions use coupons or not.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>,&nbsp;<strong>Unlimited</strong>, and&nbsp;<strong>Developer</strong>&nbsp;Editions with Real-Time Offer Management</td></tr></tbody></table>

## Run Pricing Promotions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:11.11111111111111%">
          <col style="width:33.33333333333333%">
          <col style="width:55.55555555555556%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e72">sequence</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e75">API</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e78">api USE</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e72 ">1</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e75 "><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_eligible_promotions.htm" target="_blank">Eligible Promotions API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e78 ">Provides customers a list of promotions that are eligible for their carts.</td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e72 ">2</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e75 ">
              <p><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_promotion_execution.htm" target="_blank">Promotion Evaluation and Execution API</a></p>
              <p style="margin-bottom:0;">The API
                is used only when Promotion Evaluation and Execution is enabled</p>
            </td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e78 ">Evaluates cart details and returns the adjusted price of cart and line items after
              applying eligible promotions based on the selected promotion evaluation and execution
              method.</td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e72 ">3</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e75 ">
              <a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_promotion_rewards.htm" target="_blank">Promotion Reward Application API</a>
            </td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e78 ">Processes non-pricing rewards for customers after they select promotions and place
              their orders.</td>

          </tr>
        </tbody>
      </table>

## Run Pricing Promotions with Coupons

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
          <col style="width:25%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e153">sequence</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e156">API</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e159">api USE</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d18865e162">Considerations</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e153 ">1</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e156 "><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_eligible_promotions.htm" target="_blank">Eligible Promotions API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e159 ">Provides customers the details of the active coupons for their cart's eligible
              promotions.</td>

            <td data-label="Considerations" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e162 ">N/A</td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e153 ">2</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e156 "><a href="https://help.salesforce.com/s/articleView?id=mktg.global_promotions_management_run_pricing_coupon_validation_api.htm&amp;release=264.0.0&amp;type=5" title="Use the Coupon Validation API to verify manually entered coupon codes before applying discounts. Validating coupons upfront—rather than waiting until checkout—gives customers immediate feedback on whether their code works. The API checks if the coupon exists, is active, hasn't reached redemption limits, and if the cart is eligible for the promotion.">Coupon Validation API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e159 ">Confirms that a coupon code that a customer enters is valid for their cart before
              the coupon's promotion is applied.</td>

            <td data-label="Considerations" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e162 ">Optional. Use this API when a customer manually enters a coupon code that isn't
              necessarily part of the Eligible Promotions API's response, or to confirm a coupon's
              validity right before checkout.</td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e153 ">3</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e156 "><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_couponusageincrease.htm" target="_blank">Coupon Usage Increase API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e159 ">Increases the overall usage count and the customer's usage count of the coupon</td>

            <td data-label="Considerations" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e162 ">
              <p>If the customer deselects the coupon after selecting it for their cart, use the <a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_coupon_usage_decrease.htm" target="_blank">Coupon Usage Decrease API</a> to revert the coupon usage
                count.</p>
              <p style="margin-bottom:0;">You can also use the Coupon Usage Decrease API for scenarios where a coupon must
                be reversed for failed or canceled transactions.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e153 ">4</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e156 "><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_promotion_execution.htm" target="_blank">Promotion Evaluation and Execution API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e159 ">Evaluates cart details and returns the adjusted price of cart and line items after
              applying eligible promotions based on the selected promotion evaluation and
              execution method.</td>

            <td data-label="Considerations" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e162 ">The API is used only when Promotion Evaluation and Execution is enabled.</td>

          </tr>
          <tr class="">
            <td data-label="sequence" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e153 ">5</td>

            <td data-label="API" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e156 "><a href="https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_promotion_rewards.htm" target="_blank">Promotion Reward Application API</a></td>

            <td data-label="api USE" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e159 ">Processes non-pricing rewards for customers after they select promotions and place
              their orders.</td>

            <td data-label="Considerations" class="slds-cell-wrap" style="vertical-align:top;" headers="d18865e162 ">You can choose to not run the Coupon Usage Increase API. In this scenario, set the
              <samp class="parmname">shouldCheckCouponUsageLimit</samp> parameter to True in the
              Promotion Reward Application API. The API checks the coupon's usage limit and then
              increases the coupon's usage.
            </td>

          </tr>
        </tbody>
      </table>

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-mktg-real_time_offer_management-264-0-0-production-enus/9bd7649d-776f-43e6-b210-f781a48bbc79/images/icon_important.png)

Important To avoid discrepancies in coupon or promotion usage, keep the customer ID consistent across all the APIs that you integrate. You can run all the APIs for your contacts, accounts, and loyalty program members. When you run the APIs for a cart, make sure that you specify either the contact, account, or loyalty program member across all the API runs. If the loyalty program member ID or the contact or account ID is used interchangeably for a customer, the customer's promotion usage count isn’t correctly calculated.

If you provide a member's details along with their related contact details, the APIs are run in the context of the member and not their contact.