Skip to main content
Version: 3.x

Overview

For an introduction to callbacks, see the Callbacks documentation.

This page covers two additional parameters for handling survey reconciliation:

  • status - Indicates if a completion was rejected
  • rejection_reason - Explains why a completion was rejected

How Reconciliation Works

  • Rejections are sent either at completion time or in daily batches
  • A rejected payout arrives as a second callback with:
    • The same tid (transaction ID)
    • Status of "Rejected"
    • A rejection reason
Server-to-Server Only

status and rejection_reason are only available via server-to-server postback. They are not sent through in-app callbacks.

Payload

ParameterTypeDescription
uidStringPersistent unique identifier for this user.
didStringDevice identifier -- IDFA for Apple, Google Device ID for Android (May not be present if the user opted out of ad tracking).
tidStringTransaction ID or click ID. This value will not be unique if the user completed multiple surveys in a single session. Use cpid for deduping purposes.
cpidStringUnique survey complete identifier. We recommend that you store and check against this value to ensure you reward the user only once per survey complete.
api_tokenStringThis is the unique identifier we generate when you create an app in our dashboard.
payout_amountIntegerAmount of currency earned by this user.
payout_currencyStringThe type of currency the user earned.
revenueDecimalAmount you will be paid for this survey complete in USD.
payout_typeIntegerThe action that the user was rewarded for. 0 - Profile Complete, 3 - Survey Rewarded, 9 - Quick Question Completed.
ip_addressStringThis is the IP address of the respondent when the transaction occurred.
sigStringThis is the URL signature, which is an HMAC-MD5 generated using the query string, minus the sig parameter. See the security section for more details.
statusStringThe status of the transaction. Possible values are "Pending" or "Rejected". Except in extremely rare circumstances, "Pending" transactions will be updated to status "Complete" after 90 days. We will not fire the callback at the time but the payout is considered settled. Only available for server-to-server postback.
rejection_reasonStringThe reason for rejection, if applicable. Only available for server-to-server postback.