Introduction
The Publisher API offers a set of API calls that allow you to pull data about the advertiser program on the Involve asia platform, the commission you can earn from those advertiser programs, your transactions and campaign details.
Getting Started With The API
What is a Publisher API ?
Publisher API allows Publishers to interact with Involve Asia's API, by making a request to pull important information without logging into their Dashboard.
What is Detailed Commission API ?
Publishers can use Detailed Commission API to access Real-Time Commission Data from their accounts to get the latest available commission data and commission data updates regularly.
How To Request For API Key ?
-
Login to your Publisher Dashboard
-
At the top bar, under Tools, select API
Illustration purposes only -
You’ll be taken to the API page. If you’ve not requested an API Key, please select Request API Key.
Illustration purposes only
- It will take approximately 48 hours within a work week for your API request to be reviewed and approved by our Publisher Manager.
Illustration purposes only
- Once approved, you will be able to see your API Key and API Secret as shown in the screenshot below.
Illustration purposes only
For more information, check out our API Documentation here.
How to Authenticate Your API Request ?
Kindly refer to the notes and Sample API Request as follows:
- API Key and Secret are required to generate the API token.
- Generated API Token will expire in 2 hours.
Header
Illustration purposes only
Body & Response
Illustration purposes only
How to call data using API?
-
Open our API Documentation here. Once open, select Offer from the options on the left.
Illustration purposes only -
Under HTTP Request, copy and paste the link into your API program.
Illustration purposes only -
A list of details about Offers will appear under Body in your API program.
Illustration purposes only
The additional features will allow you to call information on commission for individual Offers (as shown in the highlighted box).
Visit our API documentation here on how to pull more data from Involve Asia’s API.
Limitation/Throttling
To guarantee smooth operation for all our publishers, we currently have a throttling in place that limits the number of API requests to 20 API calls per minute per account.
Standard Pagination
Certain endpoints will generate large result sets. To save bandwidth and long processing times, these endpoints will paginate the results to reduce the strain on both client and server.
Any endpoint that supports pagination will return 3 attributes to support this:
- "page" the current page of the data returned
- "limit" the number of results to which the output was restricted to 100 per page
- "count" the total number of results available
API requests
Purpose | Endpoint | Remarks |
---|---|---|
Authenticating your API key | /authenticate | To make a request, you must first have a valid "token". |
To pull conversion data | /conversions/all | Conversion data include: conversion ID, offer ID, payout, aff sub, adv sub, rejection reason and etc. |
To pull conversion data within a date range | /conversions/range |
|
To pull conversion data within a date and time | /conversions/data-range |
|
To pull Offer details | /offers/all | Offer data include: ID, description, preview url, terms, tracking link and etc. |
To pull Offer details within a date and time | /offers/last-updated-range |
|
To pull advertiser active campaign details | /campaigns/all | Campaign data include: banner, offer, voucher code and etc. |
To generate links | /deeplink/generate | You will be able to generate links in scale |
To pull Shopee Brand Commissions Xtra details | /shopeextra/all | Data include: type, brand name, commission rate, region, tracking link and etc. |
Important note
- All API calls should be made in "POST" method via HTTPS.
- The content type in the API header needs be to "application/json", i.e.: "Content-Type: application/json"
Authentication
Authenticating API Key
How to call it
curl -X POST "https://api.involve.asia/api/authenticate" \
-H "Accept: application/json" \
--data-urlencode "secret=4ZU659+Ba4LjcSVGamz0LYnA3zYSKLDQgN3DriAzyH4=" \
--data-urlencode "key=general"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/authenticate",
"method": "POST",
"headers": {
"accept": "application/json"
},
"data": {
"key": "general",
"secret": "4ZU659+Ba4LjcSVGamz0LYnA3zYSKLDQgN3DriAzyH4="
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/authenticate",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"secret" => "4ZU659+Ba4LjcSVGamz0LYnA3zYSKLDQgN3DriAzyH4=",
"key" => "general"
)
)
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "",
"data": {
"token": ""
}
}
You need to Authenticate your API key before being able to call any API request from involve asia. Once you already authenticate you will receive a "token" which will be expired in 2 hours.
HTTP Request
POST https://api.involve.asia/api/authenticate
Response data type and sample ?
Parameters Name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status Example :
If your API key Credentials is wrong you will get error as below Example :
*Please ensure your API's credentials are correct and please refer to our sample request. |
"token" | This will be your token. It can be used only for 2 hours once your token expires you need to request for a new token again. |
Conversion
All Conversion
How to call it
curl -X POST "https://api.involve.asia/api/conversions/all" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "filters[conversion_id]=899191|7008168" \
-d "filters[offer_id]=25" \
-d "filters[offer_name]=lazada" \
-d "filters[conversion_status]=pending" \
-d "filters[preferred_currency]=USD"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/conversions/all",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"filters[conversion_id]": "899191|7008168",
"filters[offer_id]": 25,
"filters[offer_name]": "lazada",
"filters[conversion_status]": "pending",
"filters[preferred_currency]": "USD"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/conversions/all",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"filters[conversion_id]" => "899191|7008168",
"filters[offer_id]" => 25,
"filters[offer_name]" => "lazada",
"filters[conversion_status]" => "pending",
"filters[preferred_currency]" => "USD"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "",
"data": {
"page": 1,
"limit": 100,
"count": 246,
"nextPage": 2,
"data": [
{
"conversion_id": 899191,
"offer_name": "Lazada (PH)",
"offer_id": 44,
"merchant_id": 88,
"sale_amount": "345.00",
"currency": "PHP",
"payout": "14.49",
"base_payout": "13.49",
"bonus_payout": "1.00",
"aff_sub1": null,
"aff_sub2": null,
"aff_sub3": null,
"aff_sub4": null,
"aff_sub5": null,
"adv_sub1": "348666368",
"adv_sub2": "Health & Beauty",
"adv_sub3": "false",
"adv_sub4": "AD109HBAK1YRANPH-611385",
"adv_sub5": "6.00",
"datetime_conversion": "2017-02-22 21:16:47",
"conversion_status": "pending",
"affiliate_remarks": "rejected by advertiser",
"affiliate_id": 4726,
"user_id": 2,
"user_email": "[email protected]"
}
]
}
}
Publishers can pull individual transactions, to check the status of the transactions, to create your own reports, and to pull additional information that is shared between publishers and advertisers via Aff_sub (from publisher to advertiser) and Adv_sub and custom parameters (from advertiser to publisher).
When should you call API for all conversion ?
Best to use this API once a month to update all the conversion and status. To get updates real time is advisable to use POSTBACK URL for frequent update.
HTTP Request
POST https://api.involve.asia/api/conversions/all
Optional parameters available for you to filter.
Parameters name | Description and Example |
---|---|
[conversion_id]
|
This field is optional if you would like to track specific individual conversion you can use the conversion id to keep track of the conversion. String ID of the conversion Example : 899191 To filter more than 1 conversion id please use vertical bar " | " String ID of the conversion Example : 899191|7008168 |
[offer_id]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer id to keep track of the conversion. String ID of the advertiser Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the advertiser Example : 25|85 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[conversion_status]
|
Current conversion status Available Filter
String Conversion Status Example : pending To filter more than 1 status please use vertical bar " | " String Conversion Status Example : pending|approved |
[preferred_currency]
|
Default conversion currency code - (ISO 4217) Available Filter
String Currency code Example : USD |
Response data type and sample
Parameters name | Description |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"conversion_id" | Involve Asia unique conversion id to keep track conversion String Example : 348666368 |
"offer_name" | Advertiser or Program Name String Example : Lazada (PH) |
"offer_id" | Advertiser or offer unique reference ID String Example : 44 |
"sale_amount" | Local sale amount or user paid amount to advertiser Number Example : 345.00 |
"currency" | Default conversion currency code - (ISO 4217) String Example : PHP |
"payout" | Total commission earn on local currency including the base and bonus commission Number Example : 14.49 |
"base_payout" | Base commission earn on local currency excluding bonus commission Number Example : 13.49 |
"bonus_payout" | Bonus payout earn on local currency excluding base commission Number Example : 1.00 |
"aff_sub" | Publisher custom parameter sent to involve asia String Example : 1293847 or null (Blank) |
"adv_sub" | Advertiser custom parameter (refer to advertiser integration document) String Example : 1293847 or null (Blank) |
"datetime_conversion" | Date and time of the conversion recorded String Example : 2017-02-22 21:16:47 |
"conversion_status" | Status of the conversion - (pending, approved, rejected, paid, invalid, yet to consumed and processing) String Example : pending |
"affiliate_remarks" | Conversion rejection reason String Example : rejected by advertiser |
"affiliate_id" | Publisher Unique account ID Number Example : 4726 |
"user_id" | User ID for the assigned API key Number Example : 2 |
"user_email" | User email address for the assigned API key String Example : [email protected] |
base_payout bonus_payout
Conversion by Date range
How to call it
curl -X POST "https://api.involve.asia/api/conversions/range" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "start_date=2017-02-26" \
-d "end_date=2017-02-28" \
-d "filters[conversion_id]=899191|7008168" \
-d "filters[offer_id]=25" \
-d "filters[offer_name]=lazada" \
-d "filters[conversion_status]=pending" \
-d "filters[preferred_currency]=USD"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/conversions/range",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"start_date": "2017-02-26",
"end_date": "2017-02-28",
"filters[conversion_id]": "899191|7008168",
"filters[offer_id]": 25,
"filters[offer_name]": "lazada",
"filters[conversion_status]": "pending",
"filters[preferred_currency]": "USD"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/conversions/range",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"start_date" => "2017-02-26",
"end_date" => "2017-02-28",
"filters[conversion_id]" => "899191|7008168",
"filters[offer_id]" => 25,
"filters[offer_name]" => "lazada",
"filters[conversion_status]" => "pending",
"filters[preferred_currency]" => "USD"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "",
"data": {
"page": 1,
"limit": 100,
"count": 246,
"nextPage": 2,
"data": [
{
"conversion_id": 899191,
"offer_name": "Lazada (PH)",
"offer_id": 44,
"merchant_id": 88,
"sale_amount": "345.00",
"currency": "PHP",
"payout": "14.49",
"base_payout": "13.49",
"bonus_payout": "1.00",
"aff_sub1": null,
"aff_sub2": null,
"aff_sub3": null,
"aff_sub4": null,
"aff_sub5": null,
"adv_sub1": "348666368",
"adv_sub2": "Health & Beauty",
"adv_sub3": "false",
"adv_sub4": "AD109HBAK1YRANPH-611385",
"adv_sub5": "6.00",
"datetime_conversion": "2017-02-22 21:16:47",
"conversion_status": "pending",
"affiliate_remarks": "rejected by advertiser",
"affiliate_id": 4726,
"user_id": 2,
"user_email": "[email protected]"
}
]
}
}
Publishers can pull individual transactions by date range, to check the status of the transactions, to create your own reports, and to pull additional information that shared between publishers and advertisers via Aff_sub (from publisher to advertiser) and Adv_sub and custom parameters (from advertiser to publisher)
When should you call API for conversion by date range ?
Best to use this API once a month or twice a month to update and get the current conversion status.
HTTP Request
POST https://api.involve.asia/api/conversions/range
Parameters available for you to filter
Parameters name | Description and Example |
---|---|
[start_date]
|
Start date of conversion you would like to filter. (YYYY:MM:DD) String Example : 2017-02-26 |
[end_date]
|
End date of conversion you would like to filter. (YYYY:MM:DD) String Example : 2017-02-28 |
[conversion_id]
|
This field is optional if you would like to track specific individual conversion you can use the conversion id to keep track of the conversion. String ID of the conversion Example : 899191 To filter more than 1 conversion id please use vertical bar " | " String ID of the conversion Example : 899191|7008168 |
[offer_id]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer id to keep track of the conversion. String ID of the advertiser Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the advertiser Example : 25|85 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[conversion_status]
|
Current conversion status Available Filter
String Conversion Status Example : pending To filter more than 1 status please use vertical bar " | " String Conversion Status Example : pending|approved |
[preferred_currency]
|
Default conversion currency code - (ISO 4217) Available Filter
String Currency code Example : USD |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"conversion_id" | Involve Asia unique conversion id to keep track conversion String Example : 348666368 |
"offer_name" | Advertiser or Program Name String Example : Lazada (PH) |
"offer_id" | Advertiser or offer unique reference ID String Example : 44 |
"sale_amount" | Local sale amount or user paid amount to advertiser Number Example : 345.00 |
"currency" | Default conversion currency code - (ISO 4217) String Example : PHP |
"payout" | Total commission earn on local currency including the base and bonus commission Number Example : 14.49 |
"base_payout" | Base commission earn on local currency excluding bonus commission Number Example : 13.49 |
"bonus_payout" | Bonus payout earn on local currency excluding base commission Number Example : 1.00 |
"aff_sub" | Publisher custom parameter sent to involve asia String Example : 1293847 or null (Blank) |
"adv_sub" | Advertiser custom parameter (refer to advertiser integration document) String Example : 1293847 or null (Blank) |
"datetime_conversion" | Date and time of the conversion recorded String Example : 2017-02-22 21:16:47 |
"conversion_status" | Status of the conversion - (pending, approved, rejected, paid, invalid, yet to consumed and processing) String Example : pending |
"affiliate_remarks" | Conversion rejection reason String Example : rejected by advertiser |
"affiliate_id" | Publisher Unique account ID Number Example : 4726 |
"user_id" | User ID for the assigned API key Number Example : 2 |
"user_email" | User email address for the assigned API key String Example : [email protected] |
Conversion by Date and time range
How to call it
curl -X POST "https://api.involve.asia/api/conversions/data-range" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "start_date=2017-02-26 21:16:47" \
-d "end_date=2017-02-28 21:16:47" \
-d "filters[conversion_id]=899191|7008168" \
-d "filters[offer_id]=25" \
-d "filters[offer_name]=lazada" \
-d "filters[conversion_status]=pending" \
-d "filters[preferred_currency]=USD"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/conversions/data-range",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"start_date": "2017-02-26 21:16:47",
"end_date": "2017-02-28 21:16:47",
"filters[conversion_id]": "899191|7008168",
"filters[offer_id]": 25,
"filters[offer_name]": "lazada",
"filters[conversion_status]": "pending",
"filters[preferred_currency]": "USD"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/conversions/data-range",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"start_date" => "2017-02-26 21:16:47",
"end_date" => "2017-02-28 21:16:47",
"filters[conversion_id]" => "899191|7008168",
"filters[offer_id]" => 25,
"filters[offer_name]" => "lazada",
"filters[conversion_status]" => "pending",
"filters[preferred_currency]" => "USD"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "",
"data": {
"page": 1,
"limit": 100,
"count": 246,
"nextPage": 2,
"data": [
{
"conversion_id": 899191,
"offer_name": "Lazada (PH)",
"offer_id": 44,
"merchant_id": 88,
"sale_amount": "345.00",
"currency": "PHP",
"payout": "14.49",
"base_payout": "13.49",
"bonus_payout": "1.00",
"aff_sub1": null,
"aff_sub2": null,
"aff_sub3": null,
"aff_sub4": null,
"aff_sub5": null,
"adv_sub1": "348666368",
"adv_sub2": "Health & Beauty",
"adv_sub3": "false",
"adv_sub4": "AD109HBAK1YRANPH-611385",
"adv_sub5": "6.00",
"datetime_conversion": "2017-02-22 21:16:47",
"conversion_status": "pending",
"affiliate_remarks": "rejected by advertiser",
"affiliate_id": 4726,
"user_id": 2,
"user_email": "[email protected]"
}
]
}
}
Publishers can pull individual transactions by date and time range, to check the status of the transactions, to create own reports, and to pull additional information that can be shared between publishers and advertisers via Aff_sub (from publisher to advertiser) and Adv_sub and custom parameters (from advertiser to publisher)
When should you call API for conversion by date and time range ?
Best to use this API once a month or twice a month to update and get the current conversion status.
HTTP Request
POST https://api.involve.asia/api/conversions/data-range
Parameters available for you to filter
Parameters name | Description and Example |
---|---|
[start_date]
|
Start date of conversion you would like to filter. (YYYY-MM-DD HH:MM:SS) String Example : 2017-02-26 21:16:47 |
[end_date]
|
End date of conversion you would like to filter. (YYYY-MM-DD HH:MM:SS) String Example : 2017-02-28 21:16:47 |
[conversion_id]
|
This field is optional if you would like to track specific individual conversion you can use the conversion id to keep track of the conversion. String ID of the conversion Example : 899191 To filter more than 1 conversion id please use vertical bar " | " String ID of the conversion Example : 899191|7008168 |
[offer_id]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer id to keep track of the conversion. String ID of the advertiser Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the advertiser Example : 25|85 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[conversion_status]
|
Current conversion status Available Filter
String Conversion Status Example : pending To filter more than 1 status please use vertical bar " | " String Conversion Status Example : pending|approved |
[preferred_currency]
|
Default conversion currency code - (ISO 4217) Available Filter
String Currency code Example : USD |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"conversion_id" | Involve Asia unique conversion id to keep track conversion String Example : 348666368 |
"offer_name" | Advertiser or Program Name String Example : Lazada (PH) |
"offer_id" | Advertiser or offer unique reference ID String Example : 44 |
"sale_amount" | Local sale amount or user paid amount to advertiser Number Example : 345.00 |
"currency" | Default conversion currency code - (ISO 4217) String Example : PHP |
"payout" | Total commission earn on local currency including the base and bonus commission Number Example : 14.49 |
"base_payout" | Base commission earn on local currency excluding bonus commission Number Example : 13.49 |
"bonus_payout" | Bonus payout earn on local currency excluding base commission Number Example : 1.00 |
"aff_sub" | Publisher custom parameter sent to involve asia String Example : 1293847 or null (Blank) |
"adv_sub" | Advertiser custom parameter (refer to advertiser integration document) String Example : 1293847 or null (Blank) |
"datetime_conversion" | Date and time of the conversion recorded String Example : 2017-02-22 21:16:47 |
"conversion_status" | Status of the conversion - (pending, approved, rejected, paid, invalid, yet to consumed and processing) String Example : pending |
"affiliate_remarks" | Conversion rejection reason String Example : rejected by advertiser |
"affiliate_id" | Publisher Unique account ID Number Example : 4726 |
"user_id" | User ID for the assigned API key Number Example : 2 |
"user_email" | User email address for the assigned API key String Example : [email protected] |
Offers
All offers
How to call it
curl -X POST "https://api.involve.asia/api/offers/all" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "sort_by=relevance" \
-d "filters[offer_id]=25" \
-d "filters[offer_name]=lazada" \
-d "filters[offer_country]=Malaysia" \
-d "filters[offer_type]=cpa|cps|cpa_both|cpc|cpm" \
-d "filters[application_status]=Approved|Blocked|Pending|Rejected" \
-d "filters[offer_status]=Active|Paused" \
-d "filters[categories]=Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/offers/all",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"sort_by": "relevance",
"filters[offer_id]": 25,
"filters[offer_name]": "lazada",
"filters[offer_country]": "Malaysia",
"filters[offer_type]": "cpa|cps|cpa_both|cpc|cpm",
"filters[application_status]=Approved|Blocked|Pending|Rejected",
"filters[offer_status]=Active|Paused",
"filters[categories]": "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/offers/all",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"sort_by" => "relevance",
"filters[offer_id]" => 25,
"filters[offer_name]" => "lazada",
"filters[offer_country]" => "Malaysia",
"filters[offer_type]" => "cpa|cps|cpa_both|cpc|cpm",
"filters[application_status]=Approved|Blocked|Pending|Rejected",
"filters[offer_status]=Active|Paused",
"filters[categories]" => "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "Success",
"data": {
"page": 1,
"limit": 1,
"count": 75,
"nextPage": 2,
"data": [
{
"offer_name": "Medical Departures",
"description": "Offer Description",
"preview_url": "https://www.medicaldepartures.com/",
"offer_id": 289,
"merchant_id": 577,
"currency": "USD",
"logo": "https://img.involve.asia/ia_logo/289.png",
"lookup_value": "cpa",
"datetime_updated": "2019-05-31 11:17:36",
"countries": "International",
"categories": "Health & Beauty",
"commissions": [
{
"Commission": "USD52.50"
},
{
"Commission": "USD52.50 OR 0.000"
}
],
"validation_terms": "30",
"payment_terms": "60",
"tracking_link": "https://invol.co/aff_m?offer_id=577&aff_id=2&source=deeplink_generator&url=https%3A%2F%2Fwww.medicaldepartures.com%2F",
"tracking_type": "desktop mobile android",
"commission_tracking": "real-time",
"directory_page": "https://app.involve.asia/directory/medical-departures-affiliate-program"
}
]
}
}
Publishers can check via API which programmes they currently have access to promote. You can also check the whole program list, and filter by program country, offer type and categories.
When should you call API for all offer ?
Best to use this API once a week to update and get the current advertiser or program status.
HTTP Request
POST https://api.involve.asia/api/offers/all
Which data fields you can filter
Parameters name | Description and Example |
---|---|
[offer_id]
|
This field is optional if you would like to track specific individual offers you can use the offer id to filter for information. String ID of the offer Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the offer Example : 25|50 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[offer_country]
|
Filter by country availability, For example if you are would like to filter which offer is available in Singapore you can just filter the country String Offer availability country Example : Malaysia |
[offer_type]
|
Filter by offer type (CPS,CPA,CPC and etc) List of available option
String Example : cps |
[application_status]
|
Filter by application status (Approved, Blocked, Pending, Rejected) List of available option
String Example : Approved |
[offer_status]
|
Filter by advertiser status (Active, Paused) List of available option
String Example : Active |
[categories]
|
Filter by program categories (Fashion,Travel, Finance and etc) List of available option
String Example : Fashion |
Which data fields do we provide
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"offer_name" | Advertiser or Program Name String Example : Medical Departures |
"description" | Advertiser or Program description String Example : Offer Description |
"preview_url" | Advertiser landing page or campaign page String Example : https://www.medicaldepartures.com/ |
"offer_id" | Advertiser or offer unique reference ID Number Example : 289 |
"currency" | Default conversion currency code - (ISO 4217) String Example : PHP |
"logo" | Advertiser Logo link in png file format String Example : https://img.involve.asia/ia_logo/289.png |
"offer_type" | Offer type (CPS,CPA,CPC and etc) String Example : CPA |
"datetime_updated" | Last advertiser or program updated date and time String Example : 2019-05-31 11:17:36 |
"countries" | Offer or program availability. String Example : International or Thailand |
"categories" | Program categories (Fashion,Travel, Finance and etc) String Example : Health & Beauty |
"commission" | Advertiser or program default commission *Take note some offers will have multiple tier commissions based on user type, product or categories. String Example : USD52.50 OR 0.000 |
"validation_terms" | Advertiser validation terms, Number of days it takes for advertiser to validate your transaction. *Please refer to validation our knowledge base to understand validation terms https://help.involve.asia/hc/en-us/articles/360038154852-What-is-Validation-Payment-Terms- String Example : 30 |
"payment_terms" | Advertiser terms upon validation and invoiced. Number of days it takes for the advertiser to process payment and ready to be collected by the publisher. *Please refer to validation our knowledge base to understand payment terms https://help.involve.asia/hc/en-us/articles/360038154852-What-is-Validation-Payment-Terms- String Example : 60 |
"tracking_link" | Publisher default landing page tracking link String Example : https://invol.co/aff_m?offer_id=577&aff_id=2&source=deeplink_generator&url=https%3A%2F%2Fwww.medicaldepartures.com%2F |
Last updated offers
How to call it
curl -X POST "https://api.involve.asia/api/offers/last-updated-range" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "start_date=2017-01-01 00:00:00" \
-d "end_date=2017-12-30 23:59:59" \
-d "sort_by=relevance" \
-d "filters[offer_id]=25" \
-d "filters[offer_name]=lazada" \
-d "filters[offer_country]=Malaysia" \
-d "filters[offer_type]=cpa|cps|cpa_both|cpc|cpm" \
-d "filters[application_status]=Approved|Blocked|Pending|Rejected" \
-d "filters[offer_status]=Active|Paused" \
-d "filters[categories]=Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/offers/last-updated-range",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"start_date": "2017-01-01 00:00:00",
"end_date": "2017-12-30 23:59:59",
"sort_by": "relevance",
"filters[offer_id]": 25,
"filters[offer_name]": "lazada",
"filters[offer_country]": "Malaysia",
"filters[offer_type]": "cpa|cps|cpa_both|cpc|cpm",
"filters[application_status]=Approved|Blocked|Pending|Rejected",
"filters[offer_status]=Active|Paused",
"filters[categories]": "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/offers/last-updated-range",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"start_date" => "2017-01-01 00:00:00",
"end_date" => "2017-12-30 23:59:59",
"sort_by" => "relevance",
"filters[offer_id]" => 25,
"filters[offer_name]" => "lazada",
"filters[offer_country]" => "Malaysia",
"filters[offer_type]" => "cpa|cps|cpa_both|cpc|cpm",
"filters[application_status]=Approved|Blocked|Pending|Rejected",
"filters[offer_status]=Active|Paused",
"filters[categories]" => "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "Success",
"data": {
"page": 1,
"limit": 1,
"count": 75,
"nextPage": 2,
"data": [
{
"offer_name": "Medical Departures",
"description": "Offer Description",
"preview_url": "https://www.medicaldepartures.com/",
"offer_id": 289,
"merchant_id": 577,
"currency": "USD",
"logo": "https://img.involve.asia/ia_logo/289.png",
"lookup_value": "cpa",
"datetime_updated": "2019-05-31 11:17:36",
"countries": "International",
"categories": "Health & Beauty",
"commissions": [
{
"Commission": "USD52.50"
},
{
"Commission": "USD52.50 OR 0.000"
}
],
"validation_terms": "30",
"payment_terms": "60",
"tracking_link": "https://invol.co/aff_m?offer_id=577&aff_id=13972&source=deeplink_generator&url=https%3A%2F%2Fwww.medicaldepartures.com%2F",
"tracking_type": "desktop mobile android",
"commission_tracking": "real-time",
"directory_page": "https://app.involve.asia/directory/medical-departures-affiliate-program"
}
]
}
}
Publishers can check automatically which programmes they currently have access to promote. You can filter by the last update date.
When should you call API for last updated offers ?
Best to use this API once a week to update and get the current advertiser or program status.
HTTP Request
POST https://api.involve.asia/api/offers/last-updated-range
Which data fields you can filter
Parameters name | Description and Example |
---|---|
[start_date]
|
Last updated start date and time. (YYYY-MM-DD HH:MM:SS) String Example : 2017-02-26 21:16:47 |
[end_date]
|
Last updated end date and time. (YYYY-MM-DD HH:MM:SS) String Example : 2017-02-28 21:16:47 |
[offer_id]
|
This field is optional if you would like to track specific individual offers you can use the offer id to filter for information. String ID of the offer Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the offer Example : 25|50 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[offer_country]
|
Filter by country availability, For example if you are would like to filter which advertiser is available in Singapore you can just filter the country String Offer availability country Example : Malaysia |
[offer_type]
|
Filter by offer type (CPS,CPA,CPC and etc) List of available option
String Example : cps |
[application_status]
|
Filter by application status (Approved, Blocked, Pending, Rejected) List of available option
String Example : Approved |
[offer_status]
|
Filter by advertiser status (Active, Paused) List of available option
String Example : Active |
[categories]
|
Filter by program categories (Fashion,Travel, Finance and etc) List of available option
String Example : Fashion |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"offer_name" | Advertiser or Program Name String Example : Medical Departures |
"description" | Advertiser or Program description String Example : Offer Description |
"preview_url" | Advertiser landing page or campaign page String Example : https://www.medicaldepartures.com/ |
"offer_id" | Advertiser or offer unique reference ID Number Example : 289 |
"currency" | Default conversion currency code - (ISO 4217) String Example : PHP |
"logo" | Advertiser Logo link in png file format String Example : https://img.involve.asia/ia_logo/289.png |
"offer_type" | Offer type (CPS,CPA,CPC and etc) String Example : CPA |
"datetime_updated" | Last advertiser or program updated date and time String Example : 2019-05-31 11:17:36 |
"countries" | Offer or program availability. String Example : International or Thailand |
"categories" | Program categories (Fashion,Travel, Finance and etc) String Example : Health & Beauty |
"commission" | Advertiser or program default commission *Take note some offers will have multiple tier commissions based on user type, product or categories. String Example : USD52.50 OR 0.000 |
"validation_terms" | Advertiser validation terms, Number of days it takes for advertiser to validate your transaction. *Please refer to validation our knowledge base to understand validation terms https://help.involve.asia/hc/en-us/articles/360038154852-What-is-Validation-Payment-Terms- String Example : 30 |
"payment_terms" | Advertiser terms upon validation and invoiced. Number of days it takes for the advertiser to process payment and ready to be collected by the publisher. *Please refer to validation our knowledge base to understand payment terms https://help.involve.asia/hc/en-us/articles/360038154852-What-is-Validation-Payment-Terms- String Example : 60 |
"tracking_link" | Publisher default landing page tracking link String Example : https://invol.co/aff_m?offer_id=577&aff_id=2&source=deeplink_generator&url=https%3A%2F%2Fwww.medicaldepartures.com%2F |
Campaign
All Campaign
How to call it
curl -X POST "https://api.involve.asia/api/campaigns/all" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "filters[campaign_banner_id]=123|456" \
-d "filters[offer_id]=25|815" \
-d "filters[offer_name]=lazada" \
-d "filters[start_date]=2017-06-29" \
-d "filters[end_date]=2017-06-29" \
-d "filters[country]=Malaysia|Singapore" \
-d "filters[category]=Finance|Services|Marketplace|Others|Travel|Health & Beauty|Electronics|Fashion" \
-d "filters[coupons_only]=true" \
-d "filters[with_banner]=true" \
-d "filters[banner_size]=300x250|728x90" \
-d "filters[commission_tracking]=real-time|manual"\
-d "filters[device_type]=desktop|mobile|android|ios"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/campaigns/all",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"filters[campaign_banner_id]": "123|456",
"filters[offer_id]": "25|815",
"filters[offer_name]": "lazada",
"filters[start_date]": "2017-06-29",
"filters[end_date]": "2017-06-29",
"filters[country]": "Malaysia",
"filters[category]": "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel",
"filters[coupons_only]": true,
"filters[with_banner]": true,
"filters[banner_size]": "300x250|728x90",
"filters[commission_tracking]": "real-time|manual",
"filters[device_type]": "desktop|mobile|android|ios",
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/campaigns/all",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"filters[campaign_banner_id]" => "123|456",
"filters[offer_id]" => "25|815",
"filters[offer_name]" => "lazada",
"filters[start_date]" => "2017-06-29",
"filters[end_date]" => "2017-06-29",
"filters[country]" => "Malaysia",
"filters[category]" => "Electronics|Fashion|Finance|Health & Beauty|Marketplace|Others|Services|Travel",
"filters[coupons_only]" => true,
"filters[with_banner]" => true,
"filters[banner_size]" => "300x250|728x90",
"filters[commission_tracking]" => "real-time|manual",
"filters[device_type]" => "desktop|mobile|android|ios",
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "Success",
"data": {
"page": 1,
"limit": 1,
"count": 71,
"nextPage": 2,
"data": [
{
"campaign_banner_id": 123,
"offer_id": 46,
"merchant_id": 124,
"offer_name": "Photobook (MY)",
"campaign_name": "60% OFF storewide!",
"description": "60% OFF storewide! for all Photobooks",
"voucher_code": "IARAM60",
"date_campaign_start": "2017-05-23",
"date_campaign_end": "2017-06-30",
"banner_image_url": "https://dev-bkt.s3-ap-southeast-1.amazonaws.com/rpss/campaigns_banners/no-img.jpg",
"tracking_link": "https://invol.co/aff_m?offer_id=124&aff_id=13972&source=campaign&url=http%3A%2F%2Fwww.photobook.com.my%2Fprp%2Fmay17-aff-involveasia",
"categories": "Food & Beverage, Others",
"with_banner": true
}
]
}
}
Publishers can check all ongoing and upcoming campaign details and creative.
When should you call API for all campaign ?
Best to use this API once a week to update and get the current campaign details.
HTTP Request
POST https://api.involve.asia/api/campaigns/all
Which data fields you can filter
Field name | Description |
---|---|
[campaign_banner_id]
|
Advertiser or offer banner unique reference ID String ID of the campaign banner Example : 123 To filter more than 1 offer banner unique reference ID please use vertical bar " | " String ID of the campaign banner Example : 123|456 |
[offer_id]
|
This field is optional if you would like to track specific individual offers you can use the offer id to filter for information. String ID of the offer Example : 25 To filter more than 1 offer id please use vertical bar " | " String ID of the offer Example : 25|50 |
[offer_name]
|
This field is optional if you would like to track specific advertiser conversion you can use the offer name aka advertiser name to keep track of the conversion. String Name of the advertiser Example : Lazada To filter more than 1 advertiser please use vertical bar " | " String Name of the advertiser Example : Lazada|Shopee |
[start_date]
|
Campaign Start date, If you prefer to see only active campaigns for specific start dates you can filter by date. (YYYY:MM:DD) String Example : 2017-02-26 |
[end_date]
|
Campaign end date,If you prefer to see only active campaign for specific end date you can filter by end date (YYYY:MM:DD) String Example : 2017-02-28 |
[country]
|
Filter by country availability, For example if you are would like to filter which campaign is available in Singapore you can just filter the country To filter more than 1 country please use vertical bar " | " String Campaign availability country Example : Malaysia|Singapore |
[categories]
|
Filter by program categories (Fashion,Travel, Finance and etc) List of available option
String Example : Fashion |
[coupons_only]
|
To filter campaigns with coupon code only below is the available option. List of available option
String Example : true |
[with_banner]
|
To filter campaigns with banners only below is the available option. List of available option
String Example : true |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"page" | Current page index Number Example : 1 |
"limit" | Number of data available in 1 page - Maximum is 100 entry per page Number Example : 100 |
"count" | Count of total number of data available Number Example : 246 |
"nextPage" | Next page number Number Example : 3 |
"campaign_banner_id" | Campaign banner id is unique for every campaign in involve asia Number Example : 123 |
"offer_id" | Advertiser or offer unique reference ID Number Example : 289 |
"offer_name" | Advertiser or Program Name String Example : Medical Departures |
"campaign_name" | Campaign Name and details String Example : 60% OFF storewide! |
"description" | Details and description of the campaign String Example : 60% OFF storewide! for all Photobooks |
"voucher_code" | Campaign or promotion coupon code, Please take note if coupon code is not available the response will return as blank String Example : IARAM60 |
"date_campaign_start" | Campaign Start date, If you prefer to see only active campaigns for specific start dates you can filter by date. (YYYY-MM-DD) String Example : 2017-02-26 |
"date_campaign_end" | Campaign end date,If you prefer to see only active campaign for specific end date you can filter by end date. (YYYY-MM-DD) String Example : 2017-02-26 |
"banner_image_url" | Image banners for the campaign can be used by you to promote. String Example : https://img.involve.asia/rpss/campaigns_banners/no-img.jpg |
"tracking_link" | Publisher campaign landing page tracking link String Example : https://invol.co/aff_m?offer_id=577&aff_id=2&source=deeplink_generator&url=https%3A%2F%2Fwww.medicaldepartures.com%2F |
"categories" | Program categories (Fashion,Travel, Finance and etc) String Example : Health & Beauty |
"with_banner" | Campaign banner availability Status If return response as below
String Example : true |
Deeplink
Deeplink Generator
How to call it
curl -X POST "https://api.involve.asia/api/deeplink/generate" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "offer_id=2281" \
-d "url=https://www.lazada.com.my/shop-audio-2"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/deeplink/generate",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"offer_id": 2281,
"url": "https://www.lazada.com.my/shop-audio-2",
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/deeplink/generate",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"offer_id" => 2281,
"url" => "https://www.lazada.com.my/shop-audio-2",
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "Success",
"data": {
"offer_name": "Lazada (MY)",
"offer_id": 2281,
"merchant_id": 101132,
"tracking_link": "https:\/\/invol.co\/clh7nii"
}
}
Involve Asia Deeplink API is a powerful tool for publishers to generate link on the go. You can programmatically generate links at scale to support all of your campaigns.
API Limitations
Limitation | Details |
---|---|
Rate Limits | 20 API Calls/minute 1 API call = 1 deeplink generated |
Monthly Limits | 1000 Per Month |
HTTP Request
POST https://api.involve.asia/api/deeplink/generate
Which data fields you can filter
Field name | Description |
---|---|
[offer_id]
|
Program that you would like to generate deeplink. String ID of the offer Example : 2281 |
[url]
|
Destination link that you would like to deeplink. String Destination URL Example : https://www.lazada.com.my/shop-audio-2 |
[aff_sub]
|
Affiliate sub 1 String Example : sub_1 |
[aff_sub2]
|
Affiliate sub 2 String Example : sub_2 |
[aff_sub3]
|
Affiliate sub 3 String Example : sub_3 |
[aff_sub4]
|
Affiliate sub 4 String Example : sub_4 |
[aff_sub5]
|
Affiliate sub 5 String Example : sub_5 |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"offer_id" | Advertiser or offer unique reference ID Number Example : 289 |
"offer_name" | Advertiser or Program Name String Example : Medical Departures |
"tracking_link" | The deep link URL created by this endpoint. String Example : https://invol.co/clh7nii |
Shopee Commissions Xtra
All Shopee Brand Commissions Xtra
How to call it
curl -X POST "https://api.involve.asia/api/shopeextra/all" \
-H "Accept: application/json" \
-H "Authorization: Bearer [token]" \
-d "page=1" \
-d "limit=100" \
-d "filters[shop_name]=mobile" \
-d "filters[shop_type]=mall" \
-d "filters[sort_type]=high_commission" \
-d "filters[country]=Malaysia"
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.involve.asia/api/shopeextra/all",
"method": "POST",
"headers": {
"accept": "application/json",
"Authorization": "Bearer [token]"
},
"data": {
"page": 1,
"limit": 100,
"filters[shop_name]": "mobile",
"filters[shop_type]": "mall",
"filters[sort_type]": "high_commission",
"filters[country]": "Malaysia"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.involve.asia/api/shopeextra/all",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_POSTFIELDS => http_build_query(
array(
"page" => 1,
"limit" => 100,
"filters[shop_name]" => "mobile",
"filters[shop_type]" => "mall",
"filters[sort_type]" => "high_commission",
"filters[country]" => "Malaysia"
)
),
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer [token]"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
How does the response look
{
"status": "success",
"message": "Success",
"data": {
"shop_id": "100",
"shop_name": "Official Store",
"shop_type": "mall",
"shop_link": "https://shopee.com.my/shop/100",
"shop_image": "https://cf.shopee.com.my/file/79777fcca942fc51347995a2f7dc80b0",
"shop_banner": [
"https://cf.shopee.com.my/file/79777fcca942fc51347995a2f7dc80b0",
"https://cf.shopee.com.my/file/79777fcca942fc51347995a2f7dc80b0"
],
"offer_name": "Shopee MY - CPS",
"country": "Malaysia",
"period_start_time": "2023-03-03",
"period_end_time": "2023-06-01",
"commission_rate": "0.7000",
"tracking_link": "https://invol.co/aff_m?offer_id=124&aff_id=13972&source=ia_api_shopeextra&url=https%3A%2F%2Fshopee.com.my%2Fshop%2F100"
}
}
Get detailed information about Shopee Brand commission Xtra
API Limitations
Limitation | Details |
---|---|
Rate Limits | 200 Per Page |
HTTP Request
POST https://api.involve.asia/api/shopeextra/all
Which data fields you can filter
Field name | Description |
---|---|
[shop_name]
|
Search by shop name String Brand name Example : Mobile |
[shop_type]
|
Filter specific shop type List of available option
String Shop Type Example : mall |
[sort_type]
|
Sort shop listing List of available option
String Sort Type Example : high_commission |
[country]
|
Filter by country availability, For example if you are would like to filter which shop is available in Singapore you can just filter the country List of available option
String Shop availability country Example : Malaysia |
Response data type and sample
Parameters name | Description and Example |
---|---|
"status" | API call Status, There will be only 2 type of respond Example :
|
"message" | API call message status, If your API key is correct you will get below status
If your API Token is wrong you will get error as below
If you Get this below error it means your header is incorrect.
*Please ensure your API's credentials are correct and please refer to our sample request. |
"shop_id" | Seller shop id in shopee Number Example : 100 |
"shop_name" | Shop name in shopee String Example : Official Store |
"shop_type" | Shop type in shopee String Example : mall |
"shop_link" | Shop URL in shopee String Example : https://shopee.com.my/shop/100 |
"shop_image" | Shop image URL or logo String Example : https://cf.shopee.com.my/file/79777fcca942fc51347995a2f7dc80b0 |
"shop_banner" | Shop banner images URL String Example : https://cf.shopee.com.my/file/79777fcca942fc51347995a2f7dc80b0 |
"offer_name" | Advertiser or Program Name String Example : Shopee MY - CPS |
"country" | Shop country String Example : Malaysia |
"period_start_time" | Xtra commission program start time String Example : 2023-03-03 |
"period_end_time" | Xtra commission program end time String Example : 2023-06-01 |
"commission_rate" | The commission rate, e.g. set "0.0123" if the rate is 1.23% String Example : 0.7000 |
"tracking_link" | Involve Asia tracking link String Example : https://invol.co/aff_m?offer_id=124&aff_id=13972&source=ia_api_shopeextra&url=https%3A%2F%2Fshopee.com.my%2Fshop%2F100 |