Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is not authenticated.
Deep linking
Get Deep-link urls
requires authentication
Return list of deep-link urls for authorized user
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/deep-link-urls';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/users/1/deep-link-urls" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/deep-link-urls"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
Display a listing of the resource.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/stores/{store_id}/offers';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/stores/{store_id}/offers" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/stores/{store_id}/offers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the validation rules that apply to the request.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/stores/{store_id}/offers';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'active' => false,
'campaign_title' => 'egsoszipytquadz',
'campaign_text' => 'gewzh',
'has_product_seeding' => true,
'todo' => [
'qui',
],
'has_onetime_payment' => false,
'one_time_payment' => 13,
'valid_from' => '2024-04-18T17:29:25',
'valid_until' => '2014-03-14',
'max_clicks' => 19,
'per_user_limit' => true,
'max_money' => 23,
'type' => 'standard',
'traffic_sources_costs' => [
'debitis',
],
'targets' => [
'user_ids' => [
3,
],
'user_tag_ids' => [
1,
],
'store_group_ids' => [
17,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'lzpmwd',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/stores/{store_id}/offers" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"active\": false,
\"campaign_title\": \"egsoszipytquadz\",
\"campaign_text\": \"gewzh\",
\"has_product_seeding\": true,
\"todo\": [
\"qui\"
],
\"has_onetime_payment\": false,
\"one_time_payment\": 13,
\"valid_from\": \"2024-04-18T17:29:25\",
\"valid_until\": \"2014-03-14\",
\"max_clicks\": 19,
\"per_user_limit\": true,
\"max_money\": 23,
\"type\": \"standard\",
\"traffic_sources_costs\": [
\"debitis\"
],
\"targets\": {
\"user_ids\": [
3
],
\"user_tag_ids\": [
1
],
\"store_group_ids\": [
17
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"lzpmwd\"
]
}
}"
const url = new URL(
"https://api.metapic.com/v2/stores/{store_id}/offers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"active": false,
"campaign_title": "egsoszipytquadz",
"campaign_text": "gewzh",
"has_product_seeding": true,
"todo": [
"qui"
],
"has_onetime_payment": false,
"one_time_payment": 13,
"valid_from": "2024-04-18T17:29:25",
"valid_until": "2014-03-14",
"max_clicks": 19,
"per_user_limit": true,
"max_money": 23,
"type": "standard",
"traffic_sources_costs": [
"debitis"
],
"targets": {
"user_ids": [
3
],
"user_tag_ids": [
1
],
"store_group_ids": [
17
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"lzpmwd"
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the validation rules that apply to the request.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{id}';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'active' => false,
'campaign_title' => 'kjtvcqaoqzunn',
'campaign_text' => 'lxpzuddfirfonvfwdtfhm',
'has_product_seeding' => true,
'todo' => [
'velit',
],
'has_onetime_payment' => true,
'one_time_payment' => 23,
'valid_from' => '2024-04-18T17:29:25',
'valid_until' => '2007-03-26',
'max_clicks' => 15,
'per_user_limit' => false,
'max_money' => 15,
'type' => 'store_accept',
'traffic_sources_costs' => [
'placeat',
],
'targets' => [
'user_ids' => [
18,
],
'user_tag_ids' => [
13,
],
'store_group_ids' => [
12,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'dzdwjojzj',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/v2/offers/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"active\": false,
\"campaign_title\": \"kjtvcqaoqzunn\",
\"campaign_text\": \"lxpzuddfirfonvfwdtfhm\",
\"has_product_seeding\": true,
\"todo\": [
\"velit\"
],
\"has_onetime_payment\": true,
\"one_time_payment\": 23,
\"valid_from\": \"2024-04-18T17:29:25\",
\"valid_until\": \"2007-03-26\",
\"max_clicks\": 15,
\"per_user_limit\": false,
\"max_money\": 15,
\"type\": \"store_accept\",
\"traffic_sources_costs\": [
\"placeat\"
],
\"targets\": {
\"user_ids\": [
18
],
\"user_tag_ids\": [
13
],
\"store_group_ids\": [
12
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"dzdwjojzj\"
]
}
}"
const url = new URL(
"https://api.metapic.com/v2/offers/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"active": false,
"campaign_title": "kjtvcqaoqzunn",
"campaign_text": "lxpzuddfirfonvfwdtfhm",
"has_product_seeding": true,
"todo": [
"velit"
],
"has_onetime_payment": true,
"one_time_payment": 23,
"valid_from": "2024-04-18T17:29:25",
"valid_until": "2007-03-26",
"max_clicks": 15,
"per_user_limit": false,
"max_money": 15,
"type": "store_accept",
"traffic_sources_costs": [
"placeat"
],
"targets": {
"user_ids": [
18
],
"user_tag_ids": [
13
],
"store_group_ids": [
12
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"dzdwjojzj"
]
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified resource from storage.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{id}';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
"https://api.metapic.com/v2/offers/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display a listing of the resource.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/targets';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/offers/{offer_id}/targets" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/targets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the validation rules that apply to the request.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/targets';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'user_ids' => [
2,
],
'user_tag_ids' => [
12,
],
'store_group_ids' => [
7,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'onwtwxoefu',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/offers/{offer_id}/targets" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"user_ids\": [
2
],
\"user_tag_ids\": [
12
],
\"store_group_ids\": [
7
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"onwtwxoefu\"
]
}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/targets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"user_ids": [
2
],
"user_tag_ids": [
12
],
"store_group_ids": [
7
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"onwtwxoefu"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display the specified resource.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/targets/{id}';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/offers/{offer_id}/targets/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/targets/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update the specified resource in storage.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/targets/{id}';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/v2/offers/{offer_id}/targets/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/targets/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove the specified resource from storage.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/targets/{id}';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
"https://api.metapic.com/v2/offers/{offer_id}/targets/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/targets/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete One Time Earning
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/admin/one-time-earnings/{id}';
$response = $client->delete(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request DELETE \
"https://api.metapic.com/admin/one-time-earnings/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/admin/one-time-earnings/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT v2/stores/{store_id}/payment
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/stores/{store_id}/payment';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/v2/stores/{store_id}/payment" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/stores/{store_id}/payment"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get User Tags Stats Get Tags with TagClickView(clicks and earnings) statistic
GET users/{id}/stores/stats
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/{id}/stores/stats';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/users/{id}/stores/stats" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/{id}/stores/stats"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET getInformation
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/getInformation';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/getInformation" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/getInformation"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST getEarningBetween
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/getEarningBetween';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/getEarningBetween" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/getEarningBetween"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST sendFeedback
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/sendFeedback';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/sendFeedback" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/sendFeedback"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST setUserConfig
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/setUserConfig';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/setUserConfig" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/setUserConfig"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get User Info Used to get personal user info by authorized user
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/extraUserInfo';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/extraUserInfo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/extraUserInfo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Payments for a user.
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/getPaymentsForUser';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/getPaymentsForUser" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/getPaymentsForUser"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get the pdf for a payment
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/payments/4/pdf';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/users/1/payments/4/pdf" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/payments/4/pdf"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Checks if user has been added to the offer.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{userId}';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{userId}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{userId}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Offers
Get offer
requires authentication
Return offer details.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/offers/{offer_id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload Offer Image (v2)
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offers/{offer_id}/uploads';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'default' => 'image.png',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/offers/{offer_id}/uploads" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"default\": \"image.png\"
}"
const url = new URL(
"https://api.metapic.com/v2/offers/{offer_id}/uploads"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"default": "image.png"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get offer
requires authentication
Return offer details.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offer-by-token/{offer_token}';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/v2/offer-by-token/{offer_token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offer-by-token/{offer_token}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark user as having joined the campaign
requires authentication
This can only be performed by the user themselves.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{user_id}/join';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{user_id}/join" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offer-by-token/{offer_token}/users/{user_id}/join"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Statistic
Get all click statistic split on stores
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stats/stores';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'query' => [
'from' => '2019-01-01',
'to' => '2019-02-02',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/stats/stores?from=2019-01-01&to=2019-02-02" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/stats/stores"
);
const params = {
"from": "2019-01-01",
"to": "2019-02-02",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Store
Create Store
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/v2/stores';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'name' => 'quis',
'domains' => [
'K.eopaM. -/.w. .-..////-/- .-..ww -/-w.w',
],
'categories' => [
1,
],
'logo_url' => 'http://www.jenkins.biz/',
'country' => 'SE',
'currency' => 'EUR',
'language' => 'et',
'billing' => [
'company_name' => 'repellat',
'street' => 'quia',
'postal_code' => 'sed',
'city' => 'optio',
'vat_number' => 'tenetur',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/stores" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"name\": \"quis\",
\"domains\": [
\"K.eopaM. -\\/.w. .-..\\/\\/\\/\\/-\\/- .-..ww -\\/-w.w\"
],
\"categories\": [
1
],
\"logo_url\": \"http:\\/\\/www.jenkins.biz\\/\",
\"country\": \"SE\",
\"currency\": \"EUR\",
\"language\": \"et\",
\"billing\": {
\"company_name\": \"repellat\",
\"street\": \"quia\",
\"postal_code\": \"sed\",
\"city\": \"optio\",
\"vat_number\": \"tenetur\"
}
}"
const url = new URL(
"https://api.metapic.com/v2/stores"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"name": "quis",
"domains": [
"K.eopaM. -\/.w. .-..\/\/\/\/-\/- .-..ww -\/-w.w"
],
"categories": [
1
],
"logo_url": "http:\/\/www.jenkins.biz\/",
"country": "SE",
"currency": "EUR",
"language": "et",
"billing": {
"company_name": "repellat",
"street": "quia",
"postal_code": "sed",
"city": "optio",
"vat_number": "tenetur"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Stores
Get store by ID
requires authentication
Returns store information by its ID based on user data.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/user/stores/{id}';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/user/stores/{id}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/user/stores/{id}"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.