Skip to main content

Overview

DARO sends an HTTP/HTTPS GET request to your server when users complete rewarded video ads. Callbacks send immediately after completion but may delay up to several minutes depending on network conditions. Use the timestamp parameter to verify time difference between impression and callback. Retry Logic: DARO retries up to 2 times if your server doesn’t respond within 5 seconds. Ad Unit Reward Callback Setup: Configure ‘Callback URL’ for your rewarded video ad unit on the Ad Units page.

Callback URL Example

Callback URL Request Example

Query Parameters

Parameters included as query strings in callback URL. Optional parameters (custom_data and user_id) pass as null if not set.

Response Status Codes and Retries

DARO uses the HTTP response status code to determine whether callback delivery is complete. A 408, 429, or 5xx response, or a network error, triggers automatic retries. If those attempts continue to fail, the callback may be sent again later.
Do not return 500 for a business rejection that your server has finished processing.If your server received the callback and completed its reward decision, respond with 200 or 204 even when no reward is granted. A 500 is treated as a temporary server failure, causing unnecessary automatic retries and potentially another delivery later.
The response body can follow your own requirements. DARO determines whether to retry from the HTTP status code, not the response body.

Handle Duplicate Callbacks

The same callback may be delivered more than once because of network conditions or retries. Process callbacks idempotently using transaction_id: store the processing result, and if the same transaction_id arrives again, do not grant the reward twice and respond with 2xx based on the stored result.

Set Publisher-Defined User ID and Custom Data

Set user_id and custom_data on the client side using platform-specific SDK methods. These optional values send with the callback. Platform Guides: