Partner Integration Docs
  • Getting Started
  • Architecture Overview
  • Survey Wall Integration
  • UAT Test
  • Troubleshooting
  • Code Snippet
    • Golang
    • Nodejs
    • Flutter
    • Java / Kotlin
Powered by GitBook
On this page
  • Survey Wall URL
  • Parameter
  • Signed Parameter Payload
  • Encrypt Signed Parameter
  • Final Signed Survey Wall URL
  • Troubleshooting

Survey Wall Integration

Survey wall is a main web page where users will be able to fill the survey. The survey Wall page is provided by Responova and this page is designed to be accessed via partner app webview or browser.

PreviousArchitecture OverviewNextUAT Test

Last updated 6 months ago

To integrate with our survey wall, we will provide you:

  1. Partner ID: Is your partner identifier

  2. Partner Secret Key: Your partner secret key to be use to encrypt and decrypt the signed payload.

Let's deep dive to the implementation

Survey Wall URL

Environment
URL

Sandbox

Production

Parameter

Parameter
Sample Value
Description

partner_id

ppx-813kadhadljhlh23

A fixed value provided by Populix as partner identifier.

signed

1v1veeg2oquejmdrj4dwynzjjprztdc7vxgmln%2belda0jt15jk%2fpbtpomgkg2oiaxzycupyhwmiwftbdsyv0g5tui%2f0dtccbijb%2buellgeknaackijjvwtm2jgzjuwdkpth9nseigqcgawelvgp1%2b7lcs0hjhap2tqim

Signed Parameter Payload

For security purposes, Partner need to encrypt the signed params. These signed params will be encrypted with a secret key. Populix will provide the secret key and make sure if the partner stores this secret key in the safest place. The signed body payload is JSON with following key/value:

Signed Body
Sample Value
Description

partnerId (*)

ppx-813kadhadljhlh23

A fixed case-sensitive value provided by Populix as partner identifier.

userId (*)

9d2d8b2d-cd78-4b38-8e5b-15190e29eb7c

User ID from partner platform or unique external identifier for each user

email (deprecated)

c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2

Hashed user email. Use SHA256 Algorithm Ensure email address is in lowercase and follow standardized format of username, symbol @, and a domain. Remove any leading or trailing whitespaces from the email address. Example: username@domain.com

phoneNumber (deprecated)

3b3927e40c6e2d6dcd4ae074e706611c76b920cd6cfbd0031e70c13029a0c7d1

Hashed user phone number. Use SHA256 Algorithm Provide phone number in international format, including country code and omit the leading + sign. Only include digits. Do not include any special characters such as parentheses ( ), hyphens (-), or spaces ( ). Example: 628123456789

*All convention is in camelCase and case-sensitive.

Example signed body value:

{
    "userId": "9d2d8b2d-cd78-4b38-8e5b-15190e29eb7c",
    "partner_id": "ppx-813kadhadljhlh23",
    "
    
}

Encrypt Signed Parameter

After you have signed body payload. You need to encrypt them and it will become the final signed param value. See the sample code below.

To see other programming language code snippet, please refer to Code Snippet

// Javascript Code Example
// Step 1: Encrypt using AES
const encryptedData = AESEncryption(
    body: {
        "userId": "9d2d8b2d-cd78-4b38-8e5b-15190e29eb7c",
        "partnerId": "ppx-813kadhadljhlh23",
        "email": "c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2",
        "phoneNumber": "3b3927e40c6e2d6dcd4ae074e706611c76b920cd6cfbd0031e70c13029a0c7d1"
    },
    secret: "YOUR_PARTNER_SECRET_KEY"
)

// Step 2: Encode to Base64
const encodedBase64 = Buffer.from(encryptedData).toString('base64');

// Step 3: URL encode the Base64 string
const finalSignedValue = encodeURIComponent(encodedBase64);

From the code above, we can get the final signed value:

signed=1V1VeEg2oQuEJmdRj4dwyNZjJprZTdc7VxgMLN%2BElda0jt15jUepMYwTNVV1mIdZQ%2B5zxvNt20%2FxCqWMeVJBz%2F%2FH5O88aBXcuSvJF6kytKWBgrKx03QIPXQsV6%2FkL5kECJuJdN5A3hmyYqQc1o47tjOYWkmujj7vp9AS2BCM93TorWysR7rElgfak8WLclAkf7PF3x8C4r7DJSR%2FijoJESDQ75SY%2B0Sb%2FEAx2MPz4zV%2BAJs6xBkB

Final Signed Survey Wall URL

After you got encrypted signed value, you will have this final survey wall URL:


https://survey.qapopulix.co/auth/partner?partner_id=ppx-813kadhadljhlh23&signed=1V1VeEg2oQuEJmdRj4dwyNZjJprZTdc7VxgMLN%2BElda0jt15jUepMYwTNVV1mIdZQ%2B5zxvNt20%2FxCqWMeVJBz%2F%2FH5O88aBXcuSvJF6kytKWBgrKx03QIPXQsV6%2FkL5kECJuJdN5A3hmyYqQc1o47tjOYWkmujj7vp9AS2BCM93TorWysR7rElgfak8WLclAkf7PF3x8C4r7DJSR%2FijoJESDQ75SY%2B0Sb%2FEAx2MPz4zV%2BAJs6xBkB

Make sure your signed value is URL Encoded Format.

Then you can open that URL, you will be expected to enter our survey wall

Troubleshooting

Please refer to Troubleshooting

A signed PII information. Please refer to and

Signed Parameter Payload
Encrypt Signed Parameter
https://survey.qapopulix.co/auth/partner
https://survey.populix.co/auth/partner
Survey Wall
Sample Survey Wall