NAV Navbar
shell PHP

簡介

歡迎來到 OwlPay API 入口網站!

OwlPay API 遵循 REST 的設計規範。

為了不影響真實的支付資料以及與銀行間的互動,OwlPay API 提供測試模式來模擬支付流程的。

我們會根據不同的 API key 來決定開發者的使用環境是「正式模式」或「測試模式」

API Hosts: https://api.owlpay.com

OwlPay: https://www.owlpay.com
OwlPay for Platform: https://dashboard.owlpay.com

第 1 步. 應用程式透過 Create a vendor API 建立供應商
第 2 步. 用第 1 步建立的供應商,應用程式透過 Create a order API 建立供應商訂單
第 3 步. 應用程式 (1) 透過 Apply a vendor remit info API 替供應商申請 KYC/AML 審核 (2) 透過 Create a vendor invite API 邀請供應商到 OwlPay 自行填寫
第 4 步. OwlPay 確認訂單是否允許申請對帳
  1. 若無法申請對帳,應用程式必須更新訂單資訊(無法申請對帳的原因,例如訂單被設置了可申請對帳時間)
  2. 若可以申請對帳,前往第 5 步
第 5 步. 應用程式申請付款
第 6 步. OwlPay 基於應用程式設置的付款途徑進行付款

Authentication

Authenticated request example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders \ 
-u <application_secret>:

OwlPay API 使用金鑰來驗證每個請求

OwlPay 的開發者/金鑰 你可以查看及管理您的應用程式 API Key,開發模式的金鑰前綴會是 pk_test_,正式模式的金鑰pk_live_。

您的金鑰可以使用於在 OwlPay 上的多數功能,請確保它的儲存安全性並勿分享於公開可被存取的地方(例如 GitHub、客戶端程式碼...等)

您需透過 Bearer 的方式於進行認證 (例如跨網域的請求),請使用 -H 'Authorization: Bearer pk_test_2Wv9xZ....guTPiJ' 代替 -u pk_test_2Wv9xZ....guTPiJ.

請留意:
 • 所有的 API 請求均須通過 HTTPS,若使用 http 的請求即會失敗
 • 受金鑰保護的路由請求若無使用金鑰,也會失敗

Errors

Http status code summary

200 - OK Everything worked as expected.
400 - Bad Request The request was unacceptable, often due to missing a required parameter.
401 - Unauthorized No valid API key provided.
402 - Request Failed The parameters were valid but the request failed.
403 - Forbidden The API key doesn't have permissions to perform the request.
404 - Not Found The requested resource doesn't exist.
409 - Conflict The request conflicts with another request (perhaps due to using the same idempotent key).
429 - Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 - Server Errors Something went wrong on OwlPay's end. (These are rare.)

Error types

unknowns_error unknowns_error
server_error server_error
unauthorized unauthorized
order_error order_error
order_transfer_error order_transfer_error
guard_auth_forbidden guard_auth_forbidden
data_not_found data_not_found
invite_fail invite_fail
2fa_error 2fa_error
2fa_recovery_code_exist 2fa_recovery_code_exist
2fa_recovery_code_incorrect 2fa_recovery_code_incorrect
data_is_lock data_is_lock

OwlPay uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter missing, a payout failed, etc.). Codes in the 5xx range indicate an error with OwlPay's servers.

Attributes

type

The type of error retruned.

One of unknowns_error, server_error, unauthorized, order_error, order_transfer_error, guard_auth_forbidden, data_not_found, invite_fail, 2fa_error, 2fa_recovery_code_exist, 2fa_recovery_code_incorrect, data_is_lock,

message

The description of error retruned.

More attributes

Metadata

curl https://api.owlpay.com/api/v1/platform/tunnel/orders \ 
-u <application_secret>: \
-d order_serial=OBExxxooo1234 \ 
-d currency=USD \
-d total=100 \
-d "meta_data[order_id]"=9527

Response Example

{
    "data": {
        "order_status": "owlpay.received_order",
        "status": "owlpay.received_order",
        "order_serial": "OBExxxooo1234",
        "application_order_serial": "OBExxxooo1234",
        "currency": "TWD",
        "total": 10000,
        "is_paid": false,
        "order_created_at": "2021-01-27T04:24:50+00:00",
        "paid_time_at": null,
        "notified_time_at": "2021-01-27T04:24:50+00:00",
        "vendor_uuid": "ven_VELSI1wQ6ipP8BJU4NZxFp5",
        "vendor_name": "",
        "customer_vendor_uuid": null,
        "is_transferred": false,
        "meta_data": [
            {
                "order_id": "6735"
            }
        ],
        "events": [
            {
                "type": "order_receive",
                "block_number": null,
                "transaction_hash": null,
                "created_at": "2021-01-27T04:24:50+00:00"
            }
        ],
        "order_token": "ord_f4cf770962550535fe3cae03b575fb20ee8951449261957e9aa5f9590b5fc699",
        "description": null,
        "logs": []
    },
    "status": 200
}

