AiPool 點數系統 API 驗證方式開發手冊

來源文件:點數系統(Aipool)_API 驗證方式_公版.docx。本文已將示例密鑰、手機號、長 ID 等公開發布不需要的值改為占位符。

變更紀錄

版本號作者修訂內容發布日期
1.0朱春雷初稿,提供點數相關API初步定義2023-02-19
1.1朱春雷調整請求參數定義2023-02-21
1.2朱春雷加入webhook定義2023-02-26
1.3朱春雷加入api呼叫限制說明2023-02-27
1.4朱春雷調整點數概念,調整API2023-03-07
1.5朱春雷補上回應參數名稱的屬性說明2023-03-14
1.6朱春雷調整並加入預計支援的API2023-03-16
1.7朱春雷調整ID規則
單一企業:OpenID
點鑽:AccountID
2023-03-18
1.8朱春雷新增變更使用者身份、發送優惠券,查詢帳號、使用者點數總覽,使用者企業列表等API2023-03-20
1.9朱春雷調整範圍查詢店家API,支持圓形查詢與矩形查詢2023-03-30
1.10朱春雷調整API定義,舊URL規則能可沿用(2023年底失效)
新增激勵賺相關API
新增查詢客戶身分的店家列表API
新增查詢點鑽企業下消費明細API
核對請求參數與返回參數定義
調整範圍查詢僅返回商家列表
新增點數核銷 API
新增點數類型概述說明
2023-04-18
1.11朱春雷新增點數核銷 API
新增兌換激勵賺API
2023-04-19
1.12朱春雷調整企業API
策略廠商API使用範圍定義
2023-04-26
1.13朱春雷根據商圈以及集團相關,調整API說明2023-05-18
1.14朱春雷新增企業用API
查詢用戶關聯商圈列表
用戶點數總覽
企業生成累點連結(URL)
核銷點數
核銷賺+點
指定核銷
查詢交易紀錄
新增策略整合API
新增UUPON專用API
會員基本訊息API
查詢UUPON消費明細
創建特約店
查詢企業剩餘可用點數
2023-05-23
1.15洪惟信新增企業API
帳號唯一碼查詢
2024-04-15
1.16洪惟信調整帳號唯一碼查詢2024-04-23
1.16.1洪惟信調整錯誤訊息2024-05-06
1.16.2許意研新增查詢未生效UUPON點數明細2025-01-15

API 驗證方式

概述

點數系統提供API的方式,允許外部系統透過呼叫API方式進行系統整合,本章節主要是說明API呼叫的方式與驗證簽名方式。

呼叫API是需要申請點數平台的租戶,目前僅限由管理員協助創建租戶帳號,取得帳號後,登入點數平台管理後台,選擇自己擁有的企業,到我的應用,建立新的應用。

應用分成四大類:

API 驗證標準原則

連結方式:HTTPS

Method: POST

資料格式:JSON字串

字元編碼:UTF-8

簽名格式:AILE(空一格)AppId:Signature

AILE:固定

AppId:透過點數後台建立的應用APP ID

Signature:加密字串

Base64(HMAC-SHA256(appid+nonce+MD5(requestBody), SecretKey))

nonce:隨機字串,可以使用timestamp

requestBody:請求參數,Array轉成JSON字串,範例:


    
    
    
  Array ([userIdType] => 2, [id] => USER_ID_PLACEHOLDER) => JSON 字串

    
    
    
  {"userIdType":2,"id":"USER_ID_PLACEHOLDER"}

企業應用資訊(請找業務申請):

應用Id:

秘鑰:

企業ID:

企業編號:

可發行企業點數:點

可發行UUPON點數:點

JavaScript 範例


    
    
    
  var hmacPrefix = "AILE";                              // 簽名起始字串
var
 AppId = "APP_ID_PLACEHOLDER";                   // appid (點數管理後台取得)
