Integration Doc

Getting started with Real Opinion

Sign Up & Set Up

Before you can integrate Real Opinion with your project, you will need to create an account and set up an app on our dashboard.

The first step for every integration is to signup for a publisher account with Real Opinion. Make sure to wait untill your account gets verified, as you won't be able to continue without that.

Once your account gets verified, login your account and setup your "Profile" by clicking Profile button on the top right of the screen.

After setting up your profile, add your app integration by clicking on the "App List" section in the sidebar, and then click the "CREATE APP" button to add your app.

On the Real Opinion dashboard, every integration is referred to as "app". Each app will have its own API token and your user data is stored on a per-app level basis. It is recommended that you create one app for each project. Example: if your project is available on Web, iOS, and Android, you have to create three different app on the dashboard for respective platforms.

Now it is time to create your first app. Go the the "App List" of the dashboard and click the "CREATE APP" button in the top right corner to do so.

Your app settings are always accessible on the "App List" section in the left sidebar of the dashboard.

Create your app

On the "Create App" page you need to fill the general settings that change the behavior of the offerwall. All settings are changed immediately when you save them, so it is possible to adapt the live version of the quizwall in your app. All the general settings in "Create App" page are listed below :

  • Enter Postback URL : Add your postback URL on which you want you want to get the postback hit from Real Opinion server. This entry is mandatory. We call this URL every time a new event is created (e.g. User Complete a Survey, User screened out).

  • App Name and App logo : Add your App Name and App Logo, you can always change your app name. It is not displayed to your users/players, therefore you can use technical naming conventions here if needed. Please avoid naming it "Real Opinion" or "App" as it might be harder to track issues when you are talking to our partnerships team.

  • Currency Name and Logo : Add your currency name and logo as per your choice, which can always be editable.

  • Currency conversion rate : Enter the amount of your app's in-app currency (coins, points, etc.) that is equal to 1 USD. This helps in accurately converting earnings and setting up rewards based on real-world value.

    Example: If 1000 coins in your app = $1, then enter 1000.

  • User's Rev-share : This is the percentage of your total revenue that you want to share with your users. It determines how much of your earnings from each survey will be given to the user as a reward. Example : If your revenue from a survey is 10 USD and you set the User’s Rev Share to 50%, the user will receive 5 USD, and you will keep 5 USD as your profit.

    This helps you manage user rewards while still retaining a portion of the earnings for yourself.

  • Enter App Link : Please enter the official link of your app (e.g., Play Store or App Store). This helps us verify the authenticity of the app and ensure that it is published by a genuine developer.

After filling in all the above fields, click on the "CREATE APP" button. Please make sure to wait until your app is verified, as you won’t be able to proceed further without the verification. After the successful verification of your app, your are all set to add Real Opinion on your platform.

Explanation of Integration Properties​

Example URL : https://user.realopinions.ai/?app_id={APP_ID}&user_id={YOUR UNIQUE ID}&email_id={EMAILID}

Property
Type
Description
Required

app_id

string

This is a unique id to app

true

user_id

string

This is unique id for user

true

email

string

This is Unique email id for user

true

Note - "app_id" will be generated once your create an app.

Callback API Documentation

Upon successful completion of a withdrawal, the Real Opinion system will issue an HTTPS POST JSON request with the following data to your specified Success Callback URL. Endpoint: Your URL : https://yourdomainname.com/path/to/your/successendpoint

🔐 Authentication

Recommended: Protect this endpoint using IP whitelisting . IP : 13.204.104.17

🧾 HTTPS Request

  • Method: POST

  • Content-Type: application/json

📝 Request Body

🔧 JSON Payload

Define the structure for the request payload using the following JSON schema:

Explanation of Callback Properties

Property
Type
Description
Required

app_id

string

App identifier on your platform

true

user_id

string

Unique identifier for the user who completed the offer

true

status

number

Status of the transaction (1 = success, 2 = failed)

true

trans_id

string

Unique transaction ID from the offer wall

true

publisher_payout

number

Amount paid to the publisher (in USD )

true

user_payout

number

Amount earned by the user (in USD)

true

bonus_amount

number

Any additional bonus given to the user (in USD)

true

✅ Example Request

Example Request

Include the JSON payload in your API call to notify the server about the transaction, along with any additional bonuses awarded.

📤 Success Response

When the transaction is processed successfully, the server returns a 200 OK status with the following JSON response:

❌ Error Response

Status Code: 400 Bad Request / 500 Internal Server Error

💡 Notes

Callback Handling Best Practices

When dealing with callbacks, it's essential to adhere to specific standards to ensure system reliability and integrity:

  • Status Codes: Ensure the status number accurately reflects the callback outcome:

    • 1 indicates success.

    • 2 signifies failure.

  • Transaction ID: The trans_id must be unique. Duplicates can cause significant transaction errors and data inconsistencies.

  • Data Validation: Before processing rewards, thoroughly validate:

    • user_id

    • offer_id

    • Relevant financial amounts

Above given is the complete Doc for Real Opinion Integration but if there is any query then please contact us on [email protected].

Last updated