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 欄位僅會發送 idresource 欄位其餘 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 webhook
  • user/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

AspectAs isTo be
Special Character Handling & Signature VerificationSpecial 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 illustrationFor 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.