require "consumer_key.php";
require "access_token.php";
require "api_url_base.php";
require "error.php";
try {
    $oauth = new Oauth($consumer_key, $consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->enableDebug();
    $oauth->setToken($access_token, $access_secret);
} catch (OAuthException $E) {
    Error("setup exception", $E->getMessage(), null, null, $E->debugInfo);
}
try {
    $orderId = 12345;
    // CHANGEME
    $data = array("orderId" => $orderId);
    $data_string = json_encode($data);
    $oauth->fetch($api_url_base . "/orders/{$orderId}/v1", null, OAUTH_HTTP_METHOD_GET, array("Accept" => "application/json"));
    $response = $oauth->getLastResponse();
    $json = json_decode($response);
    if (null == $json) {
        PrintJsonLastError();
        var_dump($response);
    } else {
        print_r($json);
    }
} catch (OAuthException $E) {
    Error("fetch exception", $E->getMessage(), null, $oauth->getLastResponseInfo(), $E->debugInfo);
}
?>

try {
    $info = $oauth_client->getRequestToken("{$api_url_base}/oauth1/request_token/v1", "oob");
    # work around our Pecl getRequestToken->array bug https://bugs.php.net/bug.php?id=63572 :
    if (array_key_exists('oauth_token_secret', $info) && array_key_exists('authentication_url', $info) && !array_key_exists('oauth_token', $info)) {
        $urlArray = parse_url($info['authentication_url']);
        $info['authentication_url'] = $urlArray['scheme'] . '://' . $urlArray['host'] . $urlArray['path'];
        parse_str($urlArray['query']);
        $info['oauth_token'] = $oauth_token;
    }
    if (array_key_exists('oauth_token', $info) && array_key_exists('oauth_token_secret', $info) && array_key_exists('authentication_url', $info)) {
        echo "Request token        : " . $info['oauth_token'] . "\n";
        echo "Request token secret : " . $info['oauth_token_secret'] . "\n";
        echo "Next please authenticate yourself at " . $info['authentication_url'] . "?oauth_token=" . $info['oauth_token'] . " and collect the PIN for the next step.\n";
        $oauth_client->setToken($info['oauth_token'], $info['oauth_token_secret']);
    } else {
        Error("getRequestToken", null, $info, $oauth_client->getLastResponseInfo(), null);
    }
} catch (OAuthException $E) {
    Error("getRequestToken", $E->getMessage(), null, $oauth_client->getLastResponseInfo(), $E->debugInfo);
}
$pin = readline("Pin: ");
try {
    $info = $oauth_client->getAccessToken("{$api_url_base}/oauth1/access_token/v1", null, $pin);
    if (array_key_exists('oauth_token', $info) && array_key_exists('oauth_token_secret', $info)) {
        echo "Access token        : " . $info['oauth_token'] . "\n";
        echo "Access token secret : " . $info['oauth_token_secret'] . "\n";
        echo "\nYou can store these access token values in access_token.php for the other scripts to use.\n";
        $oauth_client->setToken($info['oauth_token'], $info['oauth_token_secret']);
    } else {
        Error("getAccessToken", null, $info, $oauth_client->getLastResponseInfo(), null);
    }