var
 APIKey = "<APP_KEY>";      // app SecretKey (點數管理後台取得)
var
 nonce = new Date().getTime();                      // 創建隨機值
var
 requestContentBase64String = "";
var
 bodyObj = JSON.parse(pm.request.body.toString());
var
 bodyString = JSON.stringify(bodyObj);   //產生要發送的request body字串,並經過了JSON格式化去空格
if
 (bodyString) {
var
 md5 = CryptoJS.MD5(bodyString);     // 對request body的內容進行MD5加密
requestContentBase64String = md5.toString();
}
var
 signatureRawData  = AppId  +  nonce + requestContentBase64String; // 將簽名的內容組合
var
 signature = CryptoJS.enc.Utf8.parse(signatureRawData);              //轉換UTF-8格式
var
 signatureBytes = CryptoJS.HmacSHA256(signature,APIKey);            // HmacSHA256加密
var
 requestSignatureBase64String = CryptoJS.enc.Base64.stringify(signatureBytes); //Base64加密
var
 hmacKey = hmacPrefix + " " + AppId + ":" + requestSignatureBase64String; // 最終Authorization
// 設置header

pm.request.headers.add({
key
: "nonce",
value
: nonce
});
pm.request.headers.add({
key
: "Authorization",
value
: hmacKey
});
// 因body為json,MD5加密的時候已經去除空格,所以確保發送的內容和簽名的body內容一致,需重新設置了body的資料

pm.request.body.raw = bodyString

PHP 範例實例


    
    
    
  $hmacPrefix = 'AILE';              //固定頭
$AppId
 = APP_ID_PLACEHOLDER;   //應用APPID
$APIKey
 = <APP_KEY>; //應用APP 密鑰
$body
 = '{"userIdType":1,"id":"PHONE_E164_PLACEHOLDER"}';  //request Body
$nonce
 = time();
$md5_body
 = md5($body);          //md5加密 body
$sha256
 = hash_hmac('sha256',$AppId.$nonce.$md5_body,$APIKey,true);  //sha256加密
$sha256_str
 = base64_encode($sha256);                             //base64加密
$str
 = $hmacPrefix.' '.$AppId.':'.$sha256_str;                          //組成Authorization

    
    
    
  $api_url = 'https://lab.uupon.com/api/tenant/v1/user/getOpenId';                  //API位置

    
    
    
  $rs = httpRequest($api_url, $body, $nonce, $str);  //呼叫API
