Skip to content

Campaigns API

API reference for creating and managing campaigns.

Manage campaigns programmatically. Campaigns link products to discount rules and banner configuration.

GET /v1/campaigns
Terminal window
curl -X GET https://api.gopaylocal.com/v1/campaigns \
-H "Authorization: Bearer gpl_sk_live_xyz789"

Query Parameters:

ParameterTypeDescription
productIdstringFilter by product ID
statusstringFilter by status: active, paused, draft
GET /v1/campaigns/:id
POST /v1/campaigns
Terminal window
curl -X POST https://api.gopaylocal.com/v1/campaigns \
-H "Authorization: Bearer gpl_sk_live_xyz789" \
-H "Content-Type: application/json" \
-d '{
"productId": "prod_abc123",
"name": "Pro Plan PPP",
"pricingMode": "group",
"discountDelivery": "banner_coupon",
"maxDiscount": 60,
"couponPrefix": "PPP",
"allowedDomains": ["yourapp.com", "www.yourapp.com"],
"charmPricing": {
"enabled": true,
"strategy": "currency_aware"
},
"banner": {
"position": "bottom-right",
"messageTemplate": "Hey! We support PPP for {{countryName}}. Use code {{code}} for {{discount}} off.",
"ctaText": "Copy Code",
"backgroundColor": "#1a1a2e",
"textColor": "#ffffff",
"ctaColor": "#e94560",
"ctaTextColor": "#ffffff",
"showFlag": true,
"showCloseBtn": true
}
}'

Request Body:

FieldTypeRequiredDescription
productIdstringYesAssociated product ID
namestringYesCampaign name
pricingModestringYes"group", "ppp_factor", or "custom"
discountDeliverystringYes"banner_coupon" or "auto_apply"
maxDiscountnumberNoMaximum discount percentage (0-100)
couponPrefixstringNoPrefix for coupon codes (default: “PPP”)
allowedDomainsstring[]NoDomains where the banner can appear
charmPricingobjectNoCharm pricing configuration
charmPricing.enabledbooleanNoEnable charm pricing
charmPricing.strategystringNoCharm pricing strategy
bannerobjectNoBanner display configuration
banner.positionstringNoBanner position
banner.messageTemplatestringNoMessage with placeholders
banner.ctaTextstringNoCTA button text
banner.backgroundColorstringNoBackground color
banner.textColorstringNoText color
banner.ctaColorstringNoCTA button color
banner.ctaTextColorstringNoCTA button text color
banner.showFlagbooleanNoShow country flag
banner.showCloseBtnbooleanNoShow close button
PATCH /v1/campaigns/:id

All fields are optional. Only include the fields you want to update.

DELETE /v1/campaigns/:id

Response: 204 No Content

POST /v1/campaigns/:id/activate
POST /v1/campaigns/:id/pause

Toggle a campaign between active and paused states.