<?php
define(PRICEAPI_BASE_URL, 'https://api.priceapi.com/');
define(TOKEN, 'REPLACE-WITH-YOUR-SECURITY-TOKEN');
define(REFRESH_INTERVAL, 30);
// Post bulk request
$url = PRICEAPI_BASE_URL . 'jobs';
$params = array(
token => TOKEN,
source => 'amazon',
country => 'de',
currentness => 'daily_updated',
completeness => 'one_page',
key => 'gtin',
values => join("\n", array("08806085107175", "08806085583832")));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => $params));
echo ' => POST ', $url, ' with ', json_encode($params), "\n";
$content = trim(curl_exec($curl));
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$json = json_decode($content, true);
echo ' <= ', $http_status, "\n", $content, "\n";
curl_close($curl);
if ($http_status == 200) {
$job_id = $json['job_id'];
// Query status until 'finished'
$url = PRICEAPI_BASE_URL . 'jobs/' . $job_id . '?token=' . TOKEN;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url));
do {
echo ' => GET ', $url, "\n";
$content = trim(curl_exec($curl));
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$json = json_decode($content, true);
echo ' <= ', $http_status, "\n", $content, "\n";
if ($json['status'] != 'finished') {
echo "Still '", $json['status'], "'. Wait ", REFRESH_INTERVAL, " seconds...\n";
sleep(REFRESH_INTERVAL);
}
} while ($json['status'] != 'finished');
curl_close($curl);
// Download results
$url = PRICEAPI_BASE_URL . 'products/bulk/' . $job_id . '.json' . '?token=' . TOKEN;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url));
echo ' => GET ', $url, "\n";
$content = trim(curl_exec($curl));
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$json = json_decode($content, true);
echo ' <= ', $http_status, "\n", $content, "\n";
curl_close($curl);
}
?>