PHP Extension
PHP Extension
Update an Inventory Listing using OAuth1 Authentication
See more Etsy Examples
Updates an inventory listing. This example uses OAuth1 authentication instead of providing an api_key=MY_ETSY_KEYSTRING query parameter.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rest = new CkRest();
// See this example for getting an OAuth1 token for Etsy
$json = new CkJsonObject();
$success = $json->LoadFile('qa_data/tokens/etsy.json');
if ($success == false) {
print 'Failed to load previously fetched Etsy OAuth1 access token.' . "\n";
exit;
}
$oauth1 = new CkOAuth1();
$oauth1->put_ConsumerKey('app_keystring');
$oauth1->put_ConsumerSecret('app_shared_secret');
$oauth1->put_Token($json->stringOf('oauth_token'));
$oauth1->put_TokenSecret($json->stringOf('oauth_token_secret'));
$oauth1->put_SignatureMethod('HMAC-SHA1');
$oauth1->GenNonce(16);
$autoReconnect = true;
$tls = true;
$success = $rest->Connect('openapi.etsy.com',443,$tls,$autoReconnect);
if ($success == false) {
print $rest->lastErrorText() . "\n";
exit;
}
// Tell the REST object to use the OAuth1 object.
$success = $rest->SetAuthOAuth1($oauth1,true);
$jsonText = '[{\'product_id\':1999949999,\'property_values\':[],\'offerings\':[{\'offering_id\':9999905883,\'price\':\'36.23\',\'quantity\':1}]}]';
$rest->AddQueryParam('products',$jsonText);
$rest->AddHeader('Content-Type','application/x-www-form-urlencoded');
$jsonResponseText = $rest->fullRequestFormUrlEncoded('PUT','/v2/listings/228827035/inventory');
if ($rest->get_LastMethodSuccess() == false) {
print $rest->lastErrorText() . "\n";
exit;
}
$jsonResponse = new CkJsonObject();
$jsonResponse->Load($jsonResponseText);
$jsonResponse->put_EmitCompact(false);
print $jsonResponse->emit() . "\n";
print 'Response status code: ' . $rest->get_ResponseStatusCode() . "\n";
?>