批次同步點數餘額

View as Markdown
批次覆蓋多個客戶的點數餘額,逐筆結果互不影響。balance 是絕對餘額,不是增減量——每一筆送出的都是「這個客戶現在總共有多少點」,把異動量當成這個欄位送出會直接把餘額蓋成錯誤的值,這是使用這支端點最需要注意的地方。客戶用 companyCode(貴端的客戶代碼)指定,不是 OrderUp 的內部序號。送出空陣列或沒有 body 會在受理前被拒絕,回傳 400 empty_batch;已受理的請求一律回傳 HTTP 200,逐筆的處理結果放在回應 body 的 items 裡,單筆失敗不會讓其他筆一起失敗。逐筆狀態是小寫的 ok 或 failed,與商品/規格批次端點的 created/updated/failed 不同——餘額同步是絕對值覆寫,沒有新增與更新之分,這點與庫存批次端點相同。

Authentication

X-Signaturestring

每個 /v1 請求都必須帶 X-Client-Id、X-Timestamp、X-Nonce 與 X-Signature 四個標頭。X-Signature 是以 client secret 對 canonical string 做 HMAC-SHA256 後的 Base64。canonical string 的組成、可複製的簽章範例與 401 排查步驟,請參閱「驗證與簽章」。

Request

This endpoint expects a list of objects.
companyCodestring or nullOptional

貴端系統的客戶代碼,對應客戶主檔的 outerSysCode。這支端點只認代碼、不收 OrderUp 的內部客戶序號。代碼查無對應客戶時,這一筆回報 failed 並帶 company_not_found;同一個代碼對應到多筆客戶時回報 failed 並帶 company_code_ambiguous,OrderUp 不會替你在其中挑一筆——挑錯就等於把甲客戶的點數寫到乙客戶頭上。

balancedoubleOptional

這個客戶當下的絕對點數餘額,不是增減量。必須大於或等於 0,負值會讓該筆回報 failed 並帶 invalid_balance。

Response

OK
itemslist of objects or nullOptional

逐筆的處理結果,順序與送出的陣列相同,一筆對一筆。

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
500
Internal Server Error