Working with various stakeholders (advertisers, partners) and instability of traffic flows often require manually updating details such as offer payouts, revenue, and caps.
To save time, boost efficiency, and minimize human error, you can use Scheduled changes. This feature can help you plan your changes ahead of time, ensuring that any updates are automatically reflected.
For example, the feature can be extremely helpful when advertisers plan to launch a special promotion of a certain product and run a campaign on specific dates. Payouts will increase during this promotion.
💰 The Scheduled changes feature is available only for certain plans. Contact your Affise account manager to get the feature.
Scheduled changes
Once you start with Scheduled changes, you can add scheduled change.
After adding a scheduled payout, you can see the following table:
where:
Offer: an offer, which you scheduled changes for.
Goal title: a title of the goal.
Scheduled on: the date and time of the changes.
Timezone: the timezone.
Status: the status of the change.
Current payout/revenue: current payout/revenue of the offer.
Scheduled payout/revenue: payout/revenue you scheduled for the offer.
After adding a scheduled cap, you can see the following table:
where:
Offer: an offer, which you scheduled changes for.
Timeframe: hour, day, week, month, all.
Scheduled on: the date and time of the changes.
Timezone: the timezone.
Status: the status of the change.
Current value: current value.
Scheduled value: value that you scheduled.
Here, you can also edit the scheduled changes of the offer:
Scheduled changes and API
Affise introduces the concept of payment id for API. This is a unique payment identifier of the offer(-s). The field's parameter is called 'id', the data format is UUIDv4.
⚠️ If you work with scheduled changes via API, it's required to send payment id when you update it. Otherwise, the system will generate a new identifier each time as it is not passed in the request.
The example of the correct request:
## Update (payments)
curl -X "POST" "https://api.dev.affise.com/3.0/admin/offer/210" \
-H 'API-Key: 5dc2ea20b5d12930268b8a2a' \
-H 'Content-Type: multipart/form-data; charset=utf-8; boundary=__X_PAW_BOUNDARY__' \
-H 'Cookie: PHPSESSID=4b9ptpb0fl3d75o8sp4crlhn9o' \
-F "payments[0][currency]=USD" \
-F "payments[0][type]=percent" \
-F "payments[0][goal]=2" \
-F "payments[0][total]=7" \
-F "payments[0][revenue]=6" \
-F "payments[0][id]=237ab02a-89de-40e3-b053-025431ed91f8"
If you create a payment for the first time, there is no need to transmit the ID. The system will generate it and return in the response. For all existing payments, the system returns the payment id in the response body.
For example:
"payments": [
{
"cities": [],
"countries": [],
"country_exclude": false,
"currency": "usd",
"custom_field1": null,
"custom_field10": null,
"custom_field11": null,
"custom_field12": null,
"custom_field13": null,
"custom_field14": null,
"custom_field15": null,
"custom_field2": null,
"custom_field3": null,
"custom_field4": null,
"custom_field5": null,
"custom_field6": null,
"custom_field7": null,
"custom_field8": null,
"custom_field9": null,
"devices": [],
"goal": "2",
"goal_id": 1,
"id": "237ab02a-89de-40e3-b053-025431ed91f8",
"os": [],
"revenue": 6,
"sub1": [
"subVal1",
"subVal2"
],
"sub2": null,
"sub3": null,
"sub4": null,
"sub5": null,
"sub6": null,
"sub7": null,
"sub8": null,
"title": "Default",
"total": 7,
"type": "percent",
"url": null,
"with_regions": false
}
],
⚠️ If you schedule multiple payment changes in the same offer, the system will do that with a slight delay, one after the other.
What to do next
Please contact the Affise Customer Support team regarding all raised questions via the e-mail: [email protected].