透過更新 OwlPay 物件的 metadata 參數為你的 訂單, 供應商, 提領 添加更多資訊。
透過參數的方式,附加 Key-Value 資料給 OwlPay 物件。
有些物件可以支援 description 參數, 你可以使用 description 參數來添加敘述,
(**description**用於添加有助於理解的資訊。例如 某旅館訂單 2021-01-01 ~ 2021-01-15
不同於 metadatadescription 只能是單個字串,而 metadata 則可替你的物件添加豐富的資訊。

另外,請不要於 description 添加敏感資訊 (例如: 信用卡資訊)。

Sample metadata use cases

識別碼
附加一些關於你的系統識別碼, 這將會方便你在 OwlPay 上辨識及查詢資料

訂單細節
附加一些訂單細節資訊在訂單,讓你的對帳更加順暢

Order Extra

The order extra object

Attributes

Order transfer Status description
uuid order extra 識別碼
extra_rule_uuid extra rule 識別碼
order_uuid 訂單識別碼
order_serial 來自於 Application (您的系統) 的訂單編號
type order extra 種類 - 金額或比例 (price/percent)
name order extra 名稱
value order extra 原始數值
amount order extra 金額
inclusive 訂單金額是否包含 order extra
currency order extra 幣別

FormData

Parameter Type Default Required Description
type string order extra 種類 - 金額或比例 (price/percent)
name string order extra 名稱
value string type 為 price 時帶入金額, percent 帶入比例
inclusive bool 是否包含 order extra (內含或外加)

Pagination

Response Example

{
    "data": [
        {
            "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "object": "order",
            "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "status": "owlpay.order_unconfirmed",
            "status_group": "submit",
            "is_checked": false,
            "is_allow_transfer": false,
            "is_allow_close": false,
            "is_allow_confirmed": false,
            "is_allow_correction": false,
            "deny_transfer_reasons": [],
            "order_serial": "ORD20220101010101001",
            "application_order_serial": "ORD20220101010101001",
            "application_order_created_at": "2022-04-07T16:27:41+00:00",
            "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
            "last_reject_transfer_reason": null,
            "is_rejected": false,
            "currency": "TWD",
            "total": 100012,
            "original_total": 100012,
            "display_currency": "TWD",
            "created_at": "2022-04-07T16:27:41+00:00",
            "updated_at": "2022-04-07T16:40:45+00:00",
            "vendor_uuid": "ven_xxxxxxxxxxx",
            "vendor_name": "Your Vendor Name",
            "application_vendor_uuid": "0001",
            "is_vendor_kyc_passed": true,
            "description": null,
            "meta_data": {},
            "status_logs": [
                {
                    "name": "Incomplete reconciliation",
                    "is_current": false,
                    "updated_time_at": "2022-04-07T16:27:41+00:00"
                },
                {
                    "name": "Pending for approval",
                    "is_current": true,
                    "updated_time_at": "2022-04-07T16:40:45+00:00"
                },
                {
                    "name": "Approved",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Pending for payment",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Paid successfully",
                    "is_current": false,
                    "updated_time_at": null
                }
            ],
            "order_extras": {
                "inclusive": {
                    "total": 0,
                    "items": []
                },
                "exclusive": {
                    "total": 0,
                    "items": []
                }
            },
            "closed_transfer_reason": null,
            "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
            "accounting_uuid": null,
            "vendor_status": "approved",
            "is_has_need_correction": false,
            "import_uuid": null,
            "is_from_import": false
        },
        {...},
        {...},
    ],
    "status": 200,
    "pagination": {
        "total": 65,
        "count": 12,
        "perPage": 12,
        "currentPage": 1,
        "totalPages": 6,
        "links": {
            "next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
        }
    }
}

These list API methods share a common structure, taking at least these three parameters: limit, page.

Our client libraries offer Auto-pagination helpers to easily traverse all pages of a list.

Parameters

Parameter Description
limit A limit on the number of objects to be returned(default 12).
page page

List Response Format

Parameter Description
total A limit on the number of objects to be returned, between 1 and 100. default return 12 items.
count current page items count.
perPage per page items count.
currenctPage currenct page.
totalPages total pages count.
links return next or prev links when they exist.

CORE RESOURCES

Order

The order object

Response Example

{
    "data": {
        "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "object": "order",
        "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "status": "owlpay.order_unconfirmed",
        "status_group": "submit",
        "is_checked": false,
        "is_allow_transfer": false,
        "is_allow_close": false,
        "is_allow_confirmed": false,
        "is_allow_correction": false,
        "deny_transfer_reasons": [],
        "order_serial": "ORD20220101010101001",
        "application_order_serial": "ORD20220101010101001",
        "application_order_created_at": "2022-04-07T16:27:41+00:00",
        "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
        "last_reject_transfer_reason": null,
        "is_rejected": false,
        "currency": "TWD",
        "total": 100012,
        "original_total": 100012,
        "display_currency": "TWD",
        "created_at": "2022-04-07T16:27:41+00:00",
        "updated_at": "2022-04-07T16:40:45+00:00",
        "vendor_uuid": "ven_xxxxxxxxxxx",
        "vendor_name": "Your Vendor Name",
        "application_vendor_uuid": "0001",
        "is_vendor_kyc_passed": true,
        "description": null,
        "meta_data": {},
        "status_logs": [
            {
                "name": "Incomplete reconciliation",
                "is_current": false,
                "updated_time_at": "2022-04-07T16:27:41+00:00"
            },
            {
                "name": "Pending for approval",
                "is_current": true,
                "updated_time_at": "2022-04-07T16:40:45+00:00"
            },
            {
                "name": "Approved",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Pending for payment",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Paid successfully",
                "is_current": false,
                "updated_time_at": null
            }
        ],
        "order_extras": {
            "inclusive": {
                "total": 0,
                "items": []
            },
            "exclusive": {
                "total": 0,
                "items": []
            }
        },
        "closed_transfer_reason": null,
        "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
        "accounting_uuid": null,
        "vendor_status": "approved",
        "is_has_need_correction": false,
        "import_uuid": null,
        "is_from_import": false
    },
    "status": 200
}

Attributes

Parameter Type Description
order_token string 訂單於 OwlPay 識別碼 (同 uuid)
object string 物件名稱
uuid string 訂單識別碼
status string 訂單狀態
is_checked boolean 是否已完成審核
order_serial string 訂單於 Application 的訂單編號 (同 application_order_serial)
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
last_reject_transfer_reason string 訂單最後被審核駁回的原因
is_rejected boolean 是否已被駁回
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
original_total decimal 原始訂單金額
display_currency string Application 預設顯示幣別
created_at datetime 訂單於 OwlPay 上建立時間
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼
description string 訂單敘述
meta_data array Key-Value 資料 (ref: Meta Data)
order_extras array 訂單額外費用明細 (ref: Order Extra)

Order Status

Order Status description
owlpay.received_order OwlPay 收到訂單
platform.order_cancelled Application 訂單取消
vendor.order_unconfirmed Application 發起申請對帳確認(order_transfer)給 Vendor
platform.order_unconfirmed Vendor 發起對帳確認(order_transfer)給 Application
owlpay.order_confirmed 對帳單已確認 (有可能是審核通過或審核駁回,要看 Order Object 中的 is_reject 是否為 True)
owlpay.order_rejected 對帳申請已被駁回
owlpay.order_settled OwlPay 已結清此訂單
bank.transfer_start 付款 (銀行端) 交易開始
bank.transfer_end 付款 (銀行端) 交易結束

List all order status

PROTECTget

https://api.owlpay.com/api/v1/platform/tunnel/orders/status

{
    "data": [
        {
            "name": "owlpay.received_order",
            "description": "已匯入"
        },
        {
            "name": "platform.order_cancelled",
            "description": "已取消"
        },
        {
            "name": "vendor.order_unconfirmed",
            "description": "已申請對帳"
        }pu,
        {
            "name": "platform.order_unconfirmed",
            "description": "供應商對帳確認中"
        },
        {
            "name": "owlpay.order_confirmed",
            "description": "雙方已確認對帳"
        },
        {
            "name": "bank.transfer_start",
            "description": "銀行交易處理中"
        },
        {
            "name": "bank.transfer_end",
            "description": "銀行交易完成"
        },
        {
            "name": "dest_bank.validated",
            "description": "銀行款項已確認"
        },
        {
            "name": "owlpay.order_settled",
            "description": "已結清"
        }
    ],
    "status": 200
}

Meta Query

Parameter Type Default Description
lang string en support lang (en, ja, zh_tw, vi, th)
Order Status description
owlpay.received_order OwlPay 收到訂單
platform.order_cancelled Application 訂單取消
vendor.order_unconfirmed Application 發起申請對帳確認(order_transfer)給 Vendor
platform.order_unconfirmed Vendor 發起對帳確認(order_transfer)給 Application
owlpay.order_confirmed 對帳單已確認 (有可能是審核通過或審核駁回,要看 Order Object 中的 is_reject 是否為 True)
owlpay.order_rejected 對帳申請已被駁回
owlpay.order_settled OwlPay 已結清此訂單
bank.transfer_start 付款 (銀行端) 交易開始
bank.transfer_end 付款 (銀行端) 交易結束

Create a order

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
  -u <application_secret>: \
  -d order_serial="OPY12345678" \
  -d currency='TWD' \
  -d total=10000 \
  -d vendor_uuid=<vendor_uuid> \ 
  -d "meta_data[order_id]"=9527

Response Example

{
    "data": {
        "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "object": "order",
        "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "status": "owlpay.order_unconfirmed",
        "status_group": "submit",
        "is_checked": false,
        "is_allow_transfer": false,
        "is_allow_close": false,
        "is_allow_confirmed": false,
        "is_allow_correction": false,
        "deny_transfer_reasons": [],
        "order_serial": "ORD20220101010101001",
        "application_order_serial": "ORD20220101010101001",
        "application_order_created_at": "2022-04-07T16:27:41+00:00",
        "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
        "last_reject_transfer_reason": null,
        "is_rejected": false,
        "currency": "TWD",
        "total": 100012,
        "original_total": 100012,
        "display_currency": "TWD",
        "created_at": "2022-04-07T16:27:41+00:00",
        "updated_at": "2022-04-07T16:40:45+00:00",
        "vendor_uuid": "ven_xxxxxxxxxxx",
        "vendor_name": "Your Vendor Name",
        "application_vendor_uuid": "0001",
        "is_vendor_kyc_passed": true,
        "description": null,
        "meta_data": {},
        "status_logs": [
            {
                "name": "Incomplete reconciliation",
                "is_current": false,
                "updated_time_at": "2022-04-07T16:27:41+00:00"
            },
            {
                "name": "Pending for approval",
                "is_current": true,
                "updated_time_at": "2022-04-07T16:40:45+00:00"
            },
            {
                "name": "Approved",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Pending for payment",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Paid successfully",
                "is_current": false,
                "updated_time_at": null
            }
        ],
        "order_extras": {
            "inclusive": {
                "total": 0,
                "items": []
            },
            "exclusive": {
                "total": 0,
                "items": []
            }
        },
        "closed_transfer_reason": null,
        "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
        "accounting_uuid": null,
        "vendor_status": "approved",
        "is_has_need_correction": false,
        "import_uuid": null,
        "is_from_import": false
    },
    "status": 200
}

PROTECTpost

https://api.owlpay.com/api/v1/platform/tunnel/orders

FormData

Parameter Type Default Required Description
currency string 幣別遵循 ISO currency Code (請使用大寫英文)
total decimal 訂單於 Application 的訂單金額(OwlPay 付款給供應商的金額)
application_order_uuid string 訂單於 Application 的訂單編號
is_force_create boolean false 若傳入 True,即使訂單號碼已存在 OwlPay,也會強制建立一筆新的訂單
description string 訂單敘述
vendor_uuid string 供應商於 OwlPay 的識別碼 (ven_),用於更新
application_vendor_uuid string 供應商於 Application 自訂的識別碼 (必填,與 vendor_uuid 擇一填寫)
order_created_at datetime 訂單於 Application 建立的時間,時間格式為 W3C 格式 YYYY-MM-DDThh:mm:ssTZD (例如 1997-07-16T19:20:30+01:00)
allow_transfer_time_at datetime 訂單可申請對帳的時間
meta_data array Key-Value 資料 (ref: Meta Data)
order_extras array 訂單額外費用明細 (ref: Order Extra)

Response

Parameter Type Description
order_token string 訂單於 OwlPay 識別碼 (同 uuid)
object string 物件名稱
uuid string 訂單識別碼
status string 訂單狀態
is_checked boolean 是否已完成審核
order_serial string 訂單於 Application 的訂單編號 (同 application_order_serial)
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
last_reject_transfer_reason string 訂單最後被審核駁回的原因
is_rejected boolean 是否已被駁回
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
original_total decimal 原始訂單金額
display_currency string Application 預設顯示幣別
created_at datetime 訂單於 OwlPay 上建立時間
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼
description string 訂單敘述
meta_data array Key-Value 資料 (ref: Meta Data)
order_extras array 訂單額外費用明細 (ref: Order Extra)

Create orders (batch)

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders/batch \
  -u <application_secret>: \
  -d "orders[0][vendor_uuid]"=<vendor_uuid> \ 
  -d "orders[0][order_serial]"="OPY12345678" \
  -d "orders[0][currency]"="TWD" \
  -d "orders[0][total]"=10000 \
  -d "orders[0][meta_data][order_id]"=9527

Response Example

{
    "data": [
        {
            "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "object": "order",
            "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "status": "owlpay.order_unconfirmed",
            "status_group": "submit",
            "is_checked": false,
            "is_allow_transfer": false,
            "is_allow_close": false,
            "is_allow_confirmed": false,
            "is_allow_correction": false,
            "deny_transfer_reasons": [],
            "order_serial": "ORD20220101010101001",
            "application_order_serial": "ORD20220101010101001",
            "application_order_created_at": "2022-04-07T16:27:41+00:00",
            "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
            "last_reject_transfer_reason": null,
            "is_rejected": false,
            "currency": "TWD",
            "total": 100012,
            "original_total": 100012,
            "display_currency": "TWD",
            "created_at": "2022-04-07T16:27:41+00:00",
            "updated_at": "2022-04-07T16:40:45+00:00",
            "vendor_uuid": "ven_xxxxxxxxxxx",
            "vendor_name": "Your Vendor Name",
            "application_vendor_uuid": "0001",
            "is_vendor_kyc_passed": true,
            "description": null,
            "meta_data": {},
            "status_logs": [
                {
                    "name": "Incomplete reconciliation",
                    "is_current": false,
                    "updated_time_at": "2022-04-07T16:27:41+00:00"
                },
                {
                    "name": "Pending for approval",
                    "is_current": true,
                    "updated_time_at": "2022-04-07T16:40:45+00:00"
                },
                {
                    "name": "Approved",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Pending for payment",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Paid successfully",
                    "is_current": false,
                    "updated_time_at": null
                }
            ],
            "order_extras": {
                "inclusive": {
                    "total": 0,
                    "items": []
                },
                "exclusive": {
                    "total": 0,
                    "items": []
                }
            },
            "closed_transfer_reason": null,
            "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
            "accounting_uuid": null,
            "vendor_status": "approved",
            "is_has_need_correction": false,
            "import_uuid": null,
            "is_from_import": false
        },
        {...},
        {...},
    ],
    "status": 200,
    "pagination": {
        "total": 65,
        "count": 12,
        "perPage": 12,
        "currentPage": 1,
        "totalPages": 6,
        "links": {
            "next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
        }
    }
}

PROTECTpost

https://api.owlpay.com/api/v1/platform/tunnel/orders/batch

FormData

Parameter Type Default Required Description
currency string 幣別遵循 ISO currency Code (請使用大寫英文)
total decimal 訂單於 Application 的訂單金額(OwlPay 付款給供應商的金額)
application_order_uuid string 訂單於 Application 的訂單編號
is_force_create boolean false 若傳入 True,即使訂單號碼已存在 OwlPay,也會強制建立一筆新的訂單
description string 訂單敘述
vendor_uuid string 供應商於 OwlPay 的識別碼 (ven_),用於更新
application_vendor_uuid string 供應商於 Application 自訂的識別碼 (必填,與 vendor_uuid 擇一填寫)
order_created_at datetime 訂單於 Application 建立的時間,時間格式為 W3C 格式 YYYY-MM-DDThh:mm:ssTZD (例如 1997-07-16T19:20:30+01:00)
allow_transfer_time_at datetime 訂單可申請對帳的時間
meta_data array Key-Value 資料 (ref: Meta Data)
order_extras array 訂單額外費用明細 (ref: Order Extra)

Response

Parameter Type Description
uuid string 訂單識別碼
object string 物件名稱
status string 訂單狀態
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
created_at datetime 訂單於 OwlPay 上建立時間
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼

Retrieve a order

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders/{order_uuid} \
  -u <application_secret>:

Response Example

{
    "data": {
        "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "object": "order",
        "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
        "status": "owlpay.order_unconfirmed",
        "status_group": "submit",
        "is_checked": false,
        "is_allow_transfer": false,
        "is_allow_close": false,
        "is_allow_confirmed": false,
        "is_allow_correction": false,
        "deny_transfer_reasons": [],
        "order_serial": "ORD20220101010101001",
        "application_order_serial": "ORD20220101010101001",
        "application_order_created_at": "2022-04-07T16:27:41+00:00",
        "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
        "last_reject_transfer_reason": null,
        "is_rejected": false,
        "currency": "TWD",
        "total": 100012,
        "original_total": 100012,
        "display_currency": "TWD",
        "created_at": "2022-04-07T16:27:41+00:00",
        "updated_at": "2022-04-07T16:40:45+00:00",
        "vendor_uuid": "ven_xxxxxxxxxxx",
        "vendor_name": "Your Vendor Name",
        "application_vendor_uuid": "0001",
        "is_vendor_kyc_passed": true,
        "description": null,
        "meta_data": {},
        "status_logs": [
            {
                "name": "Incomplete reconciliation",
                "is_current": false,
                "updated_time_at": "2022-04-07T16:27:41+00:00"
            },
            {
                "name": "Pending for approval",
                "is_current": true,
                "updated_time_at": "2022-04-07T16:40:45+00:00"
            },
            {
                "name": "Approved",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Pending for payment",
                "is_current": false,
                "updated_time_at": null
            },
            {
                "name": "Paid successfully",
                "is_current": false,
                "updated_time_at": null
            }
        ],
        "order_extras": {
            "inclusive": {
                "total": 0,
                "items": []
            },
            "exclusive": {
                "total": 0,
                "items": []
            }
        },
        "closed_transfer_reason": null,
        "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
        "accounting_uuid": null,
        "vendor_status": "approved",
        "is_has_need_correction": false,
        "import_uuid": null,
        "is_from_import": false
    },
    "status": 200
}

PROTECTget

https://api.owlpay.com/api/v1/platform/tunnel/orders/{order_uuid}

Response

Parameter Type Description
order_token string 訂單於 OwlPay 識別碼 (同 uuid)
object string 物件名稱
uuid string 訂單識別碼
status string 訂單狀態
is_checked boolean 是否已完成審核
order_serial string 訂單於 Application 的訂單編號 (同 application_order_serial)
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
last_reject_transfer_reason string 訂單最後被審核駁回的原因
is_rejected boolean 是否已被駁回
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
original_total decimal 原始訂單金額
display_currency string Application 預設顯示幣別
created_at datetime 訂單於 OwlPay 上建立時間
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼
description string 訂單敘述
meta_data array Key-Value 資料 (ref: Meta Data)
order_extras array 訂單額外費用明細 (ref: Order Extra)

Cancel orders

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
  -u <application_secret>: \
  -d "order_uuids[]=OPY12343210001" \
  -d "order_uuids[]=OPY12343210002"

Response Example

{
    "data": [
        {
            "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "object": "order",
            "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "status": "owlpay.order_unconfirmed",
            "status_group": "submit",
            "is_checked": false,
            "is_allow_transfer": false,
            "is_allow_close": false,
            "is_allow_confirmed": false,
            "is_allow_correction": false,
            "deny_transfer_reasons": [],
            "order_serial": "ORD20220101010101001",
            "application_order_serial": "ORD20220101010101001",
            "application_order_created_at": "2022-04-07T16:27:41+00:00",
            "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
            "last_reject_transfer_reason": null,
            "is_rejected": false,
            "currency": "TWD",
            "total": 100012,
            "original_total": 100012,
            "display_currency": "TWD",
            "created_at": "2022-04-07T16:27:41+00:00",
            "updated_at": "2022-04-07T16:40:45+00:00",
            "vendor_uuid": "ven_xxxxxxxxxxx",
            "vendor_name": "Your Vendor Name",
            "application_vendor_uuid": "0001",
            "is_vendor_kyc_passed": true,
            "description": null,
            "meta_data": {},
            "status_logs": [
                {
                    "name": "Incomplete reconciliation",
                    "is_current": false,
                    "updated_time_at": "2022-04-07T16:27:41+00:00"
                },
                {
                    "name": "Pending for approval",
                    "is_current": true,
                    "updated_time_at": "2022-04-07T16:40:45+00:00"
                },
                {
                    "name": "Approved",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Pending for payment",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Paid successfully",
                    "is_current": false,
                    "updated_time_at": null
                }
            ],
            "order_extras": {
                "inclusive": {
                    "total": 0,
                    "items": []
                },
                "exclusive": {
                    "total": 0,
                    "items": []
                }
            },
            "closed_transfer_reason": null,
            "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
            "accounting_uuid": null,
            "vendor_status": "approved",
            "is_has_need_correction": false,
            "import_uuid": null,
            "is_from_import": false
        },
        {...},
        {...},
    ],
    "status": 200,
    "pagination": {
        "total": 65,
        "count": 12,
        "perPage": 12,
        "currentPage": 1,
        "totalPages": 6,
        "links": {
            "next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
        }
    }
}

PROTECTput

https://api.owlpay.com/api/v1/platform/tunnel/orders/cancel

FormData

Parameter Type Default Required Description
order_uuids array 請填入 *欲取消的訂單識別碼* 或 *application_order_serials* (擇一填入)
application_order_serials array 欲取消 Application 的訂單,請填入 *訂單編號* 或 *order_uuids* (擇一填入)

Response

Parameter Type Description
uuid string 訂單識別碼
object string 物件名稱
status string 訂單狀態
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
created_at datetime 訂單於 OwlPay 上建立時間
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼

List all orders

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders \
  -u <application_secret>:

Response Example

{
    "data": [
        {
            "order_token": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "object": "order",
            "uuid": "ord_978be7deca82a65525f74bec7a3077cf26138409d8838cce0cca5fbfbe4b02d7",
            "status": "owlpay.order_unconfirmed",
            "status_group": "submit",
            "is_checked": false,
            "is_allow_transfer": false,
            "is_allow_close": false,
            "is_allow_confirmed": false,
            "is_allow_correction": false,
            "deny_transfer_reasons": [],
            "order_serial": "ORD20220101010101001",
            "application_order_serial": "ORD20220101010101001",
            "application_order_created_at": "2022-04-07T16:27:41+00:00",
            "allow_transfer_time_at": "2022-04-07T16:00:00+00:00",
            "last_reject_transfer_reason": null,
            "is_rejected": false,
            "currency": "TWD",
            "total": 100012,
            "original_total": 100012,
            "display_currency": "TWD",
            "created_at": "2022-04-07T16:27:41+00:00",
            "updated_at": "2022-04-07T16:40:45+00:00",
            "vendor_uuid": "ven_xxxxxxxxxxx",
            "vendor_name": "Your Vendor Name",
            "application_vendor_uuid": "0001",
            "is_vendor_kyc_passed": true,
            "description": null,
            "meta_data": {},
            "status_logs": [
                {
                    "name": "Incomplete reconciliation",
                    "is_current": false,
                    "updated_time_at": "2022-04-07T16:27:41+00:00"
                },
                {
                    "name": "Pending for approval",
                    "is_current": true,
                    "updated_time_at": "2022-04-07T16:40:45+00:00"
                },
                {
                    "name": "Approved",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Pending for payment",
                    "is_current": false,
                    "updated_time_at": null
                },
                {
                    "name": "Paid successfully",
                    "is_current": false,
                    "updated_time_at": null
                }
            ],
            "order_extras": {
                "inclusive": {
                    "total": 0,
                    "items": []
                },
                "exclusive": {
                    "total": 0,
                    "items": []
                }
            },
            "closed_transfer_reason": null,
            "order_transfer_uuid": "otr_LgURkR4yTufr2j5fyW2WMGH",
            "accounting_uuid": null,
            "vendor_status": "approved",
            "is_has_need_correction": false,
            "import_uuid": null,
            "is_from_import": false
        },
        {...},
        {...},
    ],
    "status": 200,
    "pagination": {
        "total": 65,
        "count": 12,
        "perPage": 12,
        "currentPage": 1,
        "totalPages": 6,
        "links": {
            "next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders&page=2"
        }
    }
}

PROTECTget

https://api.owlpay.com/api/v1/platform/tunnel/orders

Query

Parameter Type Description
currency string 訂單幣別
vendor_uuid string 供應商於 OwlPay 識別碼 (prefix: ven_)
vendor_email string 供應商電子郵件 ( 參考:The vendor object)
application_order_serial string 訂單於 Application 的訂單編號陣列 (參考:The order object)
application_order_serials array 訂單於 Application 的訂單編號陣列 (參考:The order object)
order_uuid string 訂單於 OwlPay 的識別碼 (prefix: ord_)(參考:The order object)
order_uuids array 訂單於 OwlPay 的識別碼陣列(參考:The order object)
order_status string 訂單狀態(參考:The order object)
application_vendor_uuid string 供應商於 Application 的識別碼(參考:The vendor object)
during_created_at string 訂單於 OwlPay 建立時間 (格式:ISO8601(W3C))
during_order_created_at array 訂單於 Application 的建立時間 (預設時區: UTC+0) (參考:The order object)
during_allow_transfer_time_at array 訂單可進行申請對帳的時間
is_rejected boolean 訂單已被駁回
is_vendor_kyc_passed boolean 供應商是否已通過驗證
uuid_query string 根據 OwlPay uuid 搜尋 (order uuid / orders reconciliation uuid / accounting uuid)
vendor_status_list array 供應商狀態搜尋 (uncheck / approved / deleted)
import_uuid string 匯入訂單識別碼
import_uuids array 匯入訂單識別碼陣列

Query for pagination

Parameter Type Default Description
page int 1 ref: Pagination
limit int 12 ref: Pagination

Response

Parameter Type Description
uuid string 訂單識別碼
object string 物件名稱
status string 訂單狀態
application_order_serial string 來自於 Application (您的系統) 的訂單編號
application_order_created_at datetime 訂單於 Application (您的系統) 建立時間
created_at datetime 訂單於 OwlPay 上建立時間
currency string 幣別
total decimal 訂單金額(OwlPay 付款給供應商的金額)
vendor_uuid string 供應商(Vendor) 識別碼
vendor_name string 供應商(Vendor) 名稱
application_vendor_uuid string 供應商(Vendor) 於 Application (您的系統) 端識別碼

Orders reconciliation

The orders reconciliation object

Response Example

{
    "data": {
        "is_test": true,
        "is_pair_approval": false,
        "group_uuid": null,
        "uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
        "object": "order_transfer",
        "uncheck_count": 0,
        "checked_count": 1,
        "currency": "TWD",
        "status": "settled",
        "total": 2980,
        "settled_total": 0,
        "finished_at": "2021-03-28 09:08:27",
        "display_currency": "TWD",
        "display_total": 2980,
        "fee_currency": "TWD",
        "fee": 0,
        "display_fee_currency": "TWD",
        "display_fee": 0,
        "apply_user": {
            "object": "order_transfer.apply_user",
            "owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
            "name": "OwlPay Apply User",
            "email": "owlpay@owlting.com",
            "guard": "platform"
        },
        "orders": [
            {
                ...
            }
        ],
        "vendors": [
            {
                "object": "order_transfer.vendor",
                "application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
                "uuid": "ven_xxxxxxxxxxxxxx",
                "email": "owlpay_vendor@gmail.com",
                "name": "OwlPay Vendor Name"
            }
        ],
        "created_at": "2021-03-19T08:19:02+00:00",
        "updated_at": "2021-03-28T09:08:27+00:00"
    },
    "status": 200
}

Attributes

Column Type Description
is_test boolean 是否為測試環境
is_allow_check boolean 是否允許當前使用者審核
is_allow_batch_finish boolean 是否允許批次審核同意
group_uuid string 目前沒有用
uuid string 對帳單識別碼
object string 物件名稱
uncheck_count int 未審核對帳單數量
checked_count int 已審核對帳單數量
status string 對帳單狀態
total decimal 對帳單內所有訂單加總金額
settled_total decimal 審核通過的對帳單總金額
settled_count int 完成審核後的總對帳單數量
finished_at datetime 完成審核時間
created_at datetime 對帳單建立時間
updated_at datetime 對帳單更新時間
orders array ref: the order object
vendors.*.application_vendor_uuid string 供應商於 Application 的識別碼
vendors.*.uuid string 供應商於 OwlPay 的識別碼
vendors.*.email string 供應商 Email
vendors.*.name string 供應商姓名
draft.approve_total decimal 審核通過的對帳單總金額 (草稿狀態)
draft.reject_total decimal 審核駁回的對帳單總金額 (草稿狀態)
draft.uncheck_total decimal 未審核的對帳單總金額 (草稿狀態)
draft.approve_count int 審核通過的對帳單總數量 (草稿狀態)
draft.reject_count int 審核駁回的對帳單總數量 (草稿狀態)
draft.uncheck_count int 未審核的對帳單總數量 (草稿狀態)
settled.total decimal 審核通過的對帳單總金額
settled.approve_total decimal 審核通過的對帳單總金額
settled.reject_total decimal 審核駁回的對帳單總金額
settled.approve_count int 審核通過的對帳單總數量
settled.reject_count int 審核駁回的對帳單總數量
apply_user.owlting_uuid string 申請人於 OwlTing 識別碼
apply_user.name string 申請人姓名
apply_user.email string 申請人 Email
apply_user.guard string 申請人身份 (Vendor_user / Application_user)

Create a orders reconciliation

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation \
  -u <application_secret>: \
  -d order_serials[0]="OPY00000001" \
  -d order_serials[1]="OPY00000002"

Response Example

{
    "data": {
        "is_test": true,
        "is_pair_approval": false,
        "group_uuid": null,
        "uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
        "object": "order_transfer",
        "uncheck_count": 0,
        "checked_count": 1,
        "currency": "TWD",
        "status": "settled",
        "total": 2980,
        "settled_total": 0,
        "finished_at": "2021-03-28 09:08:27",
        "display_currency": "TWD",
        "display_total": 2980,
        "fee_currency": "TWD",
        "fee": 0,
        "display_fee_currency": "TWD",
        "display_fee": 0,
        "apply_user": {
            "object": "order_transfer.apply_user",
            "owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
            "name": "OwlPay Apply User",
            "email": "owlpay@owlting.com",
            "guard": "platform"
        },
        "orders": [
            {
                ...
            }
        ],
        "vendors": [
            {
                "object": "order_transfer.vendor",
                "application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
                "uuid": "ven_xxxxxxxxxxxxxx",
                "email": "owlpay_vendor@gmail.com",
                "name": "OwlPay Vendor Name"
            }
        ],
        "created_at": "2021-03-19T08:19:02+00:00",
        "updated_at": "2021-03-28T09:08:27+00:00"
    },
    "status": 200
}

PROTECTpost

https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation

FormData

Parameter Type Default Description
vendor_uuid string 供應商識別碼
vendor_email string 供應商 Email
order_serial string Application 訂單編號
order_serials string Application 訂單編號陣列
order_uuid string 訂單 uuid
order_uuids array 訂單 uuid 陣列
order_status string 訂單狀態
customer_vendor_uuid string 供應商 於 Application 端識別碼
during_order_created_at string 查詢 Application 從開始建立到現在的訂單 (若未帶時區,會以 UTC+0 來查詢時間) (&during_order_created_at=2020-12-17T00:00:00+08:00,2020-12-18T23:59:59+08:00)

Response

Column Type Description
is_test boolean 是否為測試環境
is_allow_check boolean 是否允許當前使用者審核
is_allow_batch_finish boolean 是否允許批次審核同意
group_uuid string 目前沒有用
uuid string 對帳單識別碼
object string 物件名稱
uncheck_count int 未審核對帳單數量
checked_count int 已審核對帳單數量
status string 對帳單狀態
total decimal 對帳單內所有訂單加總金額
settled_total decimal 審核通過的對帳單總金額
settled_count int 完成審核後的總對帳單數量
finished_at datetime 完成審核時間
created_at datetime 對帳單建立時間
updated_at datetime 對帳單更新時間
orders array ref: the order object
vendors.*.application_vendor_uuid string 供應商於 Application 的識別碼
vendors.*.uuid string 供應商於 OwlPay 的識別碼
vendors.*.email string 供應商 Email
vendors.*.name string 供應商姓名
draft.approve_total decimal 審核通過的對帳單總金額 (草稿狀態)
draft.reject_total decimal 審核駁回的對帳單總金額 (草稿狀態)
draft.uncheck_total decimal 未審核的對帳單總金額 (草稿狀態)
draft.approve_count int 審核通過的對帳單總數量 (草稿狀態)
draft.reject_count int 審核駁回的對帳單總數量 (草稿狀態)
draft.uncheck_count int 未審核的對帳單總數量 (草稿狀態)
settled.total decimal 審核通過的對帳單總金額
settled.approve_total decimal 審核通過的對帳單總金額
settled.reject_total decimal 審核駁回的對帳單總金額
settled.approve_count int 審核通過的對帳單總數量
settled.reject_count int 審核駁回的對帳單總數量
apply_user.owlting_uuid string 申請人於 OwlTing 識別碼
apply_user.name string 申請人姓名
apply_user.email string 申請人 Email
apply_user.guard string 申請人身份 (Vendor_user / Application_user)

Retrieve a orders reconciliation

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation/{orders_reconciliation_uuid} \
  -u <application_secret>:

Response Example

{
    "data": {
        "is_test": true,
        "is_pair_approval": false,
        "group_uuid": null,
        "uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
        "object": "order_transfer",
        "uncheck_count": 0,
        "checked_count": 1,
        "currency": "TWD",
        "status": "settled",
        "total": 2980,
        "settled_total": 0,
        "finished_at": "2021-03-28 09:08:27",
        "display_currency": "TWD",
        "display_total": 2980,
        "fee_currency": "TWD",
        "fee": 0,
        "display_fee_currency": "TWD",
        "display_fee": 0,
        "apply_user": {
            "object": "order_transfer.apply_user",
            "owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
            "name": "OwlPay Apply User",
            "email": "owlpay@owlting.com",
            "guard": "platform"
        },
        "orders": [
            {
                ...
            }
        ],
        "vendors": [
            {
                "object": "order_transfer.vendor",
                "application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
                "uuid": "ven_xxxxxxxxxxxxxx",
                "email": "owlpay_vendor@gmail.com",
                "name": "OwlPay Vendor Name"
            }
        ],
        "created_at": "2021-03-19T08:19:02+00:00",
        "updated_at": "2021-03-28T09:08:27+00:00"
    },
    "status": 200
}

PROTECTget

https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation/{orders_reconciliation_uuid}

Response

Column Type Description
is_test boolean 是否為測試環境
is_allow_check boolean 是否允許當前使用者審核
is_allow_batch_finish boolean 是否允許批次審核同意
group_uuid string 目前沒有用
uuid string 對帳單識別碼
object string 物件名稱
uncheck_count int 未審核對帳單數量
checked_count int 已審核對帳單數量
status string 對帳單狀態
total decimal 對帳單內所有訂單加總金額
settled_total decimal 審核通過的對帳單總金額
settled_count int 完成審核後的總對帳單數量
finished_at datetime 完成審核時間
created_at datetime 對帳單建立時間
updated_at datetime 對帳單更新時間
orders array ref: the order object
vendors.*.application_vendor_uuid string 供應商於 Application 的識別碼
vendors.*.uuid string 供應商於 OwlPay 的識別碼
vendors.*.email string 供應商 Email
vendors.*.name string 供應商姓名
draft.approve_total decimal 審核通過的對帳單總金額 (草稿狀態)
draft.reject_total decimal 審核駁回的對帳單總金額 (草稿狀態)
draft.uncheck_total decimal 未審核的對帳單總金額 (草稿狀態)
draft.approve_count int 審核通過的對帳單總數量 (草稿狀態)
draft.reject_count int 審核駁回的對帳單總數量 (草稿狀態)
draft.uncheck_count int 未審核的對帳單總數量 (草稿狀態)
settled.total decimal 審核通過的對帳單總金額
settled.approve_total decimal 審核通過的對帳單總金額
settled.reject_total decimal 審核駁回的對帳單總金額
settled.approve_count int 審核通過的對帳單總數量
settled.reject_count int 審核駁回的對帳單總數量
apply_user.owlting_uuid string 申請人於 OwlTing 識別碼
apply_user.name string 申請人姓名
apply_user.email string 申請人 Email
apply_user.guard string 申請人身份 (Vendor_user / Application_user)

List order reconciliation status

Order transfer Status description
unconfirm 未審核 (預設)
in_process 處理中 (當某一對帳單被審核過時)
wait_remit 同幣別 (國內, 目前設置為只有TWD) 當對帳單審核通後,轉成待匯款 (wait_remit)
on_the_way_to_bank 同幣別 (國內, 目前設置為只有TWD),當使用者下載對帳單後並且尚未被覆核
settled 結清

List all orders reconciliation

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation \
  -u <application_secret>:

Response Example

{
    "data": [
        {
            "is_test": true,
            "is_pair_approval": false,
            "group_uuid": null,
            "uuid": "otr_lBfu9B0YZmzk6nRb5SzznIS",
            "object": "order_transfer",
            "uncheck_count": 0,
            "checked_count": 1,
            "currency": "TWD",
            "status": "settled",
            "total": 2980,
            "settled_total": 0,
            "finished_at": "2021-03-28 09:08:27",
            "display_currency": "TWD",
            "display_total": 2980,
            "fee_currency": "TWD",
            "fee": 0,
            "display_fee_currency": "TWD",
            "display_fee": 0,
            "apply_user": {
                "object": "order_transfer.apply_user",
                "owlting_uuid": "08842a50-9940-11e8-b24c-5f482ae31d14",
                "name": "OwlPay Apply User",
                "email": "owlpay@owlting.com",
                "guard": "platform"
            },
            "orders": [
                {
                    ...
                }
            ],
            "vendors": [
                {
                    "object": "order_transfer.vendor",
                    "application_vendor_uuid": "4dae51cf-c26f-41c2-9b89-202338ce5f3e",
                    "uuid": "ven_xxxxxxxxxxxxxx",
                    "email": "owlpay_vendor@gmail.com",
                    "name": "OwlPay Vendor Name"
                }
            ],
            "created_at": "2021-03-19T08:19:02+00:00",
            "updated_at": "2021-03-28T09:08:27+00:00"
        },
        {...},
        {...},
        ...
    ],
    "status": 200,
    "pagination": {
        "total": 39,
        "count": 12,
        "perPage": 12,
        "currentPage": 1,
        "totalPages": 4,
        "links": {
            "next": "http://owlpay.owlting.worker/api/platform/applications/app_9KITy3ziM4Z841FX6dkRnYl/orders_transfer?q=%2Fapi%2Fplatform%2Fapplications%2Fapp_9KITy3ziM4Z841FX6dkRnYl%2Forders_transfer&page=2"
        }
    }
}

PROTECTget

https://api.owlpay.com/api/v1/platform/tunnel/orders_reconciliation

Response

Column Type Description
is_test boolean 是否為測試環境
is_allow_check boolean 是否允許當前使用者審核
is_allow_batch_finish boolean 是否允許批次審核同意
group_uuid string 目前沒有用
uuid string 對帳單識別碼
object string 物件名稱
uncheck_count int 未審核對帳單數量
checked_count int 已審核對帳單數量
status string 對帳單狀態
total decimal 對帳單內所有訂單加總金額
settled_total decimal 審核通過的對帳單總金額
settled_count int 完成審核後的總對帳單數量
finished_at datetime 完成審核時間
created_at datetime 對帳單建立時間
updated_at datetime 對帳單更新時間
orders array ref: the order object
vendors.*.application_vendor_uuid string 供應商於 Application 的識別碼
vendors.*.uuid string 供應商於 OwlPay 的識別碼
vendors.*.email string 供應商 Email
vendors.*.name string 供應商姓名
draft.approve_total decimal 審核通過的對帳單總金額 (草稿狀態)
draft.reject_total decimal 審核駁回的對帳單總金額 (草稿狀態)
draft.uncheck_total decimal 未審核的對帳單總金額 (草稿狀態)
draft.approve_count int 審核通過的對帳單總數量 (草稿狀態)
draft.reject_count int 審核駁回的對帳單總數量 (草稿狀態)
draft.uncheck_count int 未審核的對帳單總數量 (草稿狀態)
settled.total decimal 審核通過的對帳單總金額
settled.approve_total decimal 審核通過的對帳單總金額
settled.reject_total decimal 審核駁回的對帳單總金額
settled.approve_count int 審核通過的對帳單總數量
settled.reject_count int 審核駁回的對帳單總數量
apply_user.owlting_uuid string 申請人於 OwlTing 識別碼
apply_user.name string 申請人姓名
apply_user.email string 申請人 Email
apply_user.guard string 申請人身份 (Vendor_user / Application_user)

Vendor

The vendor object

{
  "data": {
    "uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
    "object": "vendor",
    "application_vendor_uuid": "16584585454784",
    "name": "VendorTest_1658458545",
    "email": "VendorTest_1658458545_7829@owlpay.com",
    "description": "",
    "note": null,
    "is_removed": false,
    "is_active": false,
    "is_vendor_kyc_passed": false,
    "status": "uncheck",
    "kyc_status_list": {
      "remit_info": { "status": "unchecked", "is_allow_update": true }
    },
    "country_iso": "TW",
    "is_invited": false,
    "is_registered": false,
    "remit_info": [
      {
        "id": 4856,
        "status": 0,
        "sort": 0,
        "payout_gateway": "MyB2B_batch_payout",
        "is_enable": 1,
        "detail": {
          "country_code": "TW",
          "bank_code": "013",
          "branch_code": "0130017",
          "account": "264200000000",
          "account_name": "OWLPAYMARAS",
          "currency": "TWD"
        }
      },
      {...}
    ]
  },
  "status": 200
}

Attributes

Parameter Type Description
uuid string 供應商識別碼
object string 供應商物件
application_vendor_uuid string 供應商於 Application 識別碼
name string 供應商名稱
email string 供應商 Email
description string 供應商敘述
vendor_information array 供應商資料,必填欄位請參考: Vendors remit info
contact array 供應商聯絡人資訊,必填欄位請參考: Vendors remit info
remit_info array 供應商付款資訊,必填欄位請參考: Vendors remit info

Create a vendor

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
  -u <application_secret>: \
  -d name="OwlPay Vendor Name" \
  -d email="owlting@owlpay.com" \
  -d country_iso="TW"
{
  "data": {
    "uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
    "object": "vendor",
    "application_vendor_uuid": "16584585454784",
    "name": "VendorTest_1658458545",
    "email": "VendorTest_1658458545_7829@owlpay.com",
    "description": "",
    "note": null,
    "is_removed": false,
    "is_active": false,
    "is_vendor_kyc_passed": false,
    "status": "uncheck",
    "kyc_status_list": {
      "remit_info": { "status": "unchecked", "is_allow_update": true }
    },
    "country_iso": "TW",
    "is_invited": false,
    "is_registered": false,
    "remit_info": [
      {
        "id": 4856,
        "status": 0,
        "sort": 0,
        "payout_gateway": "MyB2B_batch_payout",
        "is_enable": 1,
        "detail": {
          "country_code": "TW",
          "bank_code": "013",
          "branch_code": "0130017",
          "account": "264200000000",
          "account_name": "OWLPAYMARAS",
          "currency": "TWD"
        }
      },
      {...}
    ]
  },
  "status": 200
}

PROTECTpost https://api.owlpay.com/api/v1/platform/tunnel/vendors

FormData

Parameter Type Default Required Description
name string 供應商名稱
country_iso string 供應商國家
uuid string 供應商於 OwlPay 的識別碼
application_vendor_uuid string 供應商於 Application 識別碼
email string 供應商電子郵件
description string 供應商敘述

Response

Parameter Type Description
uuid string 供應商識別碼
object string 供應商物件
application_vendor_uuid string 供應商於 Application 識別碼
name string 供應商名稱
email string 供應商 Email
description string 供應商敘述
vendor_information array 供應商資料,必填欄位請參考: Vendors remit info
contact array 供應商聯絡人資訊,必填欄位請參考: Vendors remit info
remit_info array 供應商付款資訊,必填欄位請參考: Vendors remit info

Update a vendor

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
  -u <application_secret>: \
  -d name="OwlPay Vendor Name" \
  -d email="owlting@owlpay.com" \
  -d country_iso="TW"
{
  "data": {
    "uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
    "object": "vendor",
    "application_vendor_uuid": "16584585454784",
    "name": "VendorTest_1658458545",
    "email": "VendorTest_1658458545_7829@owlpay.com",
    "description": "",
    "note": null,
    "is_removed": false,
    "is_active": false,
    "is_vendor_kyc_passed": false,
    "status": "uncheck",
    "kyc_status_list": {
      "remit_info": { "status": "unchecked", "is_allow_update": true }
    },
    "country_iso": "TW",
    "is_invited": false,
    "is_registered": false,
    "remit_info": [
      {
        "id": 4856,
        "status": 0,
        "sort": 0,
        "payout_gateway": "MyB2B_batch_payout",
        "is_enable": 1,
        "detail": {
          "country_code": "TW",
          "bank_code": "013",
          "branch_code": "0130017",
          "account": "264200000000",
          "account_name": "OWLPAYMARAS",
          "currency": "TWD"
        }
      },
      {...}
    ]
  },
  "status": 200
}

PROTECTput https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}

