List Campaign Offers
curl --request GET \
--url https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"revision": 123,
"offers": [
{
"id": "<string>",
"windowId": "<string>",
"promotion": {
"name": "<string>",
"description": "<string>",
"kind": "product_discount",
"salesChannels": [
"pdp"
],
"discountType": "percentage",
"discountValue": 1,
"storeDiscounts": [
{
"storeKey": "<string>",
"discountType": "percentage",
"discountValue": 1
}
],
"targetStores": [
{
"marketplace": "lazada",
"country": "<string>",
"storeId": "<string>"
}
],
"minSalePrice": 1,
"maxDiscountAmount": 1,
"minSpend": 1,
"voucherCode": "<string>",
"claimStartsAt": "2023-11-07T05:31:56Z",
"totalUsageLimit": 4503599627370495,
"perBuyerLimit": 4503599627370495,
"mechanicConfig": {
"voucherType": "shopee_shop",
"voucherCampaign": {
"campaignId": "<string>",
"sessionId": "<string>",
"termsAccepted": true
},
"browserAutomation": {
"aopId": "<string>",
"variableValues": {},
"instructions": "<string>"
},
"voucherScope": "products",
"voucherReward": "discount",
"voucherAudience": "general",
"repeatPurchaseMinCount": 500,
"repeatPurchaseLookbackDays": 183,
"smartVoucher": true,
"followPrizeExpiryDays": 15,
"videoDisplayMode": "shopee_video",
"exclusiveCreatorUsernames": [
"<string>"
],
"exclusiveStreamerUsernames": [
"<string>"
],
"voucherDisplayChannels": [
"all"
],
"bundlePriceType": "discount",
"bundleTiers": [
{
"minimumQuantity": 1501,
"discountValue": 123
}
],
"thresholdType": "item_quantity",
"thresholdValue": 123,
"giftType": "gift",
"giftQuantity": 123,
"gifts": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"totalClaimLimit": 50000,
"variantId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"buyQuantity": 123,
"getQuantity": 123,
"benefitProductIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"benefitType": "free",
"benefitValue": 1,
"maxApplicationsPerOrder": 123,
"bundleMinimumQuantity": 1501,
"shippingDeliveryOption": "<string>",
"shippingBudget": 123
}
},
"promotionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"productIds": [],
"reviewNotes": "",
"excludedReason": "",
"source": {
"sheet": "<string>",
"rows": [
123
],
"headers": [
"<string>"
],
"values": [
[
"<string>"
]
]
}
}
],
"total": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495
}Campaigns
List Campaign Offers
Filter and page the canonical campaign plan or pending live proposal, with the same attention rules as the campaign editor.
Requires promotions:read. API keys and delegated Computer credentials resolve organization scope without browser cookies; optional organizationId must match that scope.
GET
/
api
/
v1
/
campaigns
/
{campaignId}
/
offers
List Campaign Offers
curl --request GET \
--url https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://omnicommerce.ai/api/v1/campaigns/{campaignId}/offers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"revision": 123,
"offers": [
{
"id": "<string>",
"windowId": "<string>",
"promotion": {
"name": "<string>",
"description": "<string>",
"kind": "product_discount",
"salesChannels": [
"pdp"
],
"discountType": "percentage",
"discountValue": 1,
"storeDiscounts": [
{
"storeKey": "<string>",
"discountType": "percentage",
"discountValue": 1
}
],
"targetStores": [
{
"marketplace": "lazada",
"country": "<string>",
"storeId": "<string>"
}
],
"minSalePrice": 1,
"maxDiscountAmount": 1,
"minSpend": 1,
"voucherCode": "<string>",
"claimStartsAt": "2023-11-07T05:31:56Z",
"totalUsageLimit": 4503599627370495,
"perBuyerLimit": 4503599627370495,
"mechanicConfig": {
"voucherType": "shopee_shop",
"voucherCampaign": {
"campaignId": "<string>",
"sessionId": "<string>",
"termsAccepted": true
},
"browserAutomation": {
"aopId": "<string>",
"variableValues": {},
"instructions": "<string>"
},
"voucherScope": "products",
"voucherReward": "discount",
"voucherAudience": "general",
"repeatPurchaseMinCount": 500,
"repeatPurchaseLookbackDays": 183,
"smartVoucher": true,
"followPrizeExpiryDays": 15,
"videoDisplayMode": "shopee_video",
"exclusiveCreatorUsernames": [
"<string>"
],
"exclusiveStreamerUsernames": [
"<string>"
],
"voucherDisplayChannels": [
"all"
],
"bundlePriceType": "discount",
"bundleTiers": [
{
"minimumQuantity": 1501,
"discountValue": 123
}
],
"thresholdType": "item_quantity",
"thresholdValue": 123,
"giftType": "gift",
"giftQuantity": 123,
"gifts": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"totalClaimLimit": 50000,
"variantId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"buyQuantity": 123,
"getQuantity": 123,
"benefitProductIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"benefitType": "free",
"benefitValue": 1,
"maxApplicationsPerOrder": 123,
"bundleMinimumQuantity": 1501,
"shippingDeliveryOption": "<string>",
"shippingBudget": 123
}
},
"promotionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"productIds": [],
"reviewNotes": "",
"excludedReason": "",
"source": {
"sheet": "<string>",
"rows": [
123
],
"headers": [
"<string>"
],
"values": [
[
"<string>"
]
]
}
}
],
"total": 4503599627370495,
"hasMore": true,
"nextOffset": 4503599627370495
}Authorizations
Bearer API key for server-to-server access. Session auth is also supported in first-party UI flows.
Path Parameters
Query Parameters
Available options:
all, product_discount, flash_sale, voucher, gift_with_purchase, buy_x_get_y, bundle_deal, free_shipping, early_bird_price Maximum string length:
160Available options:
all, attention, excluded Required range:
0 <= x <= 100000Required range:
1 <= x <= 50Required for session auth. Optional for an API key, which already identifies the organization.
Required string length:
1 - 120Response
Canonical operation result. Inspect aggregate and per-target success and marketplace delivery evidence.