Overview
With Server-Side Verification (SSV) for rewarded ads, Adrop sends a callback to your server URL when a user completes watching an ad. This lets you verify reward grants on your own server and prevent abuse. The callback payload is encrypted with your API key, so even if the URL is exposed, only a party holding the API key can decrypt its contents.Setup
1
Prepare an API key
Create an API key first — it will be used to decrypt the SSV callback payload. SSV registration requires at least one active API key in the project.See Integrations & API Keys for instructions.
2
Register the SSV
Under [Management] > [Integrations] > Reward Ad SSV, click [+ Register Reward Ad SSV].
3
Send userId / customData from the SDK
Set
userId and customData via setServerSideVerificationOptions() in the SDK. These values are included in the callback payload.See the SDK guides for each platform:Only HTTPS URLs are accepted at registration/edit time. Private IPs (localhost, 10.x, 172.16–31.x, 192.168.x, 169.254.x) are blocked.
Request Specification
Adrop delivers the callback as follows.
The request body is AES-256-GCM encrypted.
:). After decryption, the plaintext JSON has the following shape:
transactionId is unique. If your server receives a transactionId that was already processed, handle it idempotently to avoid granting duplicate rewards.Decrypting the Payload
The AES-256-GCM key is the raw API key hashed with SHA-256 (32 bytes).Node.js
Python
Editing and Deleting
Use the row menu in the Reward Ad SSV section to edit or delete an existing SSV.- Edit: Change the URL or the connected API key.
- Delete: Callbacks will no longer be invoked. SDK-side
userId/customDatavalues continue to be stored in Adrop’s internal SSV log.
Related
Integrations & API Keys
How to generate, manage, and revoke API keys
Report API
Query campaign performance and backfill revenue data via API