FormData

Parameter Type Default Required Description
name string 供應商名稱
country_iso string 供應商國家
uuid string 供應商於 OwlPay 的識別碼
application_vendor_uuid string 供應商於 Application 識別碼
email string 供應商電子郵件
description string 供應商敘述

Response

Parameter Type Description
uuid string 供應商識別碼
object string 供應商物件
application_vendor_uuid string 供應商於 Application 識別碼
name string 供應商名稱
email string 供應商 Email
description string 供應商敘述
vendor_information array 供應商資料,必填欄位請參考: Vendors remit info
contact array 供應商聯絡人資訊,必填欄位請參考: Vendors remit info
remit_info array 供應商付款資訊,必填欄位請參考: Vendors remit info

Retrieve a vendor

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
-u <application_secret>
{
  "data": {
    "uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
    "object": "vendor",
    "application_vendor_uuid": "16584585454784",
    "name": "VendorTest_1658458545",
    "email": "VendorTest_1658458545_7829@owlpay.com",
    "description": "",
    "note": null,
    "is_removed": false,
    "is_active": false,
    "is_vendor_kyc_passed": false,
    "status": "uncheck",
    "kyc_status_list": {
      "remit_info": { "status": "unchecked", "is_allow_update": true }
    },
    "country_iso": "TW",
    "is_invited": false,
    "is_registered": false,
    "remit_info": [
      {
        "id": 4856,
        "status": 0,
        "sort": 0,
        "payout_gateway": "MyB2B_batch_payout",
        "is_enable": 1,
        "detail": {
          "country_code": "TW",
          "bank_code": "013",
          "branch_code": "0130017",
          "account": "264200000000",
          "account_name": "OWLPAYMARAS",
          "currency": "TWD"
        }
      },
      {...}
    ]
  },
  "status": 200
}

