Important Reminder (Potential Breaking Change)
🚧 即將上線 - Upcoming
Jan. 2, 2025 App Webhook 異動:調整 remove 相關 Topic 的 Payload 結構(App Webhook Update: Changes to Payload Structure for Remove-Related Topics)
預計上線時間 Target Release Date
- 預計上線時間 Target Release Date : Jan. 2, 2025
- 通知公告日期 Announce Date : Nov. 29, 2024
影響範圍 Scope of Impact
只影響透過 Developer Center 訂閱的以下 App webhook topics,不影響透過 Open API 以 staff token 訂閱的 Merchant webhook topics。
This change only affects the following app webhooks subscribed to via the Developer Center. Merchant webhooks subscribed through the Open API using a staff token will not be impacted.
app_metafields/remove
category/remove
channel/remove
delivery_option/remove
membership_tier/remove
metafields/remove
metafield_definitions/remove
order/remove
payment/remove
product/remove
tag/remove
user/remove
異動情況 Description of Changes
基於底層架構優化與標準化,App webhooks 中 remove 相關 topics 的resource
欄位僅會發送 id
,resource
欄位其餘 payload 將停止發送。
As part of our infrastructure optimization and standardization efforts, the resource
field in remove
-related app webhook topics will only include the id
. All other payload data of resource
field the will no longer be sent.
{
"event": "Product",
"merchant_id": "6327e262c7ef5b176ba75166",
"resource": {
"id": "651150e49e161b00408e40bf"
},
"topic": "product/remove",
"trace_id": "51c34d32-8f9f-46d5-ac6a-ef833adc3d7a",
"ts": "1695712956784492000"
}
建議修改 Suggestions for Modification
請檢查 App 程式碼內是否有訂閱上述 remove 相關 App webhook topics,如有使用resource
欄位中的 payload,除id
之外,請勿使用其他回傳的 payload 值。
Please review your app code to check if it subscribes to the above-mentioned remove
-related app webhook topics. If your code utilizes the payload in the resource
field, ensure that only the id
is used and avoid relying on any other returned payload values.
TBD, 2024 Webhook topics transition - webhook topic 名稱改動
預計上線時間 Target Release Date
- 預計上線時間 Target Release Date : TBD
- 通知公告日期 Announce Date : Feb 5, 2024
影響範圍 Scope of Impact
只影響透過 Developer Center 訂閱的以下 App webhooks,不影響透過 Open API 以 staff token 訂閱的 Merchant webhooks。
This change only affects the following app webhooks subscribed to via the Developer Center. Merchant webhooks subscribed through the Open API using a staff token will not be impacted.
user/new_member
webhookuser/send_info_reward
webhook
異動情況 Description of Changes
- 改動原因:加強底層架構優化與 customer webhook 標準化的必要改動
- 預計停止發送
user/new_member
webhook 和user/send_info_reward
webhook
建議修改 Suggestions for Modification
user/new_member
webhook --> 請改訂閱customer/new_member
webhook (即日起已開放訂閱)user/send_info_reward
webhook --> 請改訂閱customer/send_info_reward
webhook (即日起已開放訂閱)- 請修改 APP 程式碼裡面解析 topic 的部分,由
user/
改成認customer/
☑️ 已上線 - Released
Aug 21, 2024 Go Version Upgrade & potential Webhook Signature breaking change
Background
We are doing Go version upgrade. As part of the update, our system will handle special characters according to the RFC 8259 standard. This change aim to reduce the chance of signature mismatches and enhance the reliability of webhook interactions.
Scope of Impact & Description of Changes
Scope of Impact:
The special character handling logic of webhook signatures, which is used to verify that the payload is sent by SHOPLINE.
Description of Changes:
- After upgrading to the new Go version, Go will follow the RFC8259 standard for handling special characters.
- As part of this update, the system will add support for the \b and \f characters. This means that our system will handle all five control characters (\b, \f, \n, \r, \t) according to the RFC8259 standard.
Summary Table
Aspect | As is | To be |
---|---|---|
Special Character Handling & Signature Verification | Special characters are not always handled according to RFC 8259. For example, a payload containing special characters like \b and \f was previously not handled according to the RFC8259 standard. Risk of incorrect handling of special characters can cause signature mismatches, affecting verification. | With the new Go version, special characters \b and \f will also be consistently handled and escaped according to RFC 8259. Aligning to the same standard ensures the correct handling and therefore accurate signature verification, preventing mismatches. |
Example for illustration | For example, content with \b would be converted to \u0008. | For example, content with \b will be retained as-is, without conversion. |
Suggestion / Action Item
Review if these changes could affect your system logic & ensure that the handling of special characters in webhook signatures' JSON payloads is based on RFC 8259 in order to avoid this risk of signature mismatches.
Updated 2 days ago