<?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);
  }
?>