print_r
($rs);  //將回應值顯示出來

    
    
    
  function httpRequest($api, $body, $nonce, $str{
$ch
 = curl_init();
curl_setopt
($ch, CURLOPT_URL, $api);
curl_setopt
($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt
($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt
($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt
($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json'
,
'nonce: '
.$nonce,
'Authorization:'
.$str)
);
$result
 = curl_exec($ch);
curl_close
($ch);
return
 json_decode($result, true);
}

建立會員(匯入使用者並初始化點數)

說明: 用於第一次建立帳號用,檢查手機是否存在,不存在則建立帳號,檢查企業是否存在帳號,不存在則進行創建使用者,並匯入點數,存在則拒絕不可再次匯入

API路徑: https://lab.uupon.com/api/tenant/v1/user/import

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idString會員ID
countryCodeString手機國碼必須+開頭
phoneString手機號碼
nameString使用者名稱
pointTypeInteger點數類別
預設:0
(不可流通)
pointInteger初始化點數,若無則帶入0
reasonString原因
reasonCodeString原因代碼
fromSystemString來源系統
fromDeviceString來源裝置
fromInfoString來源資訊

    
    
    
  { "id": "SuperPoint202307271",
"countryCode"
: "+886",
"phone"
: "PHONE_PLACEHOLDER",
"pointType"
: 0,
"point"
: 0,
"reason"
: "註冊會員",
"reasonCode"
: "0099",
"fromSystem"
: "1",
"fromDevice"
: "1",
"fromInfo"
: "1",
"name"
: "PHONE_PLACEHOLDER"
}

回應參數值

欄位名稱資料類型欄位說明
idString對應的累點紀錄Id
tenantIdString企業ID
tenantCodeString企業編碼
openIdString使用者openId
nameString使用者名稱
aiCoinInteger使用者擁有的uupon點數
(非點鑽企業,一般為0)
aiPoolInteger使用者擁有的企業點
pointInteger使用者擁有的賺總和
enableAiCoinInteger使用者可用的UUPON點
enableAiPoolInteger使用者可用的企業點
enablePointInteger使用者可用的賺
couponInteger使用者擁有的優惠卷總合
enableCouponInteger使用者可用的優惠卷總合

查詢OpenID

說明: 透過匯入使用者時的手機或者原平台的uid,查詢在點鑽點數平台的OpenId

通常應用在登入時,確認手機或uid是否存在某個企業下,若不存在則呼叫匯入使用者並初始化點數API來建立帳號。

API路徑: https://lab.uupon.com/api/tenant/v1/user/getOpenId

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
userIdTypeStringId的類型
手機
匯入時的Id
idString若userIdType為手機,則id需要國碼+手機號碼。舉例 PHONE_E164_PLACEHOLDER

    
    
    
  {"userIdType":1,"id":"PHONE_E164_PLACEHOLDER"}

回應參數值

欄位名稱資料類型欄位說明
dataString對應的OpenId

    
    
    
  {
"data"
: "60ff72******76cd8",
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"
}

累點 API

說明: 當需要進行點數發送時,呼叫使用,需要先取得該用戶的OpenId才可以進行操作,

發送點數時,會需要檢查企業下的點數池是否存在足夠的點數,另外可設定生效時間,只有未生效跟未使用的點數才可以取消累點;當發送UUPON點,企業下需要額外購買系統服務費,已取得贈送的UUPON點數,UUPON點數發送後,在UUPON點數未生效前,才可以取消累UUPON點,已經生效的UUPON點數,是無法取消累點,點數在生效時,準備金流轉到點鑽企業,同時UUPON點數歸屬權已經轉移至點鑽企業,負責替會員履約

API路徑: https://lab.uupon.com/api/tenant/v1/user/point/increase

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idStringopenID
startTimeLong生效時間
(時間戳-毫秒)
expireTimeLong失效時間,若為0則依據系統設定,即開始時間+點數有效期
(時間戳-毫秒)
pointTypeString點數類型,預設0,不可流通的點;1 = UUPON點
pointInteger累積點數,需大於0
reasonString原因
reasonCodeInteger原因代碼
fromSystemString來源系統
fromDeviceString來源裝置
fromInfoString來源資訊
timeTypeString默認:0 長期點數,expireTime的23:59:59
1:短期點數,expireTime必須於當前24小時內的時間戳,精準到分鐘失效
activityNameString活動標記
若pointType=0且ActivityName不為空,則對應的使用者只能通過activityName活動參與一次累企業點,若pointType=0 則此參數無效

    
    
    
  {"id":"OBJECT_ID_PLACEHOLDER",
"startTime"
:'.$starttime.',
"expireTime"
:1735574400000,
"pointType"
:1,
"point"
:10,
"reason"
:"API 測試",
"reasonCode"
:"0010",
"fromSystem"
:"PHP_API",
"fromDevice"
:"API_TEST",
"fromInfo"
:"IF010",
"timeType"
:0}

回應參數值

欄位名稱資料類型欄位說明
idString對應的累點紀錄Id (bizID)
tenantIdString企業ID
tenantCodeString企業編碼
openIdString使用者openId
nameString使用者名稱
aiCoinInteger使用者擁有的uupon點數
(非點鑽企業,一般為0)
aiPoolInteger使用者擁有的企業點
pointInteger使用者擁有的賺總和
enableAiCoinInteger使用者可用的UUPON點
enableAiPoolInteger使用者可用的企業點
enablePointInteger使用者可用的賺
couponInteger使用者擁有的優惠卷總合
enableCouponInteger使用者可用的優惠卷總合

範例:


    
    
    
  {
"data"
: {
"id"
: "64070c5****3b6c61ec4",      //這個是bizId 若要取消則需要這個值
"couponId"
: "64070c8****b6c61ec3",
"tenantId"
: "1073****1008",
"tenantCode"
: "91003646-01",
"openId"
: "20230****00001",
"name"
: "api_test",
"aiCoin"
: 0,
"aiPool"
: 100,
"point"
: 0,
"enableAiCoin"
: 0,
"enableAiPool"
: 0,
"enablePoint"
:  0,
"coupon"
: 0,
"enableCoupon"
: 0
}
,
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"
}

兌點 API(本企業的企業點)

說明: 目前僅開放企業兌點自身企業的點數,若要跨企業或者核銷UUPON點數,要使用點數核銷 API

API路徑: https://lab.uupon.com/api/tenant/v1/user/point/decrease

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idStringopenID(使用者的openId)
pointString點數
reasonString原因
reasonCodeString原因代碼
fromSystemString來源系統
fromDeviceString來源設備
fromInfoString來源資訊

回應參數值

欄位名稱資料類型欄位說明
idString對應的紀錄Id
tenantIdString企業ID
tenantCodeString企業編碼
openIdString使用者openId
nameString使用者名稱
aiCoinInteger使用者擁有的uupon點數總合
(非點鑽企業,一般為0)
aiPoolInteger使用者擁有的企業點
pointInteger使用者擁有的賺總和
enableAiCoinInteger使用者可用的UUPON點
enableAiPoolInteger使用者可用的企業點
enablePointInteger使用者可用的賺
couponInteger使用者擁有的優惠卷總合
enableCouponInteger使用者可用的優惠卷總合

點數核銷 API(使用openId) -扣除UUPON點數

說明: 核銷點數為一次交易過程,會自動先從 企業點/集團點->商圈點->UUPON點,等過程

扣點,進行核銷,企業點不足扣商圈點,商圈點不足最後扣UUPON點

API路徑: https://lab.uupon.com/api/transaction/v1/tenant/exchange\_by\_id

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
orderTypeString交易訂單類型
descriptionString交易描述訊息
outTradeNoString外部交易ID(由外部交易平臺產生,不得重複)
idString企業下的openId
attachString附加資訊
pointString欲核銷的點數數量
districtIdString商圈ID

回應參數值

欄位名稱資料類型欄位說明
resultString1代表成功
-1 代表失敗代表失敗
pointString成功核銷點數數量

    
    
    
  {
["data"]=>
array
(3) {
["result"]=>
int
(1)
["point"]=>
int
(3)
["tradeId"]=>
string
(24) "OBJECT_ID_PLACEHOLDER"
}
["code"]=>
int
(1000)
["message"]=>
string
(6) "成功"
["subCode"]=>
string
(10) "AP.SUCCESS"
}

取消點數核銷 API(使用openId方式)

說明: 根據核銷的交易紀錄進行反向返點,若交易大於七日則不允許取消

取消核銷會引發企業點數返還給會員,因此有可能導致企業可使用點數為負,

負值超過一定數值則不能再發送點數API路徑:

https://lab.uupon.com/api/transaction/v1/tenant/exchange/cancel

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idString企業下的OpenId
tradeIdString欲取消的交易ID(透過累點成功後系統回傳的Id參數)
reasonString取消的原因
fromSystemString來源系統
fromDeviceString來源裝置
fromInfoString附帶資訊

範例:


    
    
    
  {
"id"
: "OBJECT_ID_PLACEHOLDER",
"bizId"
: "LONG_ID_PLACEHOLDER",
"reason"
: "取消核銷",
"fromSystem"
: "API",
"fromDevice"
: "API",
"fromInfo"
: "API"
}

回應參數值

欄位名稱資料類型欄位說明
resultString1代表成功
-1 代表失敗代表失敗
pointString成功核銷點數數量
tradeString交易Id

範例:


    
    
    
  {
"data"
: {
"result"
: 1,
"point"
: 6,
"tradeId"
: "LONG_ID_PLACEHOLDER"
}
,
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"
}

查詢使用者在所有企業下的點數總覽

API路徑: https://lab.uupon.com/api/tenant/v2/user/info

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idStringopenID(使用者的openId)

回應參數值

欄位名稱資料類型欄位說明
nameString使用者名稱
openIdString本企業下的openId
tenantPointobject使用者擁有的企業點數總覽
districtPointsobject[]使用者擁有的商圈下點數總覽
uuponPointsobject使用者可用的UUPON點數總覽

    
    
    
  array(4) {
["data"]=>
array
(4) {
["name"]=>
string
(6) "api_test"
["openId"]=>
string
(24) "OBJECT_ID_PLACEHOLDER"
["tenantPoint"]=>
array
(11) {
["tenantId"]=>
string
(19) "LONG_ID_PLACEHOLDER"
["tenantCode"]=>
string
(8) "83119052"
["tenantName"]=>
string
(14) "SP超級點數"
["name"]=>
string
(6) "api_test"
["aiCoin"]=>
int
(0)
["aiPool"]=>
int
(0)
["point"]=>
int
(0)
["enableAiCoin"]=>
int
(0)
["enableAiPool"]=>
int
(0)
["enablePoint"]=>
int
(0)
["enableCoupon"]=>
int
(0)
}
["uuponPoint"]=>
array
(6) {
["tenantId"]=>
string
(19) "LONG_ID_PLACEHOLDER"
["tenantCode"]=>
string
(14) "000-000-000002"
["tenantName"]=>
string
(12) "點鑽企業"
["name"]=>
string
(6) "api_test"
["aiCoin"]=>
int
(10)
["enableAiCoin"]=>
int
(10)
}
}
["code"]=>
int
(1000)
["message"]=>
string
(6) "成功"
["subCode"]=>
string
(10) "AP.SUCCESS"
}

查詢企業下的可用點數

API路徑: https://lab.uupon.com/api/tenant/v1/tenant/info

Method: POST

請求參數名稱

欄位名稱資料類型是否必填欄位說明
idStringopenID(使用者的openId)

回應參數值

欄位名稱資料類型欄位說明
tenantIdString企業ID
tenantCodeString企業編碼
tenantNameString企業名稱
locationobject[]企業座標(可顯示在地圖上)
aiCoinint企業可用的UUPON點數總和
aiPoolint企業可用的企業點數總和

查詢使用者企業點數明細

API路徑: https://lab.uupon.com/api/tenant/v1/user/detial

Method: POST

請求參數名稱

欄位名稱資料類型必填欄位說明
idStringopenID(使用者的openId)
pageIndexInteger當前索引,從0開始
pageSizeInteger返回資料列大小,最小值1,最大值20,默認為20
pointTypeInteger查詢的點數類別
0:賺
1:點
2:激勵賺

回應參數值

欄位名稱資料類型欄位說明
pageIndexInteger當前索引,從0開始
pageSizeInteger返回資料列大小
totalPageInteger總頁數
totalLong總資料量
listT當前資料列表
hasNextPageBoolean是否存在下一頁

T 內欄位

欄位名稱資料類型欄位說明
pointint紀錄的點數
startTimelong生效時間 (時間戳-毫秒)
expireTimelong失效時間 (時間戳-毫秒)
reasonString紀錄的原因
reasonCodeString紀錄的原因代碼(若空,不顯示)
fromSystemString來源系統(若空,不顯示)
fromDeviceString來源裝置(若空,不顯示)
fromInfoString來源資訊(若空,不顯示)
limitInfoLimitInfo[]限制範圍,若為空則無限制
couponIdString優惠券碼(查詢[賺]返回)
couponNameString優惠券名稱(查詢[賺]返回)
flagNameString激勵賺名稱(查詢[激勵賺]返回)
flagCodeString激勵卡編號(查詢[激勵賺]返回)

取消累點 (取消企業專用點數累點)

測試API路徑: https://lab.uupon.com/api/tenant/v1/user/point/increase/cancel

正式API路徑:https://prod.uupon.com/api/tenant/v1/user/point/increase/cancel

Method: POST

說明: 取消一次累點

限制: 1.對應的累點點數沒有被使用或者點數未達生效時間

2.已經發送的UUPON點數,無法被取消

請求參數名稱

欄位名稱資料類型必填欄位說明
idStringopenID(使用者的openId)
bizIdString累點成功時,系統返回Id
reasonString原因
reasonCodeString原因代碼
fromSystemString來源系統
fromDeviceString來源設備
fromInfoString來源原因

回應參數值

欄位名稱資料類型欄位說明
idString對應的交易紀錄Id
tenantIdString企業租戶ID
tenantCodeString企業編碼
openIdString用戶的openId
nameString用戶名稱
aiCoinInteger用戶的UUPON點,若非點鑽應用,該欄位為0
aiPoolInteger用戶的企業點數總和
pointInteger用戶的賺數總和
couponInteger用戶的卷張數總和
enableAiCoinInteger可用的UUPON點數總和
enableAiPoolInteger可用的企業點數總合
enablePointInteger可用的賺數總和
enableCouponInteger可用的卷數總和

取消兌點 (取消兌點)

API路徑: https://lab.uupon.com/api/tenant/v1/user/point/decrease/cancel

Method: POST

說明: 取消一次兌點

1.取消兌點時,若企業點數的有效期已經過期,將默認延長當前時間1小時的有效期

2.兌點紀錄的時間若已超過7天,則不允許取消

請求參數名稱

欄位名稱資料類型必填欄位說明
idStringopenID(使用者的openId)
bizIdString兌點成功時,系統返回Id
reasonString原因
reasonCodeString原因代碼
fromSystemString來源系統
fromDeviceString來源設備
fromInfoString來源原因

回應參數值

欄位名稱資料類型欄位說明
idString對應的交易紀錄Id
tenantIdString企業租戶ID
tenantCodeString企業編碼
openIdString用戶的openId
nameString用戶名稱
aiCoinInteger用戶的UUPON點,若非點鑽應用,該欄位為0
aiPoolInteger用戶的企業點數總和
pointInteger用戶的賺數總和
couponInteger用戶的卷張數總和
enableAiCoinInteger可用的UUPON點數總和
enableAiPoolInteger可用的企業點數總合
enablePointInteger可用的賺數總和
enableCouponInteger可用的卷數總和

帳號唯一碼查詢

API路徑: https://lab.uupon.com/api/tenant/v1/only/code

Method: POST

說明: 透過手機、企業外部ID、帳號ID、企業openId查詢,帳號ID、企業openId、

企業外部ID。

主要是應用在外部整合應用中,對於多租戶與點鑽生態帳號之間的關聯,在贈送會員UUPON

點數時,提供查詢功能給予企業針對自己應用流程進行判斷是否要幫用戶建立帳號

請求參數名稱

欄位名稱資料類型必填欄位說明
phoneString是 (四擇一)手機09XXXXX(不須帶+886)
accountIdString是 (四擇一)生態帳號ID
openIdString是 (四擇一)企業OpenId
uidString是 (四擇一)企業外部ID

    
    
    
  {
"phone"
: "PHONE_PLACEHOLDER",
"accountId"
: "",
"openId"
: "",
"uid"
: ""
}

回應參數值

欄位名稱資料類型欄位說明
phoneString手機號碼
accountIdString生態帳號ID,非Aile管理企業或點鑽企業均為flase
openIdString企業openId
uidString(外部) 企業匯入UID

response 1:UUPON帳號存在、企業帳號存在


    
    
    
  {
"data"
: {
"phone"
: "PHONE_PLACEHOLDER",
"accountId"
: true,
"openId"
: "OBJECT_ID_PLACEHOLDER",
"uid"
: "UID_PLACEHOLDER"
}
,
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"
}

response 2:UUPON帳號不存在、企業帳號不存在


    
    
    
  {
"data"
: null,
"code"
: 20000,
"message"
: "找不到對應帳號",
"subCode"
: "NO_ACCOUNT"
}

response 3:UUPON帳號存在、企業帳號不存在


    
    
    
  {
"data"
: {
"phone"
: "PHONE_PLACEHOLDER",
"accountId"
: true,
"openId"
: "",
"uid"
: ""
}
,
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"}

response 4:未提供任何參數


    
    
    
  {
"data"
: null,
"code"
: 20007,
"message"
: " 至少需要提供一個參數",
"subCode"
: "AT_LEAST_ONE_PARAMETER_REQUIRED"
}

(非點鑽企業)獲取發送之UUPON點數未生效列表

API 路徑: https://lab.uupon.com/admin/api/tenant/v1/user/inactive/points

Method: POST

說明: 透過企業下的用戶openId查詢,查詢企業發UUPON點未生效之點數列表

主要是應用在外部整合應用中,對於多租戶與點鑽生態帳號之間的關聯,在贈送會員UUPON

點數時,提供查詢功能給予企業針對自己發送出UUPON點數,未生效時的列表

請求參數名稱

欄位名稱資料類型必填欄位說明
idStringOpenId

Request:


    
    
    
  { "id": "OBJECT_ID_PLACEHOLDER" }

回應參數值

欄位名稱資料類型欄位說明
dataArray(Object{})數據結構
idstringBizId(交易編號)
pointinteger點數
startTimeinteger點數生效日期(時間戳到毫秒)
reasonstring贈點理由
createTimeinteger贈送點數日期(時間戳到毫秒)
codeintegerAPI回應值: 1000代表執行成功
messagestringAPI回應訊息
subCodestringAPI回應subCode

Reponse:


    
    
    
  {
"data"
: [
{

"id"
: "OBJECT_ID_PLACEHOLDER",
"point"
: 50,
"startTime"
: 1737302400637,
"reason"
: "API 測試",
"createTime"
: 1736911489058
}
,
{

"id"
: "OBJECT_ID_PLACEHOLDER",
"point"
: 50,
"startTime"
: 1737302400637,
"reason"
: "API 測試",
"createTime"
: 1736911494987
}
,
{

"id"
: "OBJECT_ID_PLACEHOLDER",
"point"
: 50,
"startTime"
: 1737302400637,
"reason"
: "API 測試",
"createTime"
: 1736911496254
}
,
{

"id"
: "OBJECT_ID_PLACEHOLDER",
"point"
: 50,
"startTime"
: 1737302400637,
"reason"
: "API 測試",
"createTime"
: 1736911497251
}

]
,
"code"
: 1000,
"message"
: "成功",
"subCode"
: "AP.SUCCESS"
}
錯誤碼說明
1000執行成功
2000服務不可用(系統異常)
2002傳入參數錯誤
6001userType範圍錯誤
6002手機號碼已被綁定
6003ID已經存在
6004ID類型不正確(帶入的ID非字串格式)
6005沒有找到對應的企業用戶
6006帳號不存在
7001APP狀態不正確
7002APP未達到啟用時間
7003拒絕存取,IP未授權
7004APP權限不足,不允許此API
7005APP類型不正確
7006
20000NO_ACCOUNT,找不到對應帳號
20007未輸入參數
20031用戶不存在