PROTECTget https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}

Response

Parameter Type Description
uuid string 供應商識別碼
object string 供應商物件
application_vendor_uuid string 供應商於 Application 識別碼
name string 供應商名稱
email string 供應商 Email
description string 供應商敘述
vendor_information array 供應商資料,必填欄位請參考: Vendors remit info
contact array 供應商聯絡人資訊,必填欄位請參考: Vendors remit info
remit_info array 供應商付款資訊,必填欄位請參考: Vendors remit info

Delete a vendor

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid} \
  -u <application_secret>: \
  -X DELETE

Response Example

{
  "data": {
    "deleted": true,
    "message": "success"
  },
  "status": 200
}

PROTECTdelete https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}

List all vendors

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors \
  -u <application_secret>:

Response Example

{
  "data": [
    {
      "uuid": "ven_2psRYn3k90lZ1H0H49TcLhg",
      "object": "vendor",
      "application_vendor_uuid": "16584585454784",
      "name": "VendorTest_1658458545",
      "email": "VendorTest_1658458545_7829@owlpay.com",
      "description": "",
      "note": null,
      "is_removed": false,
      "is_active": false,
      "is_vendor_kyc_passed": false,
      "status": "uncheck",
      "kyc_status_list": {
        "remit_info": { "status": "unchecked", "is_allow_update": true }
      },
      "country_iso": "TW",
      "is_invited": false,
      "is_registered": false,
      "remit_info": [
        {
          "id": 4856,
          "status": 0,
          "sort": 0,
          "payout_gateway": "MyB2B_batch_payout",
          "is_enable": 1,
          "detail": {
            "country_code": "TW",
            "bank_code": "013",
            "branch_code": "0130017",
            "account": "264200000000",
            "account_name": "OWLPAYMARAS",
            "currency": "TWD"
          }
        },
        {...}
      ]
    },
    {...}
  ],
  "status": 200,
  "pagination": {
    "total": 614,
    "count": 12,
    "perPage": 12,
    "currentPage": 1,
    "totalPages": 52,
    "links": {
      "next": "http://owlpay.owlting.worker/api/v1/platform/tunnel/vendors?q=%2Fapi%2Fv1%2Fplatform%2Ftunnel%2Fvendors&page=2"
    }
  }
}

