跳至主要内容

轉換追蹤 API

轉換追蹤 API(Conversion Tracking API)用於輔助企業精確衡量 OTP(One‑Time Password,一次性密碼)簡訊在用戶側的實際轉換情況。因為國際簡訊的送達回執常受到營運商和地區監管等多重因素影響,難以確保準確性,企業可透過本 API 即時回傳用戶是否已完成轉換(例如成功登入或驗證),以便 PaaSoo 更好地幫助您追蹤簡訊品質、最佳化通訊管道及提升用戶體驗。

1. 呼叫方式

呼叫方式
  • HTTP MethodPOST
  • Content-Typeapplication/json
  • 請求位址https://api.paasoo.com.tw/conversion

2. 使用場景及重要性

當發送 OTP 簡訊給用戶後,國際簡訊的回執資訊常常會出現延遲或不準確。企業可透過此 API 主動將用戶後續驗證的真實結果告知 PaaSoo(例如用戶在指定時間內輸入了正確驗證碼,說明簡訊確實轉換成功),從而:

  • 輔助品質管理:結合用戶的真實驗證動作,幫助判斷不同國家/地區、營運商或鏈路的實際表現;
  • 成本最佳化:發現轉換率偏低的鏈路並及時調整,降低整體成本;
  • 合作共贏PaaSoo 可基於真實轉換效果,持續最佳化簡訊發送品質與用戶體驗。

3. 請求範例

cURL
curl -X POST "https://api.paasoo.com.tw/conversion" \ 
-H "Content-Type: application/json" \
-d '{ "key": "Abcdefgh", "secret": "Abc123EF", "messageid": "015bd4-d6dfa7-58w", "conversionTime": "2022-02-22T01:00:01.000Z", "conversion": 1 }'

其中:

  • Content-Type 必須為 application/json
  • 請求體使用 JSON 格式,包含本 API 所需的欄位

4. 請求參數說明

參數類型必填描述範例
keystringAPI Key(字母或數字構成,共 8 位),用於唯一標識您的帳戶。可在 PaaSoo 用戶端後台取得。Abcdefgh
secretstringAPI Secret(字母或數字構成,共 8 位),與 key 配合使用以進行身分驗證。可在 PaaSoo 用戶端後台取得。Abc123EF
messageidstring簡訊 ID,每條簡訊記錄的唯一標識。企業可透過簡訊 API 取得該 ID。00018f-e4bf51-e002
conversionTimestring轉換時間,採用 ISO8601 標準時間(yyyy-MM-dd'T'HH:mm:ss.SSS'Z'),時區為 UTC+0。
預設為本次 API 請求到達伺服器的 UTC 時間。
2022-02-22T01:00:01.000Z
conversioninteger訊息的轉換狀態:
  • 0 - 轉換失敗;
  • 1 - 轉換成功
1

注意事項:

  • 轉換時間務必使用正確的 UTC 時區格式,否則系統可能產生時間差。
  • 由於此 API 透過 keysecret 進行認證,請務必在伺服器端呼叫並妥善保管憑證,避免在前端暴露。
  • 若您未能準確取得用戶操作時間,可選擇不傳遞 conversionTime,系統會自動記錄為伺服器接收請求的 UTC 時間。

5. 回應參數說明

轉換追蹤請求提交後,系統會返回相應的狀態碼以確認請求是否被成功接收處理。

參數類型描述範例
statusstring回應狀態。提交至 PaaSoo 雲通訊平台的回應狀態碼。
  • 0 - success:成功
  • 2 - Missing parameters:缺少必要參數
  • 3 - Invalid parameters:參數格式錯誤
  • 4 - Invalid credentials:Key或Secret錯誤
  • 11 - System error:系統錯誤
"0"
status_detailsstring狀態描述,用於說明錯誤原因或詳細資訊。Missing parameters

以下是常見返回結果範例:

5.1 成功範例

{ "status": "0", "status_details": "success"}

5.2 失敗範例

{ "status": "2", "status_details": "Missing parameters."}

