【问题标题】:Unable to Post an invoice to Sage One via API 422 Error无法通过 API 422 错误向 Sage One 发布发票
【发布时间】:2019-09-05 02:40:32
【问题描述】:

我能够针对 SAGE ONE API 进行身份验证,也能够从 API 中检索数据,但是我现在尝试发布一张简单的发票,但不断收到 422 错误。我有什么明显的遗漏吗?

我已经仔细检查了 JSON 结构和我提供的值并且都是有效的。不知道我在这里做错了什么!

我的 JSON 包是这样的

{"contact_id":"66b76fa19edc11e797950a57719b2edb",
"date":"2019-04-13",
"invoice_lines":[{"description":"Test Description",
"ledger_account_id":"0367afd89ece11e797950a57719b2edb","quantity":1,"unit_price":100}]}

code 

Dim http As HttpWebRequest = WebRequest.Create(New Uri("https://api.columbus.sage.com/uki/sageone/accounts/v3/sales_invoices"))
            http.Method = "POST"
            http.ContentType = "application/json"
            http.Accept = "application/json"
            http.Headers.Add("X-Site", "mysite")
            http.Headers.Add("ocp-apim-subscription-key", "mykey")
            http.Headers.Add("Authorization", "Bearer " mytoken)

            Dim data = Encoding.UTF8.GetBytes(json)
            http.ContentLength = data.Length

            Dim stream = http.GetRequestStream()
            stream.Write(data, 0, data.Length)
            stream.Close()

            Dim response = http.GetResponse().GetResponseStream()

【问题讨论】:

    标签: vb.net api sage-one


    【解决方案1】:

    这个 POST 正文对我有用(具有不同的 ID):

    {
      "sales_invoice": {
        "contact_id": "66b76fa19edc11e797950a57719b2edb",
        "date": "2019-04-13",
        "main_address": { "address_line_1": "42 Test Street" },
        "invoice_lines": [
          {
            "description": "Test Description",
            "ledger_account_id": "0367afd89ece11e797950a57719b2edb",
            "quantity": 1,
            "unit_price": 100,
            "tax_rate_id": "GB_NO_TAX"
          }
        ]
      }
    }
    

    您需要使用一个键来包装您的 JSON 结构,该键是您的资源的名称(在本例中为"sales_invoice")。

    您还需要指定一个主要地址,以及每个订单项的税率 ID。

    为确保您的销售发票有一个有效的分类帐帐户,请获取以下可能帐户的列表:

    GET /ledger_accounts?visible_in=sales
    

    【讨论】:

    • 非常感谢 Christoph,这正是我需要看到的!这对我有用。
    猜你喜欢
    • 1970-01-01
    • 2021-08-11
    • 2020-11-01
    • 2016-06-22
    • 1970-01-01
    • 2021-01-27
    • 2015-10-08
    • 2021-11-08
    • 2020-12-08
    相关资源
    最近更新 更多