2014-10-02 14 views
0

我想通過C#發佈一個新的項目創建到測試存儲,但我不知道語法應該如何閱讀。 Square Connect API需要至少一個變體才能創建新項目,但我不確定如何將其添加到JSON主體。這是我的,但我不知道如何完成它。正方形連接API項目創建語法

var client = new RestSharp.RestClient(); 
var post = new RestRequest("https://connect.squareup.com/v1/me/items", Method.POST); 
post.RequestFormat = DataFormat.Json; 
post.AddHeader("Authorization", String.Format("Bearer {0}", testtoken)); 
post.AddBody(new { name = testname, variations = ???? }); 

此代碼有效,但返回項目的響應必須至少包含一個變體。我意識到這一點,但不知道如何寫,或者甚至可能。

我不反對走不同的路線。

編輯從廣場文檔添加一個樣本請求體:

{ 
     "name": "Milkshake", 
     "description": "It's better than yours", 
     "visibility": "PRIVATE", 
     "category_id": "36ac7016-3a4e-4934-81f1-9057ac613f2y", 
     "variations": [ 
     { 
     "name": "Small", 
     "pricing_type": "FIXED_PRICING", 
     "price_money": { 
      "currency_code": "USD", 
      "amount": 400 
     }, 
     "sku": "123" 
     } 
    ] 
} 
+1

我將被釋放AC#圖書館在不久的將來與他們的API進行交互。你感興趣嗎? – 2015-10-28 21:45:41

回答

0

像這樣的東西應該序列化JSON正確的格式:

post.AddBody(new { 
    name = testname, 
    variations = new object[] { 
     new { 
      name = "Small", 
      pricing_type = "FIXED_PRICING", 
      price_money = new { 
       currency_code = "USD", 
       amount = 400 
      } 
     } 
    }, 
    sku = "123" 
}); 
+0

我一直在研究它,並最終創建了一些嵌套類並在構造函數和代碼之間傳遞數組的類。您的解決方案完美工作,更直接/高效。謝謝。 – user3280382 2014-10-02 22:01:03