Sample code for 30+ languages & platforms
Node.js

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 Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    var rest = new chilkat.Rest();

    // See this example for getting an OAuth1 token for Etsy

    var json = new chilkat.JsonObject();
    success = json.LoadFile("qa_data/tokens/etsy.json");
    if (success == false) {
        console.log("Failed to load previously fetched Etsy OAuth1 access token.");
        return;
    }

    var oauth1 = new chilkat.OAuth1();

    oauth1.ConsumerKey = "app_keystring";
    oauth1.ConsumerSecret = "app_shared_secret";
    oauth1.Token = json.StringOf("oauth_token");
    oauth1.TokenSecret = json.StringOf("oauth_token_secret");
    oauth1.SignatureMethod = "HMAC-SHA1";
    oauth1.GenNonce(16);

    var autoReconnect = true;
    var tls = true;
    success = rest.Connect("openapi.etsy.com",443,tls,autoReconnect);
    if (success == false) {
        console.log(rest.LastErrorText);
        return;
    }

    // Tell the REST object to use the OAuth1 object.
    success = rest.SetAuthOAuth1(oauth1,true);

    var 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");

    var jsonResponseText = rest.FullRequestFormUrlEncoded("PUT","/v2/listings/228827035/inventory");
    if (rest.LastMethodSuccess == false) {
        console.log(rest.LastErrorText);
        return;
    }

    var jsonResponse = new chilkat.JsonObject();
    jsonResponse.Load(jsonResponseText);
    jsonResponse.EmitCompact = false;

    console.log(jsonResponse.Emit());

    console.log("Response status code: " + rest.ResponseStatusCode);

}

chilkatExample();