Reward Accumulation Postback API
In order to notify publisher that a user earned rewards through Buzzvil product, server-to-server integration between Buzzvil server and publisher’s server is necessary.
Please check detailed guide below according to your situation.
Introduction
This postback API is only for publishers who are using Batch postback. For detail, please contact to Buzzvil BD Manager.
As batch postback sums up total points per user, the total number of requests per day is a lot less than that of real-time postback.
Please keep in mind that your server will receive several requests at a specific time. (00:00AM Local time)
Content | Detail | |
---|---|---|
1 | Request Direction | Buzzvil → Publisher Server |
2 | HTTP Request method | POST - application/x-www-form-urlencoded |
3 | HTTP Request URL | Defined by publisher |
4 | HTTP Request Parameters | Refer to the table below |
5 | HTTP Response Code | BuzzScreen determines the success of the request based on the response code received from the publisher.
Note that even if the body contains an error, BuzzScreen will not retry if the response code is 200. |
HTTP Request Parameters
Field | Type | Detail |
---|---|---|
| String(64) | Use this to prevent duplicate rewards payouts. If there exists a record with the same |
| String | User_id defined by publisher |
| Long (timestamp) | The timestamp of the reward event in timestamp value. Time will be in UTC of the date. Mostly, it's the same as the time of API request. However, it could vary in case there was the second trial of request. |
| String | The date on which the user data has been collected. The format is 'YYYY-MM-DD HH:mm:ss'. |
| String | The type of action that the user has done in order to get the point.
|
| Integer | Total reward points to offer for users
|
| String | Use this parameter when the parameters are encrypted. Please refer to the below for more information.
|
Request Parameter Validation optional
HTTP Request Parameter Encryption
Guide for decrypting data
parameter when HTTP Request Parameter Encryption is enabled. Please follow the process below in order.
JSON serialized parameters with UTF-8 encoding
AES (CBC mode, PKCS7 padding) encryption
base64 encoding
Encrypted data should be sent as 'data' parameter in HTTP POST request. When receiving it, data parameter from HTTP POST request should be decrypted as below.
base64 decoding
AES decoding
JSON load
Please request for AES key and IV value to your account manager.
Example in plaintext
{
"transaction_id": 429482977,
"user_id": "testuserid76301",
"event_at": 1442984268,
"extra": "2018-09-18 00:00:00",
"action_type": "d",
"point": 2
}
Example in ciphertext
AES key and IV value in the example are both
12341234asdfasdf
.
ePmd4+b9COUcUg2QZpzxugysNB/6TjE7uMWp1v3go6WO4gtbkotgijn6RPdb79pVkBlhxw2zQu7sWn+BM9+0YFXgVmIrl7nlqFhZQ8/0xDTZN48LNttvSLRnDCHXxeU7Mfucfw8wDa/1/+SbSgn9UoSUzHVDDk40Rt2S5nopQ0xqLedo2wPEQl9wovkhf+JrdD9ltEB9TFw1Uf+hvg8EQIBQp5bQIDlRzafh1hXhGH59vYdjO4TsjjlsX2eUa/v9