Skip to main content

Quantity Pricing Synchronization (B2B)

This endpoint handles the update of volume-based pricing and specific price lists for Shopify B2B catalogs. It allows you to define both the unit price for a specific list and the discount thresholds based on quantity.

⚠️ Important Note To synchronize quantity prices, the product must already have a modified price (Fixed Price) in the reference price list. The system cannot apply quantity discounts to lists that dynamically inherit the base price without a pre-existing price exception.

General Information​

This endpoint allows you to define purchase thresholds and relative discounted prices (e.g., "If you buy at least 50 pieces, the unit cost drops from €70 to €60").

The target identification occurs via marketId or priceListId:

  • marketId: The update is propagated to all price lists associated with that specific market.
  • priceListId: The update is targeted specifically to the provided price list.
  • Priority: If both fields are present in the payload, the system will exclusively use the priceListId, ignoring the market.

Field Management Logic​

Synchronization follows specific rules for each field, allowing for data updates, maintenance, or total removal.

1. Unit Price (price)​

This field defines the main price (Fixed Price) within the destination list or market.

  • Value greater than 0: The price is updated with the provided numerical value.
  • Value equal to 0: Indicates the removal of the price exception. The list will no longer have a specific price, and the product will revert to inheriting the base price from the general Shopify catalog.
  • Value null: The system ignores the field. The price currently present on Shopify will remain unchanged.

2. Compare-at Price(compareAtPrice)​

Used to manage the promotional aspect (strikethrough price) within the list.

  • Value ≥ price: The submitted value is set, correctly displaying the discount in the catalog.
  • Value < price: To avoid logical errors (discounted price higher than the original price), the value is forced and set equal to the value passed in the price field, effectively canceling the visual discount.
  • Value equal to 0: The compare-at price is reset to 0, removing the strikethrough price indication.
  • Value null: No modification applied; any existing value remains unchanged.

3. Quantity Pricing (qtyPricing)​

Manages purchase tiers to unlock volume discounts.

  • Populated (Array): The system adopts a "total overwrite" logic. All quantity prices previously saved for that list will be deleted and replaced exclusively by those provided in the new JSON.
  • Empty array []: Acts as a bulk delete command. All existing quantity prices for that product and list are removed.
  • Value null: No action applied. Useful if you want to update only the unit price without modifying existing volumetric thresholds.

Destination Fields (At least one required)​

  • marketId: Shopify Market ID.
  • priceListId: Specific Price List ID.

On Shopify, the Market ID is the last number found in the URL of the market page. (e.g.: https://admin.shopify.com/store/yourShopifyStore/markets/123456789)

Example Payload​

[
{
"sku": "VARIANT_SKU_001",
"marketId": "italy-main",
"priceListId": "PL_001",
"price": 35.50,
"compareAtPrice": 45.00,
"qtyPricing": [
{
"price": 25.50,
"quantity": 10
},
{
"price": 20.50,
"quantity": 15
}
]
}
]

Destination configuration​

Configure a Shopify destination and associate it with the flow, in addition to the basic data flow configuration.

FieldValueNotes
Destination TypeShopify
OperationQuantity pricingPOST /egress/sync-quantity-pricing-to-shopify
GraphQL endpoint URLhttps://SHOPIFYURL.myshopify.com/Shopify Admin GraphQL endpoint URL
Admin API access tokenshpat_CODICEALFANUMERICOOr Client ID (API key) + Client secret — see Authentication
Client ID (API key)YOUR_CLIENT_ID
Client secretYOUR_CLIENT_SECRET

Deprecated — previous configuration (HTTP Adapter)​

Deprecated

Configuration via HTTP Adapter with Base Url, Resource Path, and x-api-key header in Settings Override is deprecated. Use the Shopify destination configuration described above.

In addition to the basic data flow configuration, the following Settings Override settings were required:

FieldValueNotes
Base Urlhttps://adapter.flowlyze.ioAdapter URL
Resource Path/api/adp/shopify/egress/sync-quantity-pricing-to-shopifyAdapter path for quantity pricing (B2B)
Headers :: x-api-key**********API key to verify endpoint interaction
Headers :: x-shopify-graphql-urlhttps://SHOPIFYURL.myshopify.com/Shopify store URL to connect to
Headers :: x-shopify-access-tokenshpat_CODICEALFANUMERICOSecret of the custom app created for integration