Sample code for 30+ languages & platforms
C#

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 C# Downloads

C#
bool success = false;

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

Chilkat.Rest rest = new Chilkat.Rest();

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

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

Chilkat.OAuth1 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);

bool autoReconnect = true;
bool tls = true;
success = rest.Connect("openapi.etsy.com",443,tls,autoReconnect);
if (success == false) {
    Debug.WriteLine(rest.LastErrorText);
    return;
}

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

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

string jsonResponseText = rest.FullRequestFormUrlEncoded("PUT","/v2/listings/228827035/inventory");
if (rest.LastMethodSuccess == false) {
    Debug.WriteLine(rest.LastErrorText);
    return;
}

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

Debug.WriteLine(jsonResponse.Emit());

Debug.WriteLine("Response status code: " + Convert.ToString(rest.ResponseStatusCode));