A campaign is a time-limited discount on an MVNO or SIP rateplan. Accounts created while the campaign is open get the campaign price for a fixed number of whole months, and are then invoiced at the rateplan's normal price again.
| Overview | List the campaigns that can still cost money. |
| Create | Create a campaign on a master or reseller rateplan. |
| Update | Update a campaign. |
| Stop | Stop a campaign early. |
| Take over | A reseller takes over a master campaign at its own customer price. |
| Sign-ups | How many accounts signed up in a campaign's enrolment window. |
| Name | The name of one campaign, for the badge on an account. |
Campaigns are stored in campaigns on the rateplan product (see Products), and only on MVNO_RATEPLAN and SIP_RATEPLAN products.
reseller null). It applies only to the resellers named in its resellers list, which must name at least one.
startDate and endDate are Danish calendar days, sent as Copenhagen midnight (1 October 2026 is 2026-09-30T22:00:00.000Z). Both days are inside the window, so a campaign may start and end on the same day.
campaign = { campaign, product, to }. The stamp never changes afterwards.months whole months are invoiced at the campaign price.wholesale is what the reseller is invoiced for the account during the campaign, and price is what the customer is invoiced.Before a campaign starts, everything can be changed. Once it has started, the accounts enrolled on it were priced by it, so:
name, startDate, months, wholesale, price and resellers are locked.endDate can only be moved earlier, and not to before today. To close a campaign right away, stop it.message can always be changed.
Only RESELLER_ADMIN and ADMIN may set wholesale. When anybody else creates a campaign, wholesale is the product's own wholesale, so a reseller's campaign changes the customer price only.
A reseller named on a master campaign may take it over on its own reseller product, to offer it at its own customer price. The copy is an ordinary reseller campaign with fromCampaign set to the master campaign's id:
price, name and message.startDate, endDate, months and wholesale are copied from the master campaign and follow it. The reseller can only move the copy's end date earlier, or stop the copy.resellers stops that reseller's copy.resellers.
For RESELLER and above, the product Get and List requests show hasOpenCampaign on rateplans: true when a campaign that affects the rateplan is enrolling right now.