【问题标题】:Square Connect API Item Creation syntaxSquare Connect API 项目创建语法
【发布时间】:2019-07-16 15:30:00
【问题描述】:

我正在尝试通过 C# 将新项目创建发布到测试商店,但我不确定语法应该如何阅读。 Square Connect API 需要至少一种变体来创建新项目,但我不确定如何将其添加到 JSON 正文中。这是我所拥有的,但我不知道如何完成它。

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 = ???? });

此代码有效,但返回的项目响应必须包含至少一个变体。我知道,但不知道怎么写,或者是否可能。

我不反对另辟蹊径。

已编辑以添加 Square 文档中的示例请求正文:

   {
       "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"
      }
   ]
}

【问题讨论】:

  • 我将在不久的将来发布一个 c# 库来与他们的 api 交互。你有兴趣吗?

标签: c# json api square-connect square


【解决方案1】:

这样的东西应该以正确的格式序列化为 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"
});

【讨论】:

  • 我一直在研究它,最后创建了一些具有嵌套类并在构造函数和代码之间传递数组的类。您的解决方案完美运行,并且更加直接/高效。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
相关资源
最近更新 更多