PROTECTget https://api.owlpay.com/api/v1/platform/tunnel/vendors

Meta Query
Parameter Type Default Description
page int 1 ref: Pagination
limit int 12 ref: Pagination

Response

Parameter Type Description
uuid string vendor uuid on owlpay
application_vendor_uuid string vendor uuid on application
object string
name string vendor name
email string vendor email
description string vendor description
vendor_information array vendor advenced information for KYC
contact array vendor contact information for KYC
remit_info array vendor remit information for KYC

Vendors remit info

The vendor remit info object

Response Example

{
    "data": [
        {
            "payout_gateway_channel": "cathay",
            "payout_gateway_key": "MyB2B_batch_payout",
            "payout_gateway": "Cathay United Bank - Global MyB2B",
            "status": "checking",
            "sort": 0,
            "is_enable": true,
            "detail": {
                "country_code": "TW",
                "bank_code": "013",
                "branch_code": "0130017",
                "account": "264200000000",
                "account_name": "OWLPAYTEST",
                "currency": "TWD"
            }
        }
    ],
    "status": 200
}

Attributes

Parameter Type Description
payout_gateway string 供應商付款資訊 - 付款途徑
payout_gateway_key string 供應商付款資訊 - 付款途徑 key
payout_gateway_channel string 供應商付款資訊 - 付款途徑 (供 AML 審查,包含 cathay/firstBank/nium/visa) 目前支援的請查看 OwlTing AML Schema Tool
status string 供應商付款資訊 - 付款途徑狀態
sort int 供應商付款資訊 - 付款途徑優先順序 (數字越小越優先)
is_enable boolean 供應商付款資訊 - 付款途徑是否啟用中
detail object 供應商付款資訊 - 付款途徑細節內容

