Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is not authenticated.
Chats
Get Chats
requires authentication
Get list of user chats with Admin Support
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/support-admin-chat';
$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/support-admin-chat" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/support-admin-chat"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"user_id": "{userId}",
"active": 1,
"type": "support_admin",
"updated_at": "2022-01-24 16:42:46",
"created_at": "2022-01-24 16:42:46",
"id": "{chatId}",
"messages": []
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 192
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkZYaVl3NVN5d0JDSGVVdlIvS0liTUE9PSIsInZhbHVlIjoiMU9zZGR1eFpHczl3RmwzUDB6VmJGZ1F5b1MxNzg1cXIyN09IUTN6QWpkUVgvWnU1eUUvaTd0eW4yZ2l6dk9IUHdiMUhNQWpTZWVVdDJqa1JRV21nalZqUisrY01Oa25pMlMwdUxheGFMV3Fuc0hTVlhwcEwzaUZJZ2s3cFRZWlAiLCJtYWMiOiI2MDVlMGI4MGJlNzc1NWJkMTA5YjU4MjQ1MzU2ZmIwZWViMDI4MDZjNTM1MDljNzE5M2FjZGQ3N2E4ZGQwYzIwIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:37 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Create Chat
requires authentication
Create new chat with Admin Support
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/support-admin-chat';
$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/support-admin-chat" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/support-admin-chat"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Example response (200):
{
"user_id": "{userId}",
"active": 1,
"type": "support_admin",
"updated_at": "2022-01-24 16:42:46",
"created_at": "2022-01-24 16:42:46",
"id": "{chatId}",
"messages": [
{
"id": 189,
"chat_id": 2,
"user_id": "{userId}",
"from": null,
"message": "test",
"created_at": "2022-01-24 11:40:10",
"updated_at": "2022-01-24 11:40:10",
"user": {
"id": "{userId}",
"username": "{username}",
"email": "{email}",
"is_suspended": false,
"is_verified": false
}
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 191
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ilhkc1JSWEIyd0hqNmhDNnNzNEswdGc9PSIsInZhbHVlIjoiRlV4ZHhvR1c3UTI1QVV3NHQ5SGZKRzhybGdzZGR0WHRkMy96VmYxVC9YYjJSZ3FJR0tsN3JTVjR6ODBIbFU5YmFxVlZTeVlzRUNhNjlHem9ncmRjR2dYdUVCd3ErVSsxM3A4aGxVTTVyTzVNT2l5UDBnZk5jUFp5bHZ2NVIwWWIiLCJtYWMiOiJlNzBiMmY1NjIyOGRlN2ZjZmI0MmFiZGM4OGY1YTMwY2FkYjEwZjRiMGY1MDZkZGZhMTVhZDIxZTVkMzFkMWQyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:38 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Chat
requires authentication
Get user chat with Admin Support
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/support-admin-chat/et';
$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/support-admin-chat/et" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/support-admin-chat/et"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"user_id": "{userId}",
"active": 1,
"type": "support_admin",
"updated_at": "2022-01-24 16:42:46",
"created_at": "2022-01-24 16:42:46",
"id": "{chatId}",
"messages": [
{
"id": 189,
"chat_id": 2,
"user_id": "{userId}",
"from": null,
"message": "test",
"created_at": "2022-01-24 11:40:10",
"updated_at": "2022-01-24 11:40:10",
"user": {
"id": "{userId}",
"username": "{username}",
"email": "{email}",
"is_suspended": false,
"is_verified": false
}
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 190
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkcyQnJwSnFHVmhxaWs0QW9FcGV1bWc9PSIsInZhbHVlIjoiSE9jT3QvbFV6ODEybUg2aEQ5N05wa05uek9XNzNMNlF4NW9zb1JsRjFaaVdadlFVM1A1MW5TczRiVGdLQ1QvM1ZDazIzMVYxaWVFYXJOSGlSTDArZGpNTnJneGk5cmcvVldhMVJTU0lqZGIwazhtZWRPR3FSQUFLcGVNMjZwUkwiLCJtYWMiOiJmNGIwYjdhYWUzNzNjOWU2Zjc5ODAzYTUxODVjODYwNWU0MjE5ZmI5OGUyZWEyNDczOGRkODk5NGE4ODZhYzU1IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:39 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Create Message
requires authentication
Create message in Admin Support
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/support-admin-chat/1/messages';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'message' => 'textMessage',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/support-admin-chat/1/messages" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"message\": \"textMessage\"
}"
const url = new URL(
"https://api.metapic.com/support-admin-chat/1/messages"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"message": "textMessage"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"chat_id": "2",
"user_id": "{userId}",
"message": "test message",
"updated_at": "2022-01-24 17:43:37",
"created_at": "2022-01-24 17:43:37",
"id": 222
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 189
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Im9aY01oakc0UGJBMkhqbHI2VTl4NGc9PSIsInZhbHVlIjoibUMrdzlGTm1XYXZYcFprV0NBT0lhTFdkVmlZQS9sZGdiblhYS1pNNm1WUnhsdTI5MjY0QUxqaUljdm5vWTdwa1A4eWRCSGVDS0dxT0E3aGV0RUtFN2xkS25vbEo4TkZPMU9QMGZFREs4R3FMQjNZcm1UeEJXOURZK2N4L3RIZEYiLCJtYWMiOiJmNWNkOGMyZmQxYTBhNjBkNWYwOGY2OGUyMGI3ZTBhNTZlM2VhNTQ1NjVhNmVlMzk5ZWFhM2EzYTI3MDdjMzYzIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:40 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 149
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InNiemxSS3VDNGtuWGM5RVdPOHAzK1E9PSIsInZhbHVlIjoiZW9rbE0wWjdwWEYxYUt2YlFIKzhzQ3BmSTJGM1AzOTB5OVNiQ0kzdlpKL0doUWx5T0tFbkZKa3d4RnlMUmdpQmFyNFdaMCtwYTliazV0OEZ0NUVXMDhaekd1aWRwdElONUI5OTR1RmJtcDFaUEF4RE9XeWZQMW5Yb2l4VkxEYXkiLCJtYWMiOiI5ZGM0YjAxMDFlYmQzN2JkYzI1NmRiOTkzYWRhY2EwMDA5ZjgyNjAyZjg3MWM5MmI0NDQ0NDY0MDQ1NmRjMTMyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:19 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
DeepLink BlogPost
requires authentication
Transform a html blocks links to metapic links. Will only transform links that you can earn money on
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/deepLinkBlogPost/et';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'blogPost' => '<div> <a href=\'https://na-kd.com\'> link</a></div>',
'dry' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/deepLinkBlogPost/et" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"blogPost\": \"<div> <a href=\'https:\\/\\/na-kd.com\'> link<\\/a><\\/div>\",
\"dry\": 1
}"
const url = new URL(
"https://api.metapic.com/deepLinkBlogPost/et"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"blogPost": "<div> <a href='https:\/\/na-kd.com'> link<\/a><\/div>",
"dry": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"newHtml": "<div> <a href=\"https://c.mtpc.se/tags/link/2082970\"> link</a></div>",
"linkTranslation": [
{
"before": "https://na-kd.com",
"status": "success",
"store": "NA-KD",
"storeId": "{storeId}",
"type": "tradedoubler_SE",
"after": "https://c.mtpc.se/tags/link/2082970",
"currency": "SEK",
"tag_id": "{tagId}",
"user_revenue_cpc": 250,
"user_instagram_cpc": 100,
"user_revenue_cpa": 0,
"user_instagram_cpa": 0,
"user_revenue_cpc_formated": "2.50 kr",
"user_instagram_cpc_formated": "1.00 kr",
"traffic_sources_costs": [
{
"id": 301,
"store_id": "{storeId}",
"source": 0,
"cpc": 250,
"invoice_cpc": 250,
"cpa": 0,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:08",
"updated_at": "2023-05-03 12:01:08",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "2.50 kr",
"title": "General"
},
{
"id": 302,
"store_id": "{storeId}",
"source": 1,
"cpc": 100,
"invoice_cpc": 100,
"cpa": null,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:09",
"updated_at": "2023-05-03 12:01:09",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "1.00 kr",
"title": "Instagram"
}
]
}
],
"isUpdated": true
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Im92ZlNrUXo4SkZtZE5LZXB3eE9Xa0E9PSIsInZhbHVlIjoiTFVEbmQ2eGEyZ2I3aWpsZlUvaUtLS24zQmw0cVFLcnZVSUpPQ0h5cnNsVkhEVk0weldxTzhIbFpCOUNGMzVobnZnZWVoRDEweSs4TlBoUncyWnVCd3A5d3Z3MURLY2d4V1kyZDdsZFRYNlVQbFZoZmNzVUNNVlZwOGZVMUZ1UlMiLCJtYWMiOiI2NzE5YTk4N2NkNzhhYWQyNjExMzRlNGQxYjM2MzczMDFlOTc5MDUwOGQxYjA2Zjg0OWJiNmE3ZGQ2YzM3ODIzIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:49 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden"
}
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.
Create Deep Links
requires authentication
Create deeplinks from an array of links
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/deep-links';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'links' => '["https://ellos.com"]',
'userId' => 1,
'dry' => 1,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/deep-links" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"links\": \"[\\\"https:\\/\\/ellos.com\\\"]\",
\"userId\": 1,
\"dry\": 1
}"
const url = new URL(
"https://api.metapic.com/deep-links"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"links": "[\"https:\/\/ellos.com\"]",
"userId": 1,
"dry": 1
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
[
{
"before": "https://na-kd.com",
"status": "success",
"store": "NA-KD",
"storeId": "{storeId}",
"type": "tradedoubler_SE",
"after": "https://c.mtpc.se/tags/link/2082974",
"currency": "SEK",
"tag_id": "{tagId}",
"user_revenue_cpc": 250,
"user_instagram_cpc": 100,
"user_revenue_cpa": 0,
"user_instagram_cpa": 0,
"user_revenue_cpc_formated": "2.50 kr",
"user_instagram_cpc_formated": "1.00 kr",
"traffic_sources_costs": [
{
"id": 301,
"store_id": "{storeId}",
"source": 0,
"cpc": 250,
"invoice_cpc": 250,
"cpa": 0,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:08",
"updated_at": "2023-05-03 12:01:08",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "2.50 kr",
"title": "General"
},
{
"id": 302,
"store_id": "{storeId}",
"source": 1,
"cpc": 100,
"invoice_cpc": 100,
"cpa": null,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:09",
"updated_at": "2023-05-03 12:01:09",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "1.00 kr",
"title": "Instagram"
}
]
},
"..."
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkJybWZ3ODhodE05eHBuL3JGcG9HWnc9PSIsInZhbHVlIjoiT3Q4aFZOWDJuVGdFQTh1Y2ZtR1RTQlRZNXB4enZEL1hkL0JVcitLcWFMV2h0N1hkY0hHTzZmRTZGUndmTlh3NTRsdExSb2JuWTBtMncvZnFHeDNld1lJL2o3TFRXbkgzRlVMVE15QlJWU0JqVTZIdENoQTJCMWU1bUNjZm0xQ2YiLCJtYWMiOiJkM2U1MjU5YzZlYmI2Yzg3OThkNzEyMmM4ODJiY2VlNjQ5Mzc0Y2NmMzUyOThkNjNkMTU4YjM4NjMwOWZhYzBlIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:50 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden"
}
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/2/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/2/offers" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/stores/2/offers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/2/offers';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'active' => false,
'campaign_title' => 'bjeertvjcuapf',
'campaign_text' => 'imyzfktthlxv',
'has_product_seeding' => false,
'todo' => [
'ipsam',
],
'has_onetime_payment' => false,
'one_time_payment' => 4,
'valid_from' => '2024-03-28T13:15:32',
'valid_until' => '1999-11-02',
'max_clicks' => 19,
'per_user_limit' => true,
'max_money' => 15,
'type' => 'suggestion',
'traffic_sources_costs' => [
'explicabo',
],
'targets' => [
'user_ids' => [
5,
],
'user_tag_ids' => [
19,
],
'store_group_ids' => [
4,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'j',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/stores/2/offers" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"active\": false,
\"campaign_title\": \"bjeertvjcuapf\",
\"campaign_text\": \"imyzfktthlxv\",
\"has_product_seeding\": false,
\"todo\": [
\"ipsam\"
],
\"has_onetime_payment\": false,
\"one_time_payment\": 4,
\"valid_from\": \"2024-03-28T13:15:32\",
\"valid_until\": \"1999-11-02\",
\"max_clicks\": 19,
\"per_user_limit\": true,
\"max_money\": 15,
\"type\": \"suggestion\",
\"traffic_sources_costs\": [
\"explicabo\"
],
\"targets\": {
\"user_ids\": [
5
],
\"user_tag_ids\": [
19
],
\"store_group_ids\": [
4
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"j\"
]
}
}"
const url = new URL(
"https://api.metapic.com/v2/stores/2/offers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"active": false,
"campaign_title": "bjeertvjcuapf",
"campaign_text": "imyzfktthlxv",
"has_product_seeding": false,
"todo": [
"ipsam"
],
"has_onetime_payment": false,
"one_time_payment": 4,
"valid_from": "2024-03-28T13:15:32",
"valid_until": "1999-11-02",
"max_clicks": 19,
"per_user_limit": true,
"max_money": 15,
"type": "suggestion",
"traffic_sources_costs": [
"explicabo"
],
"targets": {
"user_ids": [
5
],
"user_tag_ids": [
19
],
"store_group_ids": [
4
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"j"
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'active' => false,
'campaign_title' => 'jeffr',
'campaign_text' => 'eftlfaheohevfncpduqrh',
'has_product_seeding' => true,
'todo' => [
'labore',
],
'has_onetime_payment' => true,
'one_time_payment' => 12,
'valid_from' => '2024-03-28T13:15:35',
'valid_until' => '1976-12-30',
'max_clicks' => 17,
'per_user_limit' => false,
'max_money' => 4,
'type' => 'suggestion',
'traffic_sources_costs' => [
'ut',
],
'targets' => [
'user_ids' => [
5,
],
'user_tag_ids' => [
19,
],
'store_group_ids' => [
2,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'yepfddiowyfbbzkbgqxoxbk',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/v2/offers/23" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"active\": false,
\"campaign_title\": \"jeffr\",
\"campaign_text\": \"eftlfaheohevfncpduqrh\",
\"has_product_seeding\": true,
\"todo\": [
\"labore\"
],
\"has_onetime_payment\": true,
\"one_time_payment\": 12,
\"valid_from\": \"2024-03-28T13:15:35\",
\"valid_until\": \"1976-12-30\",
\"max_clicks\": 17,
\"per_user_limit\": false,
\"max_money\": 4,
\"type\": \"suggestion\",
\"traffic_sources_costs\": [
\"ut\"
],
\"targets\": {
\"user_ids\": [
5
],
\"user_tag_ids\": [
19
],
\"store_group_ids\": [
2
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"yepfddiowyfbbzkbgqxoxbk\"
]
}
}"
const url = new URL(
"https://api.metapic.com/v2/offers/23"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"active": false,
"campaign_title": "jeffr",
"campaign_text": "eftlfaheohevfncpduqrh",
"has_product_seeding": true,
"todo": [
"labore"
],
"has_onetime_payment": true,
"one_time_payment": 12,
"valid_from": "2024-03-28T13:15:35",
"valid_until": "1976-12-30",
"max_clicks": 17,
"per_user_limit": false,
"max_money": 4,
"type": "suggestion",
"traffic_sources_costs": [
"ut"
],
"targets": {
"user_ids": [
5
],
"user_tag_ids": [
19
],
"store_group_ids": [
2
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"yepfddiowyfbbzkbgqxoxbk"
]
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 51
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23';
$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/23" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 49
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/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/23/targets" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23/targets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 47
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/targets';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'user_ids' => [
1,
],
'user_tag_ids' => [
5,
],
'store_group_ids' => [
18,
],
'emails' => [
'[email protected]',
],
'social_media_identifiers' => [
'tguqqw',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/v2/offers/23/targets" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"user_ids\": [
1
],
\"user_tag_ids\": [
5
],
\"store_group_ids\": [
18
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"tguqqw\"
]
}"
const url = new URL(
"https://api.metapic.com/v2/offers/23/targets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"user_ids": [
1
],
"user_tag_ids": [
5
],
"store_group_ids": [
18
],
"emails": [
"[email protected]"
],
"social_media_identifiers": [
"tguqqw"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 45
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/targets/doloribus';
$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/23/targets/doloribus" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23/targets/doloribus"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 43
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/targets/veritatis';
$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/23/targets/veritatis" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23/targets/veritatis"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 41
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/targets/nemo';
$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/23/targets/nemo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23/targets/nemo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 39
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/1';
$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/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/admin/one-time-earnings/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InlOVWNQWVkyYW1tczZKMTQybnpvZHc9PSIsInZhbHVlIjoiV1M2OHdkaDU2Vm9teUtwaGhTYnNyQ0RHd3NSVG5NWERSNzRMZkEyRzA5Rkp1dVowcU9jU2kvbm5rS1BWb0E0enl6RlRYU3ZLbkVIRHI4UlFpcForeUovYTViSnFxKy85S1FHYUc4TzNMNUdTaVY0bGFYV001ZFg3cDFFN2F4enUiLCJtYWMiOiJhZTg1ZDczYWM4MzNlMGY5ODM3MWNmOWIzMDJjMWQ3NTZkNDY0NmEyZWJmZmM2N2VkYjkxM2RiNWQ3Zjg4NWMzIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:51 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden"
}
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/2/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/2/payment" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/stores/2/payment"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 173
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjVxbi9UdnRhaUhOR2dRNGkzNnNtZ0E9PSIsInZhbHVlIjoiVlNHZVA5TDVSWms0cnE5bXViek16MDNlVDl2Ry9qODRsejdtcW50d3o1MUVtTmtlUjZ0T1hmRGRKZnBkcWtMWG1KeFJFUERsa3Z2YklodzZOL3NKTnE1QVF5bWJxbHZyZ0tEQXF2ZzdzUWs5UjhkQWl2cDVXMDlrcDliaU1sZXMiLCJtYWMiOiJkN2YzODkyZTg2ZDMyNzAwNTk5ZGMzNjlkYWY1MjMwMjg2MjZjMzQ0ZGM5YzU5NmI5M2E1OWFlZWJjYjE4MzgwIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:54 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/1/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/1/stores/stats" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/stores/stats"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 160
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Iml2dHR6TkEzaHdKeWFTRGd4aVhqQ1E9PSIsInZhbHVlIjoiL3IwQW41WXVyT2ptSmdCUUhSbWpoY1pyVmg1MmZIVWtUWTlRcnhwSlpaWGxRWERmZ2s4TnZDQ1RqcTI1dDZWcCtZeUFzU2R4NWdLeUI1WE5HZlFSb1lkbGZTNHQ4Rk0vUUJFaG93RjJSWnk2czNjdVZxZDBwYjFyNnNTL0RjanMiLCJtYWMiOiIxZDgwZGQ1MjRjOTg4YTU3Y2Q5OWRjNjljMTUzNjQ4Zjk5Y2IxNTRhODQ3ZDlkY2Y5ODg3MTE4MGUzZTczZDM4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:08 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 shopelloDeepLinking/{locale}
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/shopelloDeepLinking/ny_MW';
$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/shopelloDeepLinking/ny_MW" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/shopelloDeepLinking/ny_MW"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 159
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IlducjI0d1d2UWtuNTZRbTcxSHJxVEE9PSIsInZhbHVlIjoiNS9Da2Exdzl3ZE5OVXMwckpoNGUrNzlOdUtiMlgrVC9ZUXcvK1F0RnZNRmh1UkJnUDNyL2NiOGN0TVdmQmQ0NkRDMERLNWU5NmZRblVuck5MMm9lU3dMclI5NCtlak5WUnVhR0J5V3RiNHlYOTd4QXRHRk8vUm52R0VJbmxSdVAiLCJtYWMiOiJhYjZjNDQwNGExNWQ3NjAyOGZkODdlOTNmZjBjZTMxMmRiZDgyODgxM2IxMmZkYTc1NTdlZTAxYzQzMjk4YWRjIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:09 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 158
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImdWWGlmSUprVDFVVHY2eSs1RW9sRnc9PSIsInZhbHVlIjoiVnBUcjlSR0pZNEZPMWJsZFBSQ1E1UStTTHg1bHVidXdselhPOE1Fd3pUb1BnaGlqK1I3SXlDWURWYWF1NHpVU3krdFRKZ0twOVM2K1MxeVBNUjJ3VWVuSzVpNzkzUUgxbDBWaEtlNHRHK0NoR3VPYU03Q0ZEZmVyRldyL3E5WUIiLCJtYWMiOiIzZjk2YTQ1MzZjYjBiMTkxM2QwODkzNDA2OWU3OTJkMzVhMjY3ODJjODk4N2U2NzUyMjNmNzFkYWRlNWMyYjQ4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:10 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 157
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjNDejI1YWdUMEp4a0RkMktoRVY4Snc9PSIsInZhbHVlIjoiQjhEcjRUT2pQMmxDME9acE52cUo3WVVyMkluRjEyenpzQ1RsOGp0WFJ3NFBESmRJKzFPeXphS1hPNjZkelM2RGZZSDh6blUwc3hmMVNyeXVVQUFuY1pLKytyMk1Xa3BtUnp4S2RNSW51VmU3NkVRdUlwNEdVRndDY1lNKzVDNW4iLCJtYWMiOiIzNjBmYjlhYTY2NDc1MTg3ZGZlZTlmMWYzMmFkYTc1YTY2ODkxYWJmZDMyNjYwNzU1MmI5MmEwYTkxMjExZWU3IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:11 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 156
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImZuN2pRSDZNdm85dHZoMnVwOTA2dVE9PSIsInZhbHVlIjoiZW5FUExYejE1TlRHcXg0VUliS0dPajBVVGJwaXVib2VJeGdVb1FWV0JQUWFDN0hmRitkNGxrRGo4ZkN3WExBVDVEV2RRTWoxdFZKR0lVRnpFMEo5d3BURC95eDlvRVVJdVdVaS91aTU5dU9kWjZHb2d1U29aUnR0UzBHbWFYd1oiLCJtYWMiOiJkM2MyM2JlMGJmZmEyNTViZWJkOWNkNzQ5NjNhODliNjk2ZWM3ZTE5YzAxYTI4OTcwY2QwYTM3ZjMzYjExMGFhIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:12 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 155
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjJDUmZ6RXgxUHgrTnJ5TmZIYU5oUmc9PSIsInZhbHVlIjoiaStaRWNWcDhnYWszVmhrVTdjWGJxU0t6S1ZzbUU2VHllR2ppQytuMnZ3M3pJWktEancwT0J1NXMzMnhBU21Qa0ZZNUFTcVdHR3ZsclRuMjBKNzdTZFcvNUlkUjJ0UVpSeHlKQWZBSXp1QjFZUjYxd293a0dBUDlobTRjanVrREMiLCJtYWMiOiI2ZTU5ZWI1ODA5YjFkMGZhMmFlNjM0MGRjYmMyNzIyOTgyZGJlMTdhMzNhZTMxNGQxODYxZTRjYzhjMGE0YzhkIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:13 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 154
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ikl4YzRpUUovOXhSN2M2c0k3Y0tWZGc9PSIsInZhbHVlIjoiVmI1cTdSdkwzeVdtNHdsTDhtSng3TTUydG53eVJHYUc2N0lvMVpNNml0T3hKVzh2NFVhRmY5VW5UN1EvNGZxWTBDUVh5UVhhY0N5WGJMNW9LaHBhOFR2U1d4OEZvSzFZUm5EZ0NDNmdxUGphRE9HZmNScnRzNXZXbkZ4ZmsvVmciLCJtYWMiOiIzOTFkODM4N2Y5ZWEyMTIxOGVhMmNhODZmYWMwMjlmODI1OTRhNWM5YTcxYjQ5ZjAyYzllY2Y3NWZlYTg4NDBiIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:14 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 151
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkxqKzZDM2xZMm1jRmVOeGl0TThvb0E9PSIsInZhbHVlIjoidkZiRmhuMXdLZTliazAyOHAzNWRYcjhveFZjSit5OW9pV2dSNHV3RlAxZEhlNEF5cmtnK0EwNVhSbU5TcVdNbWh6TE54aExBNlRhTmwxbTA5Y2FoUm9SaTRpdEFYcWRUU3M0THh5bHlTMEVRUnlZem1Cbk11M3F3Qmg3SzZNcXEiLCJtYWMiOiI2YjRmYTA1YzExZWNiOTc1ZjFhNjI2MmI2MWYyZGFhYzkwODAwZDFiZTRhMmJjNzEzY2M0NWE5NGE3MTYwMWNjIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:17 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/19/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/19/pdf" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/payments/19/pdf"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 150
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Iis3Umwrd0FXN1RROTRmclV4dmZ2L1E9PSIsInZhbHVlIjoiOFMvSUlYVENIMzhaNVJjVEdpQjBCOHVCVDJRTmpiWGI3a05YQUNmaUN2WWtHM0hnTWIxYk95Q3VzMXg0T0M4MVNDOUpiQktGeGdUY1BNMmREUnRseFp2MXBRSUpka3RnSEx1Q3RGY3lZODl6Qzd6NGN2UUJjUGwxRVVyWFhRWHciLCJtYWMiOiIwYTc1NTg0Njc2ZGMzZGY5ZTYxNjBiMzdlZGY2ZmZjOTJiZWVmYzk4OTJkZjY0MzMwYmI0YzBhODgxMzU2YjllIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:18 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/cum/users/1';
$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/cum/users/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offer-by-token/cum/users/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IlFMcjZPdXFleDFEUlEyRDFOS3Zqdmc9PSIsInZhbHVlIjoibkE4c0dKbHc4cktvTEM3V0lxUkx3ZmlzWjdlbUlCN2ZoV3FBZkVSMXREeGxjK2thajhBT3g4ZUxZS1hjWjMxeVlQWEgrTkg4YW03YzNPaWdSOUJaQkJObTgwRFZoMGlUT0tDbkxLc1RxT3NmNGx1cU1zSlNlcjVLSVlDaWtuWXciLCJtYWMiOiJhNjcxNzg5ZWUwYjNjOWFkMTc4Yjc0NGU3ZWViMzc3NWZlMTI0N2E2OTI4ZGE4ZjcwYmE4Mzc4Y2Y4YWQyNjk4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:25 GMT; Max-Age=7200; path=/; httponly
{
"message": "No query results for model [App\\Models\\Offer] cum",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 487,
"trace": [
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 463,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Exceptions/Handler.php",
"line": 56,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 188,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Http/Middleware/VerifyCsrfToken.php",
"line": 29,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "App\\Http\\Middleware\\VerifyCsrfToken",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 121,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 64,
"function": "handleStatefulRequest",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php",
"line": 67,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\EncryptCookies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 805,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 784,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 748,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 737,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 144,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 62,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 99,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 300,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 288,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 91,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 44,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 236,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 163,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 95,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 66,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 50,
"function": "init",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 662,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 211,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Command/Command.php",
"line": 326,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 180,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 1096,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 324,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 175,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 201,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/artisan",
"line": 35,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
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.
Link List
Get Link List
requires authentication
Get link list for user with all links and design
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link-list';
$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/link-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/link-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 1,
"name": "username",
"user_id": 1,
"view_type": 1,
"color": 1,
"created_at": "2022-03-30T09:33:44.000000Z",
"updated_at": "2022-03-30T09:33:44.000000Z",
"links": [
{
"id": 3,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 1,
"created_at": "2022-03-30T09:33:44.000000Z",
"updated_at": "2022-03-30T09:33:44.000000Z"
},
{
"id": 4,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 2,
"created_at": "2022-03-30T09:37:50.000000Z",
"updated_at": "2022-03-30T09:37:50.000000Z"
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 188
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ing2RldnVHljUEhQS2w0a1UvbEZ3Y0E9PSIsInZhbHVlIjoiSHhZRDdBQ3RlT2JsVDNVdmpDd0hqMDJLblhkSW01ZEZJd3daQy8wVVJRTjZhUUVETnVEQVVvSmR2blB0bzNvMWhDbXowUTBQT3ZKVXp6cGZ4Njg3SUVxdlV6dVYxTkxhYys0ZVRBSXV3cHJ4aXpWT0pnUTU1TlFSam1neUFvdlAiLCJtYWMiOiJhYWQzYWFjMmNjOWY4Njc3YThhMTU4NTBjN2I5NDQ4MWI2YzllMTY2ZjA0ZGY2ZTg5YWE4Nzg3NmFlMDJmNDY4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:41 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Link list view type and color
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link-list';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'view_type' => 1,
'color' => 1,
'avatar' => 'url | imageData',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/1/link-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"view_type\": 1,
\"color\": 1,
\"avatar\": \"url | imageData\"
}"
const url = new URL(
"https://api.metapic.com/users/1/link-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"view_type": 1,
"color": 1,
"avatar": "url | imageData"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 1,
"name": "username",
"user_id": 1,
"view_type": 1,
"color": 1,
"created_at": "2022-03-30T09:33:44.000000Z",
"updated_at": "2022-03-30T09:33:44.000000Z",
"links": [
{
"id": 3,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 1,
"created_at": "2022-03-30T09:33:44.000000Z",
"updated_at": "2022-03-30T09:33:44.000000Z"
},
{
"id": 4,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 2,
"created_at": "2022-03-30T09:37:50.000000Z",
"updated_at": "2022-03-30T09:37:50.000000Z"
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 187
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ild0cUNPK2w2alF5akttc0pvVXJ0QVE9PSIsInZhbHVlIjoicEhCYUdQaDFUQklKQ09sUlhhdGRVb2RiUG8zQXVyeVJjMFpEbitkTWVZQkJoKytHV1puM1k3Y0hpcUNlRnB4YXZQWTV5Sy9kUUU2bkx3aW9UaHRUa3hGYkljOUdtVXlROTllR3Joek5MRVVPekM2ZjBMa3FnZ1FWbjdMNGhndm8iLCJtYWMiOiI5MzViNWViZWU4Mjk1ZTY5ZmYwMjY2YmIzZGZmNjBjM2FlNjYyZjdlN2YzZTE5YTU3Y2IwYWQwZGQxN2FhZjMyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:42 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Create Link in link list
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'title' => '"Link Title"',
'tag_id' => 'itaque',
'image' => '"href or image data"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/1/link" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"title\": \"\\\"Link Title\\\"\",
\"tag_id\": \"itaque\",
\"image\": \"\\\"href or image data\\\"\"
}"
const url = new URL(
"https://api.metapic.com/users/1/link"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"title": "\"Link Title\"",
"tag_id": "itaque",
"image": "\"href or image data\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 2,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 1,
"position": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z",
"link_list": {
"id": 1,
"name": "username",
"user_id": 1,
"view_type": 1,
"color": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z"
}
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 186
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InBBOEFyU0VnWWxyWVhPM2VKUVNUUkE9PSIsInZhbHVlIjoiV2cvMjVteklzK1Y2bXkrblR3dFZXcSszamNUYnVZWlFPUVNKVkJoMFpzcmtwWHF4VmViQVEva0lRZm9IZ2NxNFNUZnV5SXpYNmRWRUZ4NGJjaWlQSWV5V1JJK3BNbGNZY2QybG9vRWltdGZnU0Q1ejJHTCs4dldkSFhsNWZQVlkiLCJtYWMiOiJlMWFjZGViY2Q4ZWQ4OTg4YTU1YzcyZDY2ZjQwNTNhMTc3MTA5NjNhODFkYzQwMDZkMTEzOTBiNzI5ZWQyNGE1IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:43 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Link in user link list
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link/aperiam';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'title' => '"Link Title"',
'tag_id' => 1,
'image' => '"href or image data"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/1/link/aperiam" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"title\": \"\\\"Link Title\\\"\",
\"tag_id\": 1,
\"image\": \"\\\"href or image data\\\"\"
}"
const url = new URL(
"https://api.metapic.com/users/1/link/aperiam"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"title": "\"Link Title\"",
"tag_id": 1,
"image": "\"href or image data\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 2,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 1,
"position": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z",
"link_list": {
"id": 1,
"name": "username",
"user_id": 1,
"view_type": 1,
"color": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z"
}
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 185
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkFkdUQ2Y0xpQnRnVmhnZm16ck50aXc9PSIsInZhbHVlIjoibS9RQlJxaVR4dkJPMXN4Lzl2MEtSODh0Yi9CRC9pQlRybVVRNzdEWWZodXNkL1JINndza2hwR1M2TUs2OXA3djR6Q21zOHoyUHp6Vk9Id3NENGVPZlFZSk40U3dCSlZFc2d5K1RZUkVBKzQ5T2N2SG1oejFxNU44aDArVnZBaGkiLCJtYWMiOiJjOTAxYjk0OTg0NDYyYWE5Yjc3MjVhYTBmNzY1OTlhOTEyZGE0M2EyYTEyNjA0NjYzNzFhZWQ0ZDcyMDBiYWM0IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:45 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Link from user link list
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link/qui';
$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/users/1/link/qui" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/1/link/qui"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"id": 2,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 1,
"position": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z",
"link_list": {
"id": 1,
"name": "username",
"user_id": 1,
"view_type": 1,
"color": 1,
"created_at": "2022-03-30T09:32:22.000000Z",
"updated_at": "2022-03-30T09:32:22.000000Z"
}
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 184
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjY1djdBZ2gyK3pMdi8xUXNmUUswT2c9PSIsInZhbHVlIjoiZ05uTDJSWldsQm9aRUVzaGYzTUtzVU1wTGdDN1czeWdmQ1BrQXUzM1NCN0RKTndwTFNXQ2ZjcFhZZFM2dmg1dzZ3MnBFMHpTZDhNb281aWwzN1VNa1pFK0xXbCtJOWhPeFU1MGQvcWVFTXUxUnBpZjJIZXlzbXo5L3dmU3Z0VmMiLCJtYWMiOiJiMTNiZGEzODEwZWNkOWNkMzBiMTE2ZWFiMzFlYzU1MjVmOTI2M2RjOTliNGY4YWVjYWU5MzFlYjYzNmEwOWE4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:46 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Change Links positions in link list
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/change-links-positions';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'links' => [
'qui',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/1/change-links-positions" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"links\": [
\"qui\"
]
}"
const url = new URL(
"https://api.metapic.com/users/1/change-links-positions"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"links": [
"qui"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
[
{
"id": 3,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 1,
"created_at": "2022-03-30T09:33:44.000000Z",
"updated_at": "2022-03-30T09:33:44.000000Z"
},
{
"id": 4,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 2,
"created_at": "2022-03-30T09:37:50.000000Z",
"updated_at": "2022-03-30T09:37:50.000000Z"
},
{
"id": 5,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 4,
"created_at": "2022-03-30T09:38:10.000000Z",
"updated_at": "2022-03-30T09:38:10.000000Z"
},
{
"id": 6,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 3,
"created_at": "2022-03-30T09:39:25.000000Z",
"updated_at": "2022-03-30T09:39:25.000000Z"
},
{
"id": 7,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 1,
"position": 6,
"created_at": "2022-03-30T09:40:39.000000Z",
"updated_at": "2022-03-30T09:40:53.000000Z"
},
{
"id": 8,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 5,
"created_at": "2022-03-30T09:50:12.000000Z",
"updated_at": "2022-03-30T09:50:12.000000Z"
},
{
"id": 9,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 7,
"created_at": "2022-03-30T09:51:13.000000Z",
"updated_at": "2022-03-30T09:51:13.000000Z"
},
{
"id": 10,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": null,
"position": 8,
"created_at": "2022-03-30T09:52:42.000000Z",
"updated_at": "2022-03-30T09:52:42.000000Z"
},
{
"id": 11,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 2,
"position": 9,
"created_at": "2022-03-30T09:55:14.000000Z",
"updated_at": "2022-03-30T09:55:16.000000Z"
},
{
"id": 12,
"title": "",
"tag_id": 123,
"link_list_id": 1,
"link_list_image_id": 3,
"position": 10,
"created_at": "2022-03-30T10:05:32.000000Z",
"updated_at": "2022-03-30T10:05:33.000000Z"
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 183
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjFnN2JGVjdEMFNuTVVBVk1pSnQ1V2c9PSIsInZhbHVlIjoia1NoK2s4TkhUMVNQQThNWkh1R1FGcjduSWllWlNNMGNKQXF5UWUvTGgzaHFFV0NwVVY4WE5WazRlU3FrMHgxVkJqWmhSeHpPdFAzSVFXZlNxdEFVN2h4QjdXVXZieDZMUXpRWkV2L2U2WTN6OXlycCtmbmdBVmVDdllhbUluYWEiLCJtYWMiOiI2Y2RjNzE5OWQ3OWJlOTc4ZmZmYTYyZjVhMzdkMzk4MTlkYjEyNDZlNjBkZTIxNGY2YjAzYzRmZjRhNWZjYjZhIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:47 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Deeplink data
requires authentication
Get deeplink info with og image
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/link-list-deep-link';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'url' => 'https://www.aimn.com/products/argyle-knit-sweater',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/1/link-list-deep-link" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"url\": \"https:\\/\\/www.aimn.com\\/products\\/argyle-knit-sweater\"
}"
const url = new URL(
"https://api.metapic.com/users/1/link-list-deep-link"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"url": "https:\/\/www.aimn.com\/products\/argyle-knit-sweater"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": 2332673,
"x": null,
"y": null,
"width": 0.1,
"height": 0.1,
"link": "https://clk.tradedoubler.com/click?p(297880)a(2978484)url(https%3A%2F%2Fwww.aimn.com%2Fproducts%2Fargyle-knit-sweater)",
"image_id": null,
"text": "Aimn",
"type": "tradedoubler_SE",
"meta_info": "{\"original_url\":\"https:\\/\\/www.aimn.com\\/products\\/argyle-knit-sweater\"}",
"user_id": 60011,
"created_at": "2022-04-27 00:23:34",
"updated_at": "2022-04-27 00:23:34",
"product_id": null,
"out_of_stock": 0,
"deleted_at": null,
"ip": "127.0.0.1",
"tier_pricing_id": null,
"created_as": "autoTagging",
"affiliate_link": "https://clk.tradedoubler.com/click?p(297880)a(2978484)url(https%3A%2F%2Fwww.aimn.com%2Fproducts%2Fargyle-knit-sweater)",
"original_url": "https://www.aimn.com/products/argyle-knit-sweater",
"store_id": 5319,
"store": "Aimn",
"image_url": "http://cdn.shopify.com/s/files/1/0090/5222/5616/products/63dab4030ecb1215e534f4c6891e5f8417783f0f4d4321d5d9105327022f2885.jpg?v=1649594101",
"mtpc_url": "https://c.mtpc.se/tags/link/2332673"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 182
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ik1JQjdUK2R5ZUppVlNJeHJGSFRSelE9PSIsInZhbHVlIjoiblhnVGdTS0U5cGdpVmUrMEJnbjRBeG5Md3NzSEpndS9jRWRHQS9oS1EwTUpwd0xZU0ErRE1qQ2tndGFhanlJTmlRQWlzczFldjNwbGxNVzIxT2NGNGdZT3pzTE5rRGUzTjB4TW9zenZFREJUaFdYZ09KUmZYZ3FLSzcyRlA0S3IiLCJtYWMiOiJmZWFjNjRiNzgwMjZhOGJkY2RlMjIyYmVlODJkOTlkZTNmMTJiODE4NTViMzBkYzEzNDFhNzkyMjdhNjM2NDVlIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:48 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23';
$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/23" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offers/23"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 193
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Im5ndE5XS3FFZWxrVGVBS2c4TGRBYVE9PSIsInZhbHVlIjoiczAyVTErVzVnRzhJR0dRalljUTZ1aElxMXZXbFRmS2wzb2RINHJYVURKb1ZxZW1xeUtXenhMcm1DV1RJRFJRYVhpNTJCY0JISVJQQVRXZjM4SmFiUFcwRGdKcDIrVzFLd0lUcXJ4WENEdXViNXZ6Z1RiTzJBNVBEOWlzZGNzdFUiLCJtYWMiOiJiYzQ5MGI3YWQ3MjZiZDdmNGI4MjdkZWY3NGIwMGI0MTkzOTAzN2MxOTkwOGQxNTI4MjJjOTEwNzI0NmQyZDY1IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:35 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/23/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/23/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/23/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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 37
access-control-allow-origin: *
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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/non';
$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/non" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/v2/offer-by-token/non"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImtNVlNWcktFWkt3VTkzdTZzVVVwdHc9PSIsInZhbHVlIjoiOC9xOWR0Vy8rZmlZYzBRY3VyWmE4MndMcEFBVTcyU1BSeDV1SjBzQWU4TXBXa2FtQ21NL3VnQkliYkVFdklxak16TldlM3ZCOHJ0RUIvWFhPdENJYVpOQkc2Q0h0UmNtTmdCUVV6cmpBY2hhRS93eW1VN3h5MmxQUXZ1ek1HU3ciLCJtYWMiOiIzNDVhOWIxOGQ0ODEyZTcxNmY3NDdjNGZhMDc1ODVjNTZmZWViZjQ5ZmQwZTMxZDUzNWFhNTQ2ZTQ4OGUyMmYyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:50 GMT; Max-Age=7200; path=/; httponly
{
"message": "No query results for model [App\\Models\\Offer] non",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 487,
"trace": [
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 463,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Exceptions/Handler.php",
"line": 56,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 188,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Http/Middleware/VerifyCsrfToken.php",
"line": 29,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "App\\Http\\Middleware\\VerifyCsrfToken",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 121,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 64,
"function": "handleStatefulRequest",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php",
"line": 67,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\EncryptCookies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 805,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 784,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 748,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 737,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 144,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 62,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 99,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 300,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 288,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 91,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 44,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 236,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 163,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 95,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 66,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 50,
"function": "init",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 662,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 211,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Command/Command.php",
"line": 326,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 180,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 1096,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 324,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 175,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 201,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/artisan",
"line": 35,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
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/et/users/1/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/et/users/1/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/et/users/1/join"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjcvVG1YVEV1WG5xL3hKOFFmQytjN2c9PSIsInZhbHVlIjoidHJFd1ZaYUdDZy9uVGV2NGZHczdOUGFmR1BKeEU1WUtEVE9RaFljQUxMT0IxNkpiOTlLTUxZVmJnb05pV2I2V1M4aG82c0FIMi9rajRpNE41cjhXRnJiN2NxeXVFVzM5Z2ZicTI4YVJmc1FuUXoydTJVUXdVUlBxTTl2WjY3akciLCJtYWMiOiJkMDdkNzdlNzJlMzY4YTFlNDJkYzI2NzIzNmQ1YzFlN2NlOTdmYmVmZWVjMzc4Y2VlYjEzZWQ4MjRiYjYwZDczIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:25 GMT; Max-Age=7200; path=/; httponly
{
"message": "No query results for model [App\\Models\\Offer] et",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 487,
"trace": [
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php",
"line": 463,
"function": "prepareException",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Exceptions/Handler.php",
"line": 56,
"function": "render",
"class": "Illuminate\\Foundation\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php",
"line": 54,
"function": "render",
"class": "App\\Exceptions\\Handler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
"line": 51,
"function": "render",
"class": "NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 188,
"function": "handleException",
"class": "Illuminate\\Routing\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Http/Middleware/VerifyCsrfToken.php",
"line": 29,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "App\\Http\\Middleware\\VerifyCsrfToken",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php",
"line": 49,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\View\\Middleware\\ShareErrorsFromSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 121,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php",
"line": 64,
"function": "handleStatefulRequest",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Session\\Middleware\\StartSession",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php",
"line": 37,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php",
"line": 67,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Cookie\\Middleware\\EncryptCookies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 805,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 784,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 748,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 737,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 144,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 62,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 40,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 99,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 39,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 183,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 119,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 300,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 288,
"function": "callLaravelOrLumenRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 91,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 44,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 35,
"function": "makeResponseCallIfConditionsPass",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 236,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 163,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 95,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 125,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 72,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 50,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 66,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/app/Console/Commands/Documentation/GenerateDocumentation.php",
"line": 50,
"function": "init",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "App\\Console\\Commands\\Documentation\\GenerateDocumentation",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 41,
"function": "Illuminate\\Container\\{closure}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 93,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 662,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 211,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Command/Command.php",
"line": 326,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 180,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 1096,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 324,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/symfony/console/Application.php",
"line": 175,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 201,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/tmp/build_e579d9f4/artisan",
"line": 35,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
}
]
}
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 Offers
requires authentication
Get Influencer Offers List
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/offers';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'query' => [
'status' => 'open',
'name' => 'testOffer',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/users/123/offers?status=open&name=testOffer" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/offers"
);
const params = {
"status": "open",
"name": "testOffer",
};
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());
Example response (200):
{
"current_page": 1,
"data": [
{
"id": "{offerId}",
"store_id": "{storeId}",
"name": "{offerName}",
"from": null,
"to": null,
"cpc": null,
"instagram_cpc": 715,
"invoice_cpc": null,
"invoice_instagram_cpc": null,
"invoice_instagram_cpa": null,
"invoice_cpa": null,
"cpa": null,
"instagram_cpa": null,
"offer_campaign_text": null,
"offer_campaign_title": null,
"status": "accepted",
"feed_name": "{storeName}",
"logo_url": "{storeLogoUrl}",
"offer_influencer_text": null,
"todo": [
{
"key": "First task",
"Value": false
},
{
"key": "Second task",
"Value": false
}
],
"traffic_sources_costs": [
{
"id": 9333,
"offer_id": "{offerId}",
"source": 0,
"cpc": null,
"invoice_cpc": null,
"cpa": 0,
"invoice_cpa": null,
"user_revenue": null,
"client_revenue": null,
"created_at": "2023-07-19 13:13:03",
"updated_at": "2023-07-19 13:13:03"
},
{
"id": 9334,
"offer_id": "{offerId}",
"source": 1,
"cpc": 715,
"invoice_cpc": null,
"cpa": 0,
"invoice_cpa": null,
"user_revenue": null,
"client_revenue": null,
"created_at": "2023-07-19 13:13:04",
"updated_at": "2023-07-19 13:13:04"
}
]
}
],
"first_page_url": "http://metapic-api.loc/users/{userId}/offers?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://metapic-api.loc/users/{userId}/offers?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://metapic-api.loc/users/{userId}/offers?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "http://metapic-api.loc/users/{userId}/offers",
"per_page": 15,
"prev_page_url": null,
"to": 1,
"total": 1
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 200
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InJzaTdaNjU4WVpqRi9ZQ1o0NEpDN1E9PSIsInZhbHVlIjoiek1UN00xRm5aWEtwTVcvc3JFR1dBc1pwQUhVN3FHeGNVMW82WWxWZ0pFRDB0NHdXWGFjdnBZYlQvUjNlWE56OHZzSm16VVFCM1hKSUNLMzIvM01Dc2xOM2lsSWp1OFJIRGNqdTNBSE8xdXhqaUxOSkZsVzNaRnJaTG5pSmNyYSsiLCJtYWMiOiI3NDhiMDc4M2IwZmMwMmExNDNlZTdhM2M5NmI3M2QwODcyMzgyZjEwOGYwOGExNjQwY2Y2YWYzZGIwY2UwZDIzIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:27 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Apply Offer
requires authentication
Apply offer by Influencer
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/offers/123/apply';
$response = $client->patch(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
"https://api.metapic.com/users/123/offers/123/apply" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/offers/123/apply"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());
Example response (200):
{
"id": "{id}",
"offer_id": "{offerId}",
"user_id": "{userId}",
"clicks": 0,
"status": "accepted",
"created_at": "2021-05-25 13:02:06",
"updated_at": "2021-05-27 11:21:23"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 200
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjVxcVFaZTRVNFAybzhQNjFTNVZaa0E9PSIsInZhbHVlIjoib081eUdabG5WRFdXMCt1SGhhenRUZWhaUWpnV2l0czg0NzB1SjRsTjRKMUUzUWVORWZJVlRNaDZ3MFpibWFadmdhS05ETlIrVC9FVndxL1pVb3NleXpDbFEvNFJhZVZ0aktWNEREbzFDUXEwblFyR3o0VWNIR1h0QnhMbEc4TjMiLCJtYWMiOiIyZTQwYWYwYTMwMDU1NGE4YTQ5MWExYTMwN2RjM2U2OTllODRmYzAwNDFlOTJjZjJkNjcyOWI0MjExNzM1Y2M0IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:28 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Deny Offer
requires authentication
Deny offer by Influencer
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/offers/123/deny';
$response = $client->patch(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
"https://api.metapic.com/users/123/offers/123/deny" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/offers/123/deny"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());
Example response (200):
{
"id": "{id}",
"offer_id": "{offerId}",
"user_id": "{userId}",
"clicks": 0,
"status": "accepted",
"created_at": "2021-05-25 13:02:06",
"updated_at": "2021-05-27 11:21:23"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 199
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkQxUzVhbUlzbC82SkNvZDYvbzV1SXc9PSIsInZhbHVlIjoia1FHQ3NrdTY0RjVSVjI3NVBZQTJ5QWhjbldmcW1NKzhCVEIxYWRKRnlxQ1l6cGdhZEppRGNsNGZsUmFzWHlJVTJMY3cyWmVvd3dvVHpSbGczOWhrY2lZaUM2SWlqMmVhTkNuN0VHMW12N0loODZQV2tmZ21GSmFlRXdkbVBta0giLCJtYWMiOiIwNWMxYjM3YjUwNTYwMTRmNzAxZjA0ODdhYTZkY2YyOGZkOWM4OTEzZTJjODhkZmRhOWJmN2M2NjNjZDNlOTBiIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:29 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Revert Offer
requires authentication
Revert Offer to open state by influencer
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/offers/123/revert';
$response = $client->patch(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
"https://api.metapic.com/users/123/offers/123/revert" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/offers/123/revert"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());
Example response (200):
{
"id": "{id}",
"offer_id": "{offerId}",
"user_id": "{userId}",
"clicks": 0,
"status": "accepted",
"created_at": "2021-05-25 13:02:06",
"updated_at": "2021-05-27 11:21:23"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 198
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkZmaUtic2hCV0lsMTBrRXBjZ3NZTkE9PSIsInZhbHVlIjoieHE5c003NkpxblNTMm1ZRlU4K3Zpak8xLzZVeGRoeDVwR21abGhURFZSdzFhYXl4Y2plZ2J6dkZBMHora0RlV3hPcituUForM05LVDdMYWhpc1lQL3VjOHVWVHZwY1UvR3VQS2pQbmxpM0NaQzc2d3l5RzVJc1lrNE9RbGw0cm4iLCJtYWMiOiJiY2JkNDc5MGY2MzIxOTM2NWYyOTU5NzU4Nzc5MjUzNTgxZDZlYzg1NDYxMGRlY2QyMDQ1NGJiZmUwNWU4MGJkIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:30 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Offer "todo"
requires authentication
Update offer "todo" by Influencer
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/offers/123/todo';
$response = $client->patch(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'todo' => [
'eveniet',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PATCH \
"https://api.metapic.com/users/123/offers/123/todo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"todo\": [
\"eveniet\"
]
}"
const url = new URL(
"https://api.metapic.com/users/123/offers/123/todo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"todo": [
"eveniet"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": "{id}",
"offer_id": "{offerId}",
"user_id": "{userId}",
"clicks": 0,
"status": "accepted",
"created_at": "2021-05-25 13:02:06",
"updated_at": "2021-05-27 11:21:23"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 195
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InF2TjlqelA5cWE4VEpGSnVHRHU3b0E9PSIsInZhbHVlIjoiVzV5bHc1SkdxWTc4QUsycVdINU9pSlFocVRQbC9vRGZuTTUySVl6dmE2cVJBK3ZrUTQzT0toK0RPVHRUSWRQL3V1STFhL1pTYU5jRzAzaWZsNEVGMXNGY3RiaE5oQkVQY2ZtZUlFajVTN0h3UWNiUmUrMEhmWEIxNFVwTjFRWkQiLCJtYWMiOiI5OTgxZTI4YjIyNDFlYzYwNDllMTg0YWFmZGJjZmM3MmUyNzlmMzNiZTRiNjA3NTdiMGRiYzgyZGE2MGRmN2FkIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:34 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
OneTimeEarnings
Create One Time Earning
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/admin/one-time-earnings';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'user_id' => 'distinctio',
'store_id' => 1,
'user_earnings' => 1000,
'invoice_amount' => 1000,
'payment_date' => '2022-01-01',
'comment' => '"Your one time payment"',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/admin/one-time-earnings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"user_id\": \"distinctio\",
\"store_id\": 1,
\"user_earnings\": 1000,
\"invoice_amount\": 1000,
\"payment_date\": \"2022-01-01\",
\"comment\": \"\\\"Your one time payment\\\"\"
}"
const url = new URL(
"https://api.metapic.com/admin/one-time-earnings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"user_id": "distinctio",
"store_id": 1,
"user_earnings": 1000,
"invoice_amount": 1000,
"payment_date": "2022-01-01",
"comment": "\"Your one time payment\""
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"user_id": "{userId}",
"user_earnings": 1000,
"payment_date": "2022-01-01",
"comment": "your earnings",
"updated_at": "2022-01-26 06:49:51",
"created_at": "2022-01-26 06:49:51",
"id": 150
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IlF0S2hvUW5uUUQ3bG45MEtNUmNjb1E9PSIsInZhbHVlIjoicEFMc2RLVWRXQXVRR21GVW1CK3RubzF4WHBrZW9IbitvRFpLTTM2Si9GbFBSYXZTaVRvS3hxNU5sczlGY2cxOVFoMHF0MVZFcjFDTUE4eklLM2dtcmZHd3luYm9tMXhIL3pMMXp1ZXlDTk5UZEg5dkhKWTVqMTRBaStEZWxrYUUiLCJtYWMiOiIxNDhhZDM2NWE0NWU2YWNlNTU4ZWY4ZmE1NzRiOWRiMzVkYzE3Zjg0MmNlY2I5YmRkYmQ0MzBiYmRlODcxNmZhIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:50 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden"
}
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.
Orders
Get Pending Orders
requires authentication
Get Pending Orders by influencer
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/pending-orders';
$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/123/pending-orders" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/pending-orders"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"2020": {
"8": [
{
"year": 2020,
"month": 10,
"store_id": "{storeId}",
"feed_name": "CENEO",
"user_revenue": "2.8800"
}
],
"9": [
{
"year": 2020,
"month": 9,
"store_id": "{storeId}",
"feed_name": "CENEO",
"user_revenue": "55.2"
}
]
}
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 194
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ikg1MkVTbnAzTTlka0l5YVp1ME9TNGc9PSIsInZhbHVlIjoibmJuM2dnejZTWDk4TWJTWHZPYTAxdnh3YzJKL1RZaXdUK1lZRzJmL3g5WGhROENid3Rab2JzK2NreDJtQm54UE1SbnAxaFJ5L2NPc1hJRStXN1k4dzJUNHNkUWRRVk5rKzYrb1IvV0VqeWt1eGhjWHltRWIyLzcrUC9ISjh5cGciLCJtYWMiOiI4NGU0YTQ2MGU5YTVmZGM2NWNkN2NlMWNhNzdhNjk1ZDA5NjM5YjUwMmUyOGQwZTcyYTE4M2RmZmYyOGYyMDMyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:35 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Product Carousel
List Product Carousels
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/product-carousels';
$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/123/product-carousels" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/product-carousels"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"current_page": 1,
"data": [
{
"name": "Product Carousel",
"products": [
{
"name": "product 1",
"price": 100,
"link": "http://test-link.com",
"id": 123,
"tag_id": 1234,
"store_name": "Store"
}
],
"user_id": "{userId}",
"updated_at": "2021-02-12 08:56:52",
"created_at": "2021-02-12 08:56:52",
"id": "{productCarouselId}"
}
],
"first_page_url": "http://api.metapic.com/users/{userId}/product-carousels?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://api.metapic.com/users/{userId}/product-carousels?page=3",
"next_page_url": null,
"path": "http://api.metapic.com/users/{userId}/product-carousels?page=1",
"per_page": 15,
"prev_page_url": null,
"to": 3,
"total": 3
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 147
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IlBPdmZhYkoyOUplZ25oRUtGR0lyY1E9PSIsInZhbHVlIjoiUmVqbU05OVIvcXZzUEhEUzU2OWozc2Q5bFdTODBJOGVzcjdzSHhxcm85bXpacHNmSldxQjVJbk9TWU9IanA1Y1JIRnRidEhKRHFpeW02c2oyYjZrQkcxUlhNR0VMN0RaejhxTzBnVlAyaDBYMzJEYzB4OHBxeWZPNlR6SjlXMTQiLCJtYWMiOiI0MTMwMzY4MmY3MTdkNDE4N2Y0NGQ0NjI1MGEwNWVkNTg5Yzk0ZWY2YjAwMTEyMDJjMWQ3Y2ZkNWUzYWE0NDBlIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:21 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Create Product Carousel
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/product-carousels';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'name' => '[email protected]',
'products' => [
'reiciendis',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/123/product-carousels" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"name\": \"[email protected]\",
\"products\": [
\"reiciendis\"
]
}"
const url = new URL(
"https://api.metapic.com/users/123/product-carousels"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"name": "[email protected]",
"products": [
"reiciendis"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"name": "Product Carousel",
"products": [
{
"name": "product 1",
"price": 100,
"link": "http://test-link.com",
"id": 123,
"tag_id": 1234,
"store_name": "Store"
}
],
"user_id": "{userId}",
"updated_at": "2021-02-12 08:56:52",
"created_at": "2021-02-12 08:56:52",
"id": "{productCarouselId}"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 146
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImtCY1NVR1ZKbE5PWitmeVNSQi80d3c9PSIsInZhbHVlIjoiN3ByMWdpelhpNXJxZjRWNmZrOFNQT0xLdVV3anFjdFlla3ZYaE1MbUNrTWpaQittVkM1Y3M3MTNZZUp6ckJnOXhFWDZpWTc4WjA4VytwNWd2UUVVZzlNR0Z3dE5DWldhRmhwTWluSENRQkNRZVkxeVZGK3lDdGo5bkwrRk0zUnMiLCJtYWMiOiI3ODkxZjkyYWVmNjczMzZjNjZlNGI2MGExOTYzODBlZWY3NGRkMWNiMGRkNmIyZDY2NWU3M2I4NGE2OGU1ZTRmIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:22 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Product Carousel
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/product-carousels/eaque';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'name' => '[email protected]',
'products' => [
'nulla',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/users/123/product-carousels/eaque" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"name\": \"[email protected]\",
\"products\": [
\"nulla\"
]
}"
const url = new URL(
"https://api.metapic.com/users/123/product-carousels/eaque"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"name": "[email protected]",
"products": [
"nulla"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"name": "Product Carousel",
"products": [
{
"name": "product 1",
"price": 100,
"link": "http://test-link.com",
"id": 123,
"tag_id": 1234,
"store_name": "Store"
}
],
"user_id": "{userId}",
"updated_at": "2021-02-12 08:56:52",
"created_at": "2021-02-12 08:56:52",
"id": "{productCarouselId}"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 145
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Im1hbWpxSjlXd3daWm5UTGVIRlVML0E9PSIsInZhbHVlIjoiYUMwVzk1TXN6ckZJSE9QTTRMbU1TQktQUzdxbkpyZ1JvZmk4NHgrVGNYSDVneS92anVLYzExbTYvTVZPOWYvbFd6QW5aN0FQTHg2a2t6cjViajlOL21FK1h5K3NiMlk3TzRCbWdQL2ZkaEVrNzhZLzlxUFRteDFpWi9zbUJ4M2YiLCJtYWMiOiIzYjVkNjllOThjZGE4YjdjMDkyZDk5M2RiMTJhNmExZTU1ODM5ZDUyNDJmMTcwNzExZmM5ZGQ0MzA1MWUzYmUwIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:23 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Product Carousel
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/product-carousels/necessitatibus';
$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/users/123/product-carousels/necessitatibus" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/product-carousels/necessitatibus"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());
Example response (200):
{
"name": "Product Carousel",
"products": [
{
"name": "product 1",
"price": 100,
"link": "http://test-link.com",
"id": 123,
"tag_id": 1234,
"store_name": "Store"
}
],
"user_id": "{userId}",
"updated_at": "2021-02-12 08:56:52",
"created_at": "2021-02-12 08:56:52",
"id": "{productCarouselId}"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 144
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IndnZ2V0UmVZL0F2NUxLSWdwd25RZnc9PSIsInZhbHVlIjoidVcvNXJUVkpVUG94SFhnZ1N1WTM5aHZrcmFxalM5aEhKc3BwMk5TLzUzTktwKzc3SVJaVHNKL0FkZ204bzZpUVlGMGpoVGY1bmlTVEJNNFlKZEZRT0VLSnBjVmxrd3BFODJvemNJVHB0cUdaYVlMR0VOTWQxand0Vk03L3RNUUMiLCJtYWMiOiJmMDlkNGVmMmNlNDkwZGU3MDdkMDc0YThiYmUwMmM5YTIxYTIyZjk0NWU3ZDU4ZWEzZjVlN2VhNzI2MGY1NWUwIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:25 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Products
Get Products
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/product';
$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/product" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/product"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 170
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ikd4Mms5ZXZnMnZ4SnhnNmtnRWRhSHc9PSIsInZhbHVlIjoiY1ZkbWlnTmZkWmJkSDJubWJYMzcxdUgxdWZLOXdkbTNvZ2Q1bm1IMW1QZ0g4Z0lyUk1uMUx3L3AwRUVjVnpUVlEvTkp5V0t3L21NQ0lKZDNNOUFyNUdHOHNrUFRTam9FNy94SzJMWXVUM3YyUWVQNHduVzBFNDZFczY1a3lLS2IiLCJtYWMiOiIyMmM5NzdlYWY1MDcxNDhmYjAwNjhkMzk1NmNmYjFkZDVhZTNjYWI3YTdhNDY3ODYxYjNhOWUxOTRjMzljMDRkIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:58 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Product
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/product/1';
$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/product/1" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/product/1"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 169
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImNRdktJWkpLNnlHaWEyZER5RDlHS2c9PSIsInZhbHVlIjoiNmtpeHU3WEZIc3RKeDV4NUR0Y21wa2ZTNnpib2E3d1l0dzR6VmozL2V2RFgzUFIyUWUwYUlkaUdyZG9wd3NDQUhXUFBLdkE2Q3hCZFZoVy82ZWlBSWFYT094QitrWm41VnVtU1NXVW9OeiswVjlBZVlaTEp1QVdXNGhIN0haSzUiLCJtYWMiOiIzN2NjYWJiMzdhZjNlOWY2NjMxYzA1M2U3ZTA4ZWRkNGY4YmZmYjg1MDcxNTJkOWI4N2Q3YjQ2NjY5NmY4Y2Y0IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:59 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Sms Verification
Create User Sms Verification
requires authentication
Uses to create verification and send verification code to user
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/verifications/sms';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'phone' => '+380xxxxxxx',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/verifications/sms" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"phone\": \"+380xxxxxxx\"
}"
const url = new URL(
"https://api.metapic.com/users/verifications/sms"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"phone": "+380xxxxxxx"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"phone": "(523) 662-9728 x423",
"expires_at": "2020-11-04T23:23:41.777994Z",
"updated_at": "2020-11-04 23:13:41",
"created_at": "2020-11-04 23:13:41",
"id": 53,
"type": "sms"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 148
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Iks2eUFDdnRTVmJXTjhTN0h2MldOSXc9PSIsInZhbHVlIjoibUg5eTFROXJUWTZoNk00OC96cm5Lbk1lMGRzT0lRSjMwTXhBY1dHaDZyRytZVi9OSzBQNlJ3bThrN1RKenFRTjVDTUVaOEhTVHNLalNtWWRxYWFIYzRLd21MalJnOEIwbHZ0eWZjdWRFNXRqWlZFMHk1K0FKVFh3V1dlNnF6ZjMiLCJtYWMiOiIyZWQ3OTMxNWQwNGIzNDI3ZWZmN2UwMzI4ODcxZjk2YWFmM2E0OTgxYzUyM2Q3ODFiMzJjNWJhNzE2YTg4NzQ2IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:20 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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
User Earnings and Clicks Grouped by Date
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stats/earnings';
$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/earnings?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/earnings"
);
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());
Example response (200):
{
"dates": [
{
"date": "2020-01-01",
"clicks": 0,
"earned": 100,
"pending": 0
}
],
"earned": 22300,
"earned_formated": "223.00 kr",
"pending": 0,
"pending_formated": "0 öre"
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 167
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ikk0a0w2dDI2bWRFV29nNkgvUHBCeFE9PSIsInZhbHVlIjoiNks2aDgxMUtsdTUwbFFreG1VQ0ZQdVJkYmp3ODlZWm1BQUszT3BGOTdvWDlzMUs3bk04MTBaekozVVpTcDZmVmlzZmZZN216RDhuRXlBMTVITlhQSGxmeVYrQmxiUXVpMmlHMTZCZGtsRFBmNjFlY3RYcWhrUGhHTkdTTXk2Sm8iLCJtYWMiOiI1NzhiZmRjZTNhMGFlYWJmZjZhNWEyMDZhNjgwOWNhM2Q1YWU3ZTZmNWU0NjQzZjkwYTExN2U3ZjJiNDhiNzdmIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:01 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Performance
requires authentication
Summarized Earnings, OneTimePayments and Clicks
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stats/performance';
$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/performance?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/performance"
);
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());
Example response (200):
{
"clicks": 6202,
"earned": 570082,
"one_time_payments": "170200",
"pending": 0,
"tags": 20,
"images": 0
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 166
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjRpK1BMK2JvTHE4UFh0S0ZpL1ozdEE9PSIsInZhbHVlIjoiOWltVldsd3JraHZhS3UrOWhFUW1tczB5RzdKS3oyTVFGTFo1cjBCRFoxRHQ3SjBOZDFvL1duZVdzWVREZFBpNFdmNU0vUmJkalFsY3ViNGsrbU55Si9FQVVwdXk4SWlrVXlUS0JYeCszNjErMW0rM3lIVUZyU0RlNzZQOU1nOTAiLCJtYWMiOiJkN2JjNWMzMGRiMWNiZDdkODM2NDljNWEwNTg4ODAwNzNhMzQ3ZmE5YWY4NzQ0ODVmNWY2MjA1YTNmZTljNTlkIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:02 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Payment Date And Amount
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stats/getPaymentsDateAndAmount';
$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/stats/getPaymentsDateAndAmount" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/stats/getPaymentsDateAndAmount"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"lastPaymentdate": "2020-08-25",
"paymentLimit": 15000,
"paymentLimit_formated": "150 zł",
"payments": [
{
"user_earnings": 0,
"payment_date": {
"date": "2020-08-25 00:00:00.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"payment_for_month": "August",
"user_earnings_formated": "0 gr",
"payment_error_id": 1,
"earnings_left_to_payment": 15000,
"earnings_left_to_payment_formated": "150.00 zł"
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 165
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InJOd3M4MlpSdTBrOXA0UnNEZHFMVmc9PSIsInZhbHVlIjoiSDRKY1ZHZU14TStncUpiWFBCbEhjbFB2ZDNJTU5ySVpMSzIxdy9yY2Z4OW4rcmtGMTVKRnFvek1IVWZZUHExdzZGbFV6UENvb0xkSjZuRTVhU0NuSTNDWTBXc1FGTlR3dkhRcDBZWmFBaGVtek1VWW43ZDJib2treGJSNGxENTkiLCJtYWMiOiJiYmZhYzE2ODcwYTM0YmI3ZGViMTIwZjVlMWNhMzg0OGY3NmEyMDJlYjEwZGYyMmNkYTE1NTVkYmQzZGQwOTgzIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:03 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 One Time Payments
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stats/one-time-earnings';
$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/one-time-earnings?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/one-time-earnings"
);
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());
Example response (200):
{
"current_page": 1,
"data": [
{
"id": 38,
"user_id": 43944,
"store_id": null,
"user_earnings": "1 502.00 zł",
"payment_date": "2019-11-25",
"created_at": "2019-11-29 14:08:22",
"updated_at": "2019-12-30 11:22:37",
"comment": "Wyrównanie kampania Media Markt",
"store": null
}
],
"first_page_url": "/stats/one-time-earnings?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "/stats/one-time-earnings?page=1",
"next_page_url": null,
"path": "/stats/one-time-earnings",
"per_page": 15,
"prev_page_url": null,
"to": 2,
"total": 2
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 163
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InZyZjhlSXdaL0w4Z1lueUJ1NE91MUE9PSIsInZhbHVlIjoiYktjc3hjU09heHVYeWQ0QnNaVGVVMzI2QXczcWZxY1Q2YW80L04wbVl1R0U1YmNvd05TVnVFREJvUU1VcVhHNXdYNlBrczFTd0c2bW4zOEhqby8wWSs5VjVzMVNGVGpIYk42WDZQQWV5MEtwTStYQ3dhL0xOcndBSnZRMUY1MEoiLCJtYWMiOiI4NmE0ZGMyYWM3MjQxYTQzMDRjMTg3NDBkNDBlMThhZWUzMDJkODRmNDJhNThjMjIxOWIzMjc0ODMwNmZhOGM3IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:05 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 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());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 162
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImNJSnVMT1ZMeEJORiszREY0eGdLbkE9PSIsInZhbHVlIjoiY01EaGhlZzMrWi9na2tFYml4KzNMeENaNTVGZFl1Q3JrclE0NStQajRaS3pvUWNCTGF2TzNDYVB2RS9uOXp6OUhIeFZYVUVFazdlVCs2ZzNpV0pXTHdoRUFnN3BMSHdGSEdKTDFxUFVIekFIenRCMDE4eGM5eUNxbTZTaGxKWVYiLCJtYWMiOiI4YmFkNDU2ZGMyMzE4MWUwYzc0ZGU2NTI4Y2M3ZjNjYzMwZTEwM2JhYWY0MDRmMzU2NThmMDkzNmQwYjZjMWFiIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:06 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Tag Stats
requires authentication
Returns stats for last 30 days or for selected period (from date, to date)
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/1/get-tag-stats-by-date';
$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/users/1/get-tag-stats-by-date?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/users/1/get-tag-stats-by-date"
);
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());
Example response (200):
[
{
"tag_id": "{tagId}",
"date": "2022-10-26",
"clicks": 643,
"earned": 64302,
"order_value": 0,
"nr_orders": 0,
"pending_cpa": 0,
"cpc_earned": 64302,
"cpa_earned": 0
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 181
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjhJTk4vbGI5c2JUQm5SR3R6aysrbkE9PSIsInZhbHVlIjoiMVlqNkN3ckF3S3hlOXZZMzhSZ0RDbFdaMStwQkQxaGxIRDlvd2hPbUQ1Q1NkTzZtVlMvdUhOQXRXcWRMQTZobjQ0N04zU2hGSUtBc3dWd2RCSm5FeUcrcmdzcnB1ek9BZFlCdWZYZVlwdzV2TE1RY1VYQUUrb3lod0tSc3NNd3ciLCJtYWMiOiIxNDFlNDVkMGRhZDFhYWIyNDA4NWY1YmY2MzA2NDBmMDQwYzU2MzA3YjRlOGMzNTZlMzg5MzZkMTI4ZmFhMTc5IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:49 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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' => 'ipsum',
'domains' => [
'T..CKw/w /w/',
],
'categories' => [
1,
],
'logo_url' => 'http://www.cronin.biz/',
'country' => 'SE',
'currency' => 'EUR',
'language' => 'corporis',
'billing' => [
'company_name' => 'rerum',
'street' => 'id',
'postal_code' => 'quis',
'city' => 'et',
'vat_number' => 'sint',
],
],
]
);
$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\": \"ipsum\",
\"domains\": [
\"T..CKw\\/w \\/w\\/\"
],
\"categories\": [
1
],
\"logo_url\": \"http:\\/\\/www.cronin.biz\\/\",
\"country\": \"SE\",
\"currency\": \"EUR\",
\"language\": \"corporis\",
\"billing\": {
\"company_name\": \"rerum\",
\"street\": \"id\",
\"postal_code\": \"quis\",
\"city\": \"et\",
\"vat_number\": \"sint\"
}
}"
const url = new URL(
"https://api.metapic.com/v2/stores"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"name": "ipsum",
"domains": [
"T..CKw\/w \/w\/"
],
"categories": [
1
],
"logo_url": "http:\/\/www.cronin.biz\/",
"country": "SE",
"currency": "EUR",
"language": "corporis",
"billing": {
"company_name": "rerum",
"street": "id",
"postal_code": "quis",
"city": "et",
"vat_number": "sint"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 174
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InlKYzlWVG9xRTB3MGptT3dzQzVUNFE9PSIsInZhbHVlIjoiSTRZd2pwencwZzR4QmFoRXhNYm1sR0d6NHBzc09RVjRQci8zYzM3RUErbWhJTTFnYXhvSzNkUGFuRUMxTmlQOW1QODFMajZaZ0wxSzY3OXRPRzd3SEZ0VjZRQWVqa1Q1ZG12Qi90V2ZEMG9EU21TMGFTbkhSTXFETXdxWTlsbzUiLCJtYWMiOiI3MmYxYTUyNDlkOTQ3M2I4NjM2OTJjNjhjN2M1NDkwM2ExMjExNDc5MmNiNWQyOGZkNzYxOWYwYzE0ZTA0NTYxIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:53 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Categories
Get User Store Categories
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/store-categories';
$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/123/store-categories" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/users/123/store-categories"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"interested": [
{
"id": 1,
"name": "Fashion"
},
{
"id": 2,
"name": "Home & Interior"
}
],
"very_interested": [],
"not_interested": []
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 197
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6InVBODFzMHdrdUdpUHdON2lYTHFDeVE9PSIsInZhbHVlIjoiVzhxL3ozaFlPaWRGYWRtSEptMURQOFdHYVZzZEUrdm53S1lpQjFJcTRvTW1iRnUwUG1pRzBRb1M2NnExdUE3NE1vSEI3SUVCdksyazZxeGpSVW92S2ViRzFwYXVBNG5iaHhDdjBZSkxyTXg2R3Z4dkN6dlE5ZW9QOUsxVlY3MEUiLCJtYWMiOiI4MWNkNWM0NGJkMGQ3M2QyNjdjYWQ4ZWE5OGQ1ZmRiMjA5NzBmY2ZiOWVkNmZiM2I2YzEyY2NlNTE5ZThhNTRhIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:32 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Save User Store Categories
requires authentication
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/users/123/store-categories';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'store_categories' => [
'interested' => [
1,
],
'very_interested' => [
1,
],
'not_interested' => [
1,
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/users/123/store-categories" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"store_categories\": {
\"interested\": [
1
],
\"very_interested\": [
1
],
\"not_interested\": [
1
]
}
}"
const url = new URL(
"https://api.metapic.com/users/123/store-categories"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"store_categories": {
"interested": [
1
],
"very_interested": [
1
],
"not_interested": [
1
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"interested": [
{
"id": 1,
"name": "Fashion"
},
{
"id": 2,
"name": "Home & Interior"
}
],
"very_interested": [],
"not_interested": []
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 196
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImhGUzRha21rY0dGd2ZGTE5CYk9OV0E9PSIsInZhbHVlIjoiZCtFQU53SzFHaUpJOXE4aGI2THdUekdpRVhtZTBFbHNyczFTT2I5b3BMZk1QU2hQTUVRa3lCeHBYNlpLUFNxV3ZVRExLWGx5bXZ2cm1OMkRpWEhReVFPMUMxTmFFcWdLWm8wN2VJZHNINUcxUTcwWVAzd1FGWlVzdjBTVXRGMVEiLCJtYWMiOiJkOWU1MGU0YmM4ODA2YmVhMDExY2U4YzUxMWExMTY0M2RjNDYxM2IzOTk4YmJmZDlmNWExNjdhZmZiMDFjY2Y0IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:33 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Store Categories List
requires authentication
Return all store categories
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/store-categories-list';
$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/store-categories-list" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/store-categories-list"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 1,
"name": "Fashion"
},
{
"id": 2,
"name": "Home & Interior"
},
{
"id": 3,
"name": "Beauty & Health"
},
{
"id": 4,
"name": "Electronics & Computers"
},
{
"id": 5,
"name": "Children & Baby"
},
{
"id": 6,
"name": "Sports & Outdoors"
},
{
"id": 7,
"name": "Books & Games"
},
{
"id": 8,
"name": "Food & Beverage"
},
{
"id": 9,
"name": "Other"
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 193
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IlIyTC9yVDdNSjRMUnNxU05EbTBQM2c9PSIsInZhbHVlIjoiRjlFUkR4Z3o3SzNvT2FZS0t6TFB2ZHQ5UVZuY25HdTBPZktzbEkvWlNyS2M4aWo1UjFudWF4ei9COU40SkgyVGR3ZlFyTDNNYWJkV2dTZlMyZTRCbjBKYnI0N3l2ODdMeUZvaVZndzJEeUhxYVlQNFh5U3FVdmJpbkM4Tm9mTEMiLCJtYWMiOiI1Njc1NTYxMWVhOGUyMzZjOTA5YTFmZGI0MzQ5ZDQ5ZjJhMWVkODI5NDk4NmZkOGY4ZWY4ZGM3NDAwOTg0NDYyIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:36 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Stores
requires authentication
List of Stores ordered by cpc/cpa
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stores';
$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/stores" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/stores"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": "{storeId}",
"name": "Hickap",
"key": "Hickap",
"currency": "SEK",
"revenue_text": "",
"deeplinkable": 0,
"product_feed": 0,
"cpc": 250,
"instagram_cpc": 100,
"logo_url": "https://metapic-cdn.s3.eu-west-1.amazonaws.com/toplists/stores/4505.png",
"traffic_sources_costs": [
{
"id": 301,
"store_id": "{storeId}",
"source": 0,
"cpc": 250,
"cpa": 0,
"invoice_cpc": null,
"invoice_cpa": null,
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "2.50 kr"
},
{
"id": 302,
"store_id": "{storeId}",
"source": 1,
"cpc": 100,
"cpa": null,
"invoice_cpc": null,
"invoice_cpa": null,
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "1.00 kr"
}
],
"offer": {
"ids": [
3502
]
},
"categories": [
{
"id": 3,
"name": "Beauty"
},
{
"id": 1,
"name": "Fashion"
}
],
"url": "http://hickap.com",
"cpc_formated": "2.50 kr",
"instagram_cpc_formated": "1.00 kr",
"store_categories": [
{
"id": 3,
"name": "Beauty"
},
{
"id": 1,
"name": "Fashion"
}
],
"main_url": {
"id": 18635,
"store_id": 4505,
"end_host": "hickap.com",
"start_url": null,
"created_at": "2023-06-09 12:56:11",
"updated_at": "2023-06-09 12:56:11"
}
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 175
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ik4yYWU5RDBDQzFsRHZBZWRodVJHQUE9PSIsInZhbHVlIjoieGZKU2VGRzNNNHRRaFhYL2xBZk9rTkdSdUlhTEY3d1lRY09jdXp5a1ZuclNNQVJHbzNQUnQ4TlI5SXE1RlpueGx2YjUyNk5DTi9OYzZ6K3BFTFpBU09SNkM1Snp2TFBPS0RvcCt2ZWtVUFliTlp2VFUrRkdxM2VsNWJvNDhTRjEiLCJtYWMiOiIxNjBlMGRkNzY4MDRiOThhZGY1OWY1NGVlMDhhYTAxZjZlMjRmODk4NzExNjI3YmM2MjA2MzFhMmM1NTExMjU0IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:52 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 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/2';
$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/2" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/user/stores/2"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 172
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Ii9mTThHNDRvWkJoU2F3ZHdZMHU2dnc9PSIsInZhbHVlIjoiU2FBdU1jYStac0FwKzI3R1dlcHlYNkMycmJWUC95dDZvV1hjY0o1bWphbXU5SkxkamVWaFhIek8wVmpuM1NxTmliT1MvM2x1c1d5OVJBNG1JQ0p3VlhHUVF6SFJYZkRjMWY3NjN1allsR2l2ZlNwcjBrdTlnZHlDWUhNQ0g0d1ciLCJtYWMiOiIwNzRiNmY1M2MwMDdhM2Q0MzkxZWM5MjdlMzg4Nzk5YmUyMjE5YWY2MzlmYjQxNzkyNWY2YTQ3MjgwNmVmZjFmIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:56 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 Stores by category interests
requires authentication
List of Stores ordered by category interests and price
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/stores-by-interests';
$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/stores-by-interests" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/stores-by-interests"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
[
{
"id": 1,
"name": "Fashion",
"stores": [
{
"id": "{storeId}",
"name": "Hickap",
"key": "Hickap",
"currency": "SEK",
"revenue_text": "",
"deeplinkable": 0,
"product_feed": 0,
"cpc": 250,
"instagram_cpc": 100,
"logo_url": "https://metapic-cdn.s3.eu-west-1.amazonaws.com/toplists/stores/4505.png",
"traffic_sources_costs": [
{
"id": 301,
"store_id": "{storeId}",
"source": 0,
"cpc": 250,
"cpa": 0,
"invoice_cpc": null,
"invoice_cpa": null,
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "2.50 kr"
},
{
"id": 302,
"store_id": "{storeId}",
"source": 1,
"cpc": 100,
"cpa": null,
"invoice_cpc": null,
"invoice_cpa": null,
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "1.00 kr"
}
],
"offer": {
"ids": [
3502
]
},
"categories": [
{
"id": 3,
"name": "Beauty"
},
{
"id": 1,
"name": "Fashion"
}
],
"url": "http://hickap.com",
"cpc_formated": "2.50 kr",
"instagram_cpc_formated": "1.00 kr",
"store_categories": [
{
"id": 3,
"name": "Beauty"
},
{
"id": 1,
"name": "Fashion"
}
],
"main_url": {
"id": 18635,
"store_id": 4505,
"end_host": "hickap.com",
"start_url": null,
"created_at": "2023-06-09 12:56:11",
"updated_at": "2023-06-09 12:56:11"
}
}
]
}
]
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 171
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkJVY0ZQaWdzL1AyZEw3aFFQWlZlVHc9PSIsInZhbHVlIjoiTDJBRDhPcXV1aU85SGd2QTA1cXQ2TDlZTFZWWlJJWlB5VnpoRDVsKzU3TVNrY0ttZ0JIdGlyazhoVktxem1ZMUlNWEdUMi8yamFkajhHMHNSTXVjVXJzOWhqckJrYjNMNTJ2TmV3TjhNWlZ1aUEwdUdzU0NBbFhCYk9sSlRRSEoiLCJtYWMiOiI1ZWQ3MGFhYmVkMzFhYTZmNzhhYjNmOTRkZmY1OTUzODkzMmQ3OGNlZDQwZWJkZmI2N2M3Y2FiMDc3MDEwNTE4IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:57 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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 toplist
requires authentication
List of Stores ordered by cpc/cpa
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/topList/kk_KZ';
$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/topList/kk_KZ" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/topList/kk_KZ"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"retailers": [
{
"key": "Hickap",
"store_id": "{storeId}",
"store_url": "http://hickap.com",
"logo": "https://metapic-cdn.s3.eu-west-1.amazonaws.com/toplists/stores/4505.png",
"cpc": 250,
"revenue_text": "",
"instagram_cpc": 100,
"traffic_sources_costs": [
{
"id": 301,
"store_id": "{storeId}",
"source": 0,
"cpc": 250,
"invoice_cpc": 250,
"cpa": 0,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:08",
"updated_at": "2023-05-03 12:01:08",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "2.50 kr"
},
{
"id": 302,
"store_id": "{storeId}",
"source": 1,
"cpc": 100,
"invoice_cpc": 100,
"cpa": null,
"invoice_cpa": null,
"created_at": "2023-05-03 12:01:09",
"updated_at": "2023-05-03 12:01:09",
"user_revenue": 1,
"client_revenue": null,
"cpc_formatted": "1.00 kr"
}
],
"offer": {
"ids": [
3502
]
},
"currency": "SEK",
"cpc_formated": "2.50 kr",
"instagram_cpc_formated": "1.00 kr",
"offer_title": "",
"offer_text": ""
}
]
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 168
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6Im1TRzQyaHprOGtsK1dSYTBjT1pwMnc9PSIsInZhbHVlIjoiRGpsdjYvbG8rOTlsSWtlWjdjbEV4bFNZazhLWjNJM0MxK2Mzc1NKL0FZOHBtV3NPajU5bWlwWjMxK09pK3h0Nmg2Sk1rRXNVY0gvNEJPYmRMTXpFTzFDVHhkTE9WYktwSHdkN3VhUHMzbVBIQ2hEYTVHOTUya1JwSDZ6UzhyMUsiLCJtYWMiOiIzODE2ZDBjN2ZhMTQyMDEwNTE5NDZjNjIwNjE0ZWUzMWZmNDA3YzUyZTM0MTAyNzdhYjcyMzU3YWJiYzNkODgwIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:00 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Subscriptions
Unsubscribe
Unsubscribe from newsletter or campaign mails
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/unsubscribe';
$response = $client->post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'email' => '[email protected]',
'type' => 'campaign',
'token' => '$2y$10$Hvf6Y9lVjrY/Qzg8eiynsu8vgq53cw3uDV3J9hAs/ScpSyt32Sl6S',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request POST \
"https://api.metapic.com/unsubscribe" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"email\": \"[email protected]\",
\"type\": \"campaign\",
\"token\": \"$2y$10$Hvf6Y9lVjrY\\/Qzg8eiynsu8vgq53cw3uDV3J9hAs\\/ScpSyt32Sl6S\"
}"
const url = new URL(
"https://api.metapic.com/unsubscribe"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"email": "[email protected]",
"type": "campaign",
"token": "$2y$10$Hvf6Y9lVjrY\/Qzg8eiynsu8vgq53cw3uDV3J9hAs\/ScpSyt32Sl6S"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 400
x-ratelimit-remaining: 376
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImNtSzJ6TzIvSmxuMGp0RUsxWGVFYWc9PSIsInZhbHVlIjoibGFQZHRSQ3FDeTN2aWw5d3BBMkltaUJqRWlVQlVlYVhJZ0dBWXhPcEhSR0g3MVA2T1NaRWROOXZSSkdBdGxkUGwvYStoVHJacjV3UGhHdnJBekJYb0trWml4c1dUcjhjMFppUmVESVhpYjlQa2IreWdTbDUwVllUTzl2VEpRVUMiLCJtYWMiOiJmYzU0ODA5NzBmODE1ZWI5ZjVmOTRmYjM3MGZjNTQ1ZDgzMmZiYTY2YTQxNThkMzczNDYzMjdkMjgxNjhlZTdiIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:15:50 GMT; Max-Age=7200; path=/; httponly
{
"email": "[email protected]",
"type": "campaign",
"updated_at": "2024-03-28T12:15:49.000000Z",
"created_at": "2024-03-28T12:15:49.000000Z",
"id": 136
}
Example response (200):
{
"email": "[email protected]",
"type": "campaign",
"updated_at": "2022-10-11T04:36:46.000000Z",
"created_at": "2022-10-11T04:36:46.000000Z",
"id": 1
}
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.
User
User Info
requires authentication
Get the same info as postLogin but with access token.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/user/info';
$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/info" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/user/info"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"id": "{userId}",
"username": "{username}",
"email": "{email}",
"created_at": "2019-06-17 11:53:17",
"updated_at": "2019-08-20 07:07:50",
"admin": 1,
"last_active": "0000-00-00 00:00:00",
"first_name": "{userName}",
"surname": "{userSurname}",
"country": "{country}",
"city": "{city}",
"address": "{address}",
"postcode": "{postcode}",
"tier_pricing_type": "",
"config": "{\"showedPopups\":[\"firstCollageItem\"]}",
"sign_user_agreement": "2019-08-14 08:34:12",
"revenue_tier_id": 105,
"access_token": {
"id": "{tokenId}",
"user_id": "{userId}",
"access_token": "{token}",
"created_at": "2019-06-17 11:53:17",
"updated_at": "2019-06-17 11:53:17"
},
"currencyObj": {
"code": "SEK",
"name": "Swedish krona",
"symbol": "kr",
"subunit": "öre",
"is_before": 0,
"ratio_to_eur": 0.09
},
"roles": [],
"own_paymentsystem": 0,
"revenue_tier": {
"id": 105,
"created_at": "2018-12-12 14:21:45",
"updated_at": "2018-12-12 14:21:45",
"client_id": 79,
"revenue_share": "0.70",
"instagram_revenue_share": "0.70",
"name": "Diamond"
}
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 161
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6ImFEaUg0WCtDeTRGaTY0Zm91UVBnTnc9PSIsInZhbHVlIjoiN04vOHVCaDMyVG1EYzVqYkVVZWFDdzU3clg3akt3MUhqUU12dHVlRU9GT0dDNWVVOWNmekZtVi9iT3drMmhDYlpYU2t4SE5rTDY4a1JyZjk1V1lYSHRuVW1VeUZhTkpKTnJ3VGwrOHFlcXR3WTVnZjZJZVBHQXJWWnM2OHhHekYiLCJtYWMiOiJiYmMyYjFjMzlhYTVhMDk3NmVlYmZhOTZiODlkYmZhYjZkMTNlN2MzYjkzNTRhNjk0NmU1NmE5OTE4ZGYzOWQ5IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:07 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
User Information
Update User Information
requires authentication
Update user data, company, phone, email and vat_no information etc.
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/extraUserInfo';
$response = $client->put(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'json' => [
'extraInfo' => 'qui',
'code' => 'consequatur',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request PUT \
"https://api.metapic.com/extraUserInfo" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}" \
--data "{
\"extraInfo\": \"qui\",
\"code\": \"consequatur\"
}"
const url = new URL(
"https://api.metapic.com/extraUserInfo"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "{token}",
};
let body = {
"extraInfo": "qui",
"code": "consequatur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"id": "{userId}",
"username": "{username}",
"email": "{email}",
"phone": null,
"created_at": "2020-12-09 14:51:45",
"updated_at": "2020-12-09 14:51:45",
"admin": 0,
"first_name": "{userName}",
"surname": "{userSurname}",
"country": "{country}",
"city": "{city}",
"address": "{address}",
"postcode": "{postcode}",
"tier_pricing_type": "",
"config": "{}",
"sign_user_agreement": "2019-08-14 08:34:12",
"revenue_tier_id": 105,
"recruitment_utm": null,
"bank_info": null,
"social_media": [],
"own_paymentsystem": 0,
"businessType": "INDIVIDUAL",
"SSNum": "",
"bankType": "CLEARING",
"is_suspended": false,
"is_verified": true,
"client": {
"id": "{id}",
"client_id": "{clientId}",
"name": "Metapic SE",
"created_at": "2014-04-24 16:12:29",
"updated_at": "2020-04-28 06:58:23",
"own_paymentsystem": 0,
"config": "{}",
"user_mail_config": null,
"feed": "live_se",
"locale": "SE",
"revenue_model": "blog_percentage",
"revenue_share": "0.00",
"store_group_id": 1,
"default_revenue_tier": 76,
"default_verified_users": 0
},
"company": null
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 153
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IkJodlloYnFkdnJNRms5b1dqL2NrbXc9PSIsInZhbHVlIjoiWkdiWjNNUzdPL2hFWXNHTmw5LzI1M3Z3dnIvaHVlRXNKMGVnbkJBVS96OWlCWCs2U3M4MGhkSmYyZzZORkI5NHlUVFEwMWEwUXVGcWIxWUVQWStlZlF6K0VFRkVQczVLNW9iRTBNMy9DVFNkU3Jjbk1nOFd1c1M3Z3dVMzBNUTMiLCJtYWMiOiJlZGI0ZjlhMDUxZjRjNTUxNGQ3Yjc4NDYwMDg4ZWUwMTdkOTE0NDNjM2Y5Y2Y1ZjgzYWIyMzQ5NDA0YzIzMjFlIiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:15 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.
Validate IBAN
requires authentication
Check IBAN and get additional bank info
Example request:
$client = new \GuzzleHttp\Client();
$url = 'https://api.metapic.com/validate-iban';
$response = $client->get(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => '{token}',
],
'query' => [
'iban' => 'SEXXXXXXXXXXX',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
curl --request GET \
--get "https://api.metapic.com/validate-iban?iban=SEXXXXXXXXXXX" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: {token}"
const url = new URL(
"https://api.metapic.com/validate-iban"
);
const params = {
"iban": "SEXXXXXXXXXXX",
};
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());
Example response (200):
{
"bank_data": {
"bic": "{bic}",
"branch": null,
"bank": "{bank}",
"address": "{address}",
"city": "Bratislava",
"state": null,
"zip": "811 01",
"phone": null,
"fax": null,
"www": null,
"email": null,
"country": "Slovakia",
"country_iso": "SK",
"account": "{account}",
"bank_code": "{bank_code}",
"branch_code": "000000"
},
"sepa_data": {
"SCT": "YES",
"SDD": "YES",
"COR1": "YES",
"B2B": "NO",
"SCC": "NO"
},
"validations": {
"chars": {
"code": "006",
"message": "IBAN does not contain illegal characters"
},
"account": {
"code": "002",
"message": "Account Number check digit is correct"
},
"iban": {
"code": "001",
"message": "IBAN Check digit is correct"
},
"structure": {
"code": "005",
"message": "IBAN structure is correct"
},
"length": {
"code": "003",
"message": "IBAN Length is correct"
},
"country_support": {
"code": "007",
"message": "Country supports IBAN standard"
}
},
"errors": [],
"is_valid": true
}
Example response (403):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 200
x-ratelimit-remaining: 152
access-control-allow-origin: *
set-cookie: laravel_session=eyJpdiI6IjVhUnR4MVNxSVgyTFdUd1lFR0M2Q0E9PSIsInZhbHVlIjoiVjVCaDVYMzVNc2poNmxremh1c0xxdTJWVzkrcTZ2T3BFaW1EZWdjVnZpd1Q3NElmbXR2RUVCMXdvSThOSUdDQis2SDY3aFNFTnR2K2trRExPaENXdC9zanh4UWJzUkVUMUdSUk5adzdRb0IwR3JjaWZKd3dBNkJKKzV5VDJNRGIiLCJtYWMiOiJkYWRiOWY4ZDljN2E3ZTg3ZWQwYjY3MDE0MzU3MDIzOThmOTQxMzVmZTJjMmM1ODA2YTlhMzRjZGZlY2NlNDM3IiwidGFnIjoiIn0%3D; expires=Thu, 28 Mar 2024 14:16:16 GMT; Max-Age=7200; path=/; httponly
{
"status": 403,
"error": "forbidden",
"message": "Access Forbidden"
}
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.