An app is one property you monetise — a website, an Android app or an iOS app. Each app has its own API credentials, currency and postback URL, and each is approved separately.
In the publisher sidebar, go to Apps and create a new app. Fill in the form and submit.
| Field | Required | Notes |
|---|---|---|
| Name | Yes | Your label for this property. Up to 255 characters. Never shown to your end users. |
| Platform | Yes |
web, android or ios.
|
| Website URL | Optional |
For web apps. A full URL including https://. Strongly recommended for web.
|
| Package Name | Optional |
For mobile apps, your bundle or package identifier, e.g.
com.example.app.
|
| Currency Code | Yes | The code of the currency you want your end users to see, e.g. USD,
EUR, JPY. |
| Currency Name | Yes | The full name, e.g. US Dollar. Shown to end users. |
| Exchange Rate | Yes | Read this section carefully before entering a value. |
| Postback URL | Optional |
Where conversion notifications are sent. Can be set now or later. Must be a public
http(s) address.
|
Preads prices offers in USD. Your exchange rate converts those USD amounts into the currency your end users see on the wall.
So:
0.917431 (about 0.92 euros per dollar)142.857143 (about 143 yen per dollar)83.333333 (about 83 rupees per dollar)1.000000Enter the reciprocal and every reward shown to your users will be wrong by a large factor — for JPY, by roughly 20,000×.
Do not rely on the rate the form suggests. The currency selector offers preset values that appear to be on the opposite convention (USD per one unit of your currency). For some currencies the suggested value is correct by coincidence; for others it is badly wrong. Type the value yourself, or correct the suggestion before saving.
Because a wrong rate only affects what end users see on the wall, your own balance and your postbacks stay correct — which makes the error easy to miss. After creating the app, open the wall and check that a reward figure looks plausible.
The app is created with status pending and will not work until an administrator
approves it. Until then a valid API key returns
403 App not found or inactive, and an unrecognised key redirects the visitor to the home page.
Your credentials are generated immediately and are visible on the app's detail page while you wait, but they
do not function until approval.
Each app gets three 32-character values, generated automatically. They are shown on the app's detail page and can be viewed again at any time.
| Credential | Used for | Keep secret? |
|---|---|---|
| API Key | The offerwall iframe, the tracking endpoint, and the offers API. | Semi-public. It appears in every tracking URL, so anyone who inspects a click can read it. Fine to embed in a page. |
| API Secret |
Required alongside the API key by the offers API. Any request to
GET /api/v1/offers needs both.
|
Yes. Never place this in client-side code, HTML, or JavaScript. Call the API from your server only. |
| Postback Secret | Nothing, currently. | It is generated and displayed, but it is not used to sign postbacks. It cannot be used to verify that a postback came from Preads. See Postback Setup for how to validate postbacks instead. |
Rotating a credential means deleting the app and creating a new one — there is no rotate button. Do not do this casually, since the API key appears in live tracking URLs.
On the app's detail page, set your postback URL so Preads can notify you when conversions happen.
{currency}. There is no such macro — it is not supported, and it will
be delivered to your server as literal text, braces and all. Remove it, or replace it with something you
control.
See Postback Setup for the full macro list, what each value means, and the important differences between network types.
Once a postback URL is saved, the app's detail page has a test tool where you can:
Test postbacks are recorded separately from real conversions and are excluded from every figure in your dashboard, so testing will not distort your reports.
From the Apps list you can view, edit and delete your apps.
| Status | Meaning |
|---|---|
pending |
Awaiting administrator approval. Integration endpoints reject the key. |
approved |
Live. All endpoints accept the key. |
rejected |
Declined, with a reason recorded. You can read the reason and fix the issue; ask your operator if resubmission is possible. |
You can edit the currency and exchange rate after approval if you need to change them. The API key stays the same, so a rate correction does not break existing tracking URLs.
| Symptom | Cause and fix |
|---|---|
403 App not found or inactive everywhere |
The key is valid but the app is still pending. Wait for approval, or contact
your operator. |
| The wall link sends visitors to my homepage | The API key is missing or unknown, so the request is redirected. Verify the key character by character. |
| The wall loads but shows no offers | Usually the exchange rate. If you entered USD-per-unit instead of units-per-USD, a reward may round to a number that fails a minimum-value filter. Check the rate first. |
| Rewards shown to users are far too small | The exchange rate is inverted. For JPY, INR or CNY this is usually the cause. Recalculate as units-per-dollar and re-enter it. |
401 or INVALID_API_KEY from the offers API |
Both the API key and API secret are required. Confirm you are sending both, from the server. |
| Postback URL rejected on save | It must be a public http(s) address. Private and loopback IP ranges are refused
(localhost is allowed). |
Your postback receives literal {currency} |
That macro does not exist. Remove it from your URL template. |
| Existing tracking URLs stopped working | The app was deleted. Recreate it and update the API key in your site. |