6. 常見錯誤與排查

  • 2 - Missing parameters:檢查是否漏傳 keysecretmessageid 或其他必填欄位。
  • 3 - Invalid parameters:參數格式錯誤,如 conversion 傳入非數字、時間格式不符合 ISO8601 等。
  • 4 - Invalid credentials:API Key 或 API Secret 不匹配,請確認憑證的正確性。
  • 11 - System error:伺服器內部錯誤,如伺服器處理異常、無法解析請求等。若多次出現,請聯絡技術支援。

7. 程式碼範例

以下範例展示如何使用常見語言呼叫本 API:

import requests

# API 介面端點
url = "https://api.paasoo.com.tw/conversion"

# 請求負載 (Payload)
payload = {
"key": "API_KEY", # 替換為您的 API Key
"secret": "API_SECRET", # 替換為您的 API Secret
"messageid": "015bd4-d6dfa7-58w", # 來自簡訊 API 的 Message ID
"conversionTime": "2022-02-22T01:00:01.000Z", # 選填:ISO8601 格式的 UTC 時間
"conversion": 1 # 1 表示成功,0 表示失敗
}

# 請求標頭
headers = {
"Content-Type": "application/json"
}

try:
# 發送 HTTP POST 請求
response = requests.post(url, json=payload, headers=headers)
response.raise_for_status()

# 解析並列印 JSON 回應
data = response.json()
if data.get("status") == "0":
print("轉換報告成功:", data.get("status_details"))
else:
print(f"報告失敗,status: {data.get('status')}, details: {data.get('status_details')}")

except requests.exceptions.RequestException as e:
print(f"請求失敗: {e}")

注意:以上程式碼參數均為範例,需替換為您真實的參數值。

只要支援 HTTP/HTTPS 並能發送 JSON 格式請求的語言或框架都可輕鬆對接該 API。按照相同的請求方式(POST + Content-Type: application/json)提交相應參數即可。


8. 最佳實踐及注意事項

  1. 安全管理
    • 切勿在用戶端(例如前端瀏覽器、行動 App 的前端邏輯)暴露 API Key 和 API Secret;請在後端伺服器呼叫。
  2. 資料有效性
    • 確保 messageid 與簡訊發送時所返回的 ID 一致,以便準確建立轉換關聯。
  3. 時間格式
    • 盡量使用 ISO8601 標準時間格式,並保證是 UTC+0 時區。
  4. 準確及時
    • 若您的系統只能在用戶成功或失敗後某段時間上報,可記錄本地時間並傳入 conversionTime。報告越及時,對簡訊品質分析幫助越大。
  5. 批次更新
    • 若在高併發環境下需要上報海量轉換資訊,請合理規劃介面呼叫頻率,並與 PaaSoo 協商是否需要額外頻寬或更高併發能力。

9. 常見問題(FAQ)

假如無法取得用戶操作的準確時間怎麼辦?
  • 您可以選擇不傳遞 conversionTime 欄位,系統將以請求到達時間作為轉換時間。
如果我一次性有大量轉換記錄需要彙報,會不會導致超時?
  • 建議分批次調度,確保網路與伺服器穩定性。如需大規模併發支援,可聯絡 PaaSoo 以協商解決方案。
上報轉換後,PaaSoo 會如何處理這些資料?
  • PaaSoo 將對這些資料進行聚合和分析,幫助您最佳化簡訊通訊通道和成本,也可將其納入統計報表。
conversion 可否包含更多狀態?
  • 目前僅區分成功(1)與失敗(0)。如有更細化需求,可與 PaaSoo 支援團隊溝通。
如何與簡訊 API 中的 messageid 做關聯?
  • messageid 與簡訊 API 返回的 ID 一致,即可完成一一對應的關聯。請在發送簡訊時妥善保留回應中的 messageid
技術支援

如在 API 對接過程中遇到任何技術問題或業務疑問,歡迎隨時聯絡我們的開發者支援團隊:support@paasoo.com。我們將竭誠為您提供技術協助。