Apply a vendor remit info

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info/apply \
  -u <application_secret>: \
  -d payout_channel="cathay" \
  -d applicant="company" \
  -d "aml_data[companyName]"='Maras Test' \
  -d "aml_data[businessAddressCity]"='Taipei' \
  -d "aml_data[businessAddressArea]"='Taipei' \
  -d "aml_data[businessAddress]"='Taipei' \
  -d "aml_data[companyPhoneCode]"='TW' \
  -d "aml_data[companyPhoneNumber]"='0912345678' \
  -d "aml_data[companyEmail]"='testing@owlpay.com' \
  -d "aml_data[companyId]"='12345678' \
  -d "aml_data[customName]"='Maras Account' \
  -d "aml_data[bankCountry]"='TW' \
  -d "aml_data[bankCode]"='013' \
  -d "aml_data[branchCode]"='0017' \
  -d "aml_data[currency]"='TWD' \
  -d "aml_data[accountName]"='OWLPAYMARAS' \
  -d "aml_data[account]"='264200000000'

Response Example

{
    "data": [
        {
            "payout_gateway_channel": "cathay",
            "payout_gateway_key": "MyB2B_batch_payout",
            "payout_gateway": "Cathay United Bank - Global MyB2B",
            "status": "checking",
            "sort": 0,
            "is_enable": true,
            "detail": {
                "country_code": "TW",
                "bank_code": "013",
                "branch_code": "0130017",
                "account": "264200000000",
                "account_name": "OWLPAYTEST",
                "currency": "TWD"
            }
        }
    ],
    "status": 200
}

PROTECTpost https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info/apply

供應商付款資訊,因應各國家法規及付款途徑限制,請參考此表單傳入相對應的欄位

FormData

Parameter Type Default Required Description
payout_channel string 供應商付款資訊 - 付款途徑 (需根據 Application 已開通的付款途徑)
applicant decimal 供應商付款資訊 - 個人或公司 (company/individual)
aml_data array 供應商付款資訊 - KYC/AML 詳細資料,需要欄位請參考

Response

Parameter Type Description
payout_gateway string 供應商付款資訊 - 付款途徑
payout_gateway_key string 供應商付款資訊 - 付款途徑 key
payout_gateway_channel string 供應商付款資訊 - 付款途徑 (供 AML 審查,包含 cathay/firstBank/nium/visa) 目前支援的請查看 OwlTing AML Schema Tool
status string 供應商付款資訊 - 付款途徑狀態
sort int 供應商付款資訊 - 付款途徑優先順序 (數字越小越優先)
is_enable boolean 供應商付款資訊 - 付款途徑是否啟用中
detail object 供應商付款資訊 - 付款途徑細節內容

List all vendor remit info

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info \
  -u <application_secret>:

Response Example

{
    "data": [
        {
            "payout_gateway_channel": "cathay",
            "payout_gateway_key": "MyB2B_batch_payout",
            "payout_gateway": "Cathay United Bank - Global MyB2B",
            "status": "checking",
            "sort": 0,
            "is_enable": true,
            "detail": {
                "country_code": "TW",
                "bank_code": "013",
                "branch_code": "0130017",
                "account": "264200000000",
                "account_name": "OWLPAYTEST",
                "currency": "TWD"
            }
        }
    ],
    "status": 200
}

PROTECTget https://api.owlpay.com/api/v1/platform/tunnel/vendors/{vendor_uuid}/remit_info

Response

Parameter Type Description
payout_gateway string 供應商付款資訊 - 付款途徑
payout_gateway_key string 供應商付款資訊 - 付款途徑 key
payout_gateway_channel string 供應商付款資訊 - 付款途徑 (供 AML 審查,包含 cathay/firstBank/nium/visa) 目前支援的請查看 OwlTing AML Schema Tool
status string 供應商付款資訊 - 付款途徑狀態
sort int 供應商付款資訊 - 付款途徑優先順序 (數字越小越優先)
is_enable boolean 供應商付款資訊 - 付款途徑是否啟用中
detail object 供應商付款資訊 - 付款途徑細節內容

Vendors Invite

The vendor invite object

Response Example

{
    "data": {
        "object": "vendor_invite",
        "uuid": "veninv_xxxxxxx",
        "vendor_uuid": "ven_xxxxxxxxxxx",
        "connect_invite_hash": "xxxxxxxxxxxx",
        "invite_url": "https://auth.owlting.com/...",
        "email": "vendor@owlpay.com",
        "is_owlpay_send_email": false,
        "expired_at": "2021-09-11T16:23:07+00:00",
        "created_at": "2021-09-10T16:23:07+00:00"
    },
    "status": 200
}

Attributes

Parameter Type Description
object string 物件名稱
uuid string vendor invite 識別碼
vendor_uuid string vendor 的識別碼
connect_invite_hash string invite token
invite_url string invite 的超連結
email string,email invite 的 Email,若建立 invite 時 is_owlpay_send_email = true, 會發邀請信至此 Email
expired_at string, iso8601 超連結過期時間
created_at string, iso8601 超連結建立時間

Create a vendor invite

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite \
  -u <application_secret>: \
  -d is_owlpay_send_email=false \
  -d email='owlpay-team@owlting.com' \
  -d "meta_data[vendor_name]"='Hello'

Response Example

{
    "data": {
        "object": "vendor_invite",
        "uuid": "veninv_xxxxxxx",
        "vendor_uuid": "ven_xxxxxxxxxxx",
        "connect_invite_hash": "xxxxxxxxxxxx",
        "invite_url": "https://auth.owlting.com/...",
        "email": "vendor@owlpay.com",
        "is_owlpay_send_email": false,
        "expired_at": "2021-09-11T16:23:07+00:00",
        "created_at": "2021-09-10T16:23:07+00:00"
    },
    "status": 200
}

PROTECTpost

https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite

FormData

Parameter Type Default Description
is_owlpay_send_email boolean false 是否需要由 OwlPay 寄送信件
email string 若 *is_owlpay_send_email* 為 *True* 需填寫此欄位
meta_data array Metadata 有助於您管理額外的、結構化的物件資訊
vendor object 供應商資料,若你想在建立邀請時一併建立供應商,或是邀請已存在 OwlPay 的供應商 (ref: 邀請已存在的供應商或是邀請時同時建立供應商)

Formdata - vendor invite with vendor

Parameter Type Default Description
uuid string 供應商在 OwlPay 上的識別碼,若 uuid 已存在,OwlPay 將邀請供應商加入 (參考: The vendor object)
application_vendor_uuid string 供應商在 Application的識別碼 (參考: The vendor object)
name string 在 Application 上的供應商名稱 (參考: The vendor object)
description string 在 Application 上的供應商描述 (ref: The vendor object)
email string 若 *is_owlpay_send_email* 為 *True* 需填寫此欄位

Response

Parameter Type Description
object string 物件名稱
uuid string vendor invite 識別碼
vendor_uuid string vendor 的識別碼
connect_invite_hash string invite token
invite_url string invite 的超連結
email string,email invite 的 Email,若建立 invite 時 is_owlpay_send_email = true, 會發邀請信至此 Email
expired_at string, iso8601 超連結過期時間
created_at string, iso8601 超連結建立時間

List all vendor invites

Request Example

curl https://api.owlpay.com/api/v1/platform/tunnel/vendor_invite \
  -u <application_secret>:

Response Example

{
    "data": [
        {
            "object": "vendor_invite",
            "uuid": "veninv_xxxxxxx",
            "vendor_uuid": "ven_xxxxxxxxxxx",
            "connect_invite_hash": "xxxxxxxxxxxx",
            "invite_url": "https://auth.owlting.com/...",
            "email": "vendor@owlpay.com",
            "is_owlpay_send_email": false,
            "expired_at": "2021-09-11T16:23:07+00:00",
            "created_at": "2021-09-10T16:23:07+00:00"
        },
        ...
    ],
    "status": 200
}

PROTECTget

只能取得 vendor_invite 尚未過期、且未邀請成功的邀請列表

Response

Parameter Type Description
object string 物件名稱
uuid string vendor invite 識別碼
vendor_uuid string vendor 的識別碼
connect_invite_hash string invite token
invite_url string invite 的超連結
email string,email invite 的 Email,若建立 invite 時 is_owlpay_send_email = true, 會發邀請信至此 Email
expired_at string, iso8601 超連結過期時間
created_at string, iso8601 超連結建立時間