Important Reminder (Potential Breaking Change)

🚧 å³å°‡äøŠē·š - Upcoming

Q3, 2025 Reminder on SHOPLINE Cart & Checkout Page Revamp - Potential Impact on Apps using Storefront App Extensions

This announcement provides important information regarding an upcoming revamp of the Cart Page on the SHOPLINE platform

Background on the Revamp

The current checkout flow revamp involves significant changes to the front-end architecture, including the Cart Page & Checkout Page. While we are working to ensure a smooth transition, we recognize that these changes, particularly to the Document Object Model (DOM) structure, CSS classes, JavaScript events, etc, may impact existing storefront app extensions.
For example, app use cases and implementation that rely on specific "anchor" points (e.g., HTML element IDs, class names, or specific positions within the page structure) for injecting content, modifying styles, or attaching event listeners may experience:

  • Misalignment or incorrect placement: Your app's UI elements might not appear where intended.
  • Non-functional features: Features that interact with specific DOM elements might cease to work.
  • Visual issues: Your app's styling might be affected by the new page structure.

Required Actions for Developers:

To prepare for these changes and ensure the continued compatibility of your storefront app extensions, we urge you to evaluate if following actions are needed:

  1. Participate in Alpha/Beta Programs
    1. Request to be added to beta list & review the cart page in testing Store
    2. Request to be added to beta list & review the checkout Page Testing Store (Coming Soon)
    3. Please contact our partnership team
  2. Update Your App Extensions
    1. Based on your testing result, update your app extensions to align with the new cart & checkout page structure and ensure full compatibility

Identifying the New Cart Page Version during Beta phase:

During the beta phase, the backend determines the traffic split and communicates the assigned version to the frontend.
For backward compatibility and support concerns, you can determine which version of the cart page a customer is using by checking the browser's cookies. There will be a checkout_revamp key in the browser cookie.

  • If the checkout_revamp key's value is control, the customer is on the old version.
  • If the checkout_revamp key's value is variation, the customer is on the new version.

Timeline:

Please notify SHOPLINE if you have any questions. Once partners have joined the Alpha & Beta phase, the feature release timeline will be communicated through the subsequent channel. We understand that breaking changes can be challenging, and we are committed to providing you with the necessary support to ensure a smooth transition.

Thank you for your understanding and cooperation.

Sincerely,
SHOPLINE Open Platform Team


Q3, 2025 SHOPLINE č³¼ē‰©č»Ščˆ‡ēµåø³é é¢ę”¹ē‰ˆęé†’ – å°ä½æē”Ø Storefront App Extensions ēš„ę‡‰ē”ØēØ‹å¼åÆčƒ½é€ ęˆēš„å½±éŸæ

ęœ¬å…¬å‘Šę—ØåœØęä¾›ę‚Øé—œę–¼ SHOPLINE å¹³å°å³å°‡é€²č”Œēš„č³¼ē‰©č»Šé é¢ę”¹ē‰ˆēš„é‡č¦č³‡čØŠ

čƒŒę™Æļ¼š

ēµåø³ęµēØ‹ę”¹ē‰ˆå°‡å°å‰ē«Æęž¶ę§‹ļ¼ŒåŒ…ę‹¬č³¼ē‰©č»Šé é¢å’Œēµåø³é é¢ļ¼Œé€²č”Œé‡ę§‹ć€‚å„˜ē®”ęˆ‘å€‘ę­£åŠŖåŠ›ē¢ŗäæē³»ēµ±ē©©å®šę€§ļ¼Œä½†ęˆ‘å€‘ę„č­˜åˆ°é‡ę§‹ļ¼Œē‰¹åˆ„ę˜Æå°ę–‡ä»¶ē‰©ä»¶ęØ”åž‹ (DOM) 結構、CSS é”žåˆ„ć€JavaScript ē­‰ēš„ę”¹å‹•ļ¼ŒåÆčƒ½ęœƒå½±éŸæē¾ęœ‰ēš„ Storefront App Extensions 使用者。

ä¾‹å¦‚ļ¼Œä¾č³“ē‰¹å®šć€ŒéŒØé»žć€ļ¼ˆä¾‹å¦‚ļ¼šHTML å…ƒē“  IDć€é”žåˆ„åēØ±ęˆ–é é¢ēµę§‹äø­ēš„ē‰¹å®šä½ē½®ļ¼‰ä¾†ę³Øå…„å…§å®¹ć€äæ®ę”¹ęØ£å¼ęˆ–é™„åŠ äŗ‹ä»¶ē›£č½å™Øēš„ę‡‰ē”ØēØ‹å¼ē”Øä¾‹å’ŒåÆ¦ä½œļ¼ŒåÆčƒ½ęœƒé‡åˆ°ä»„äø‹ęƒ…ę³ļ¼š

  • éŒÆä½ęˆ–äøę­£ē¢ŗēš„ę”¾ē½®ļ¼š ę‚Øēš„ę‡‰ē”ØēØ‹å¼ä½æē”Øč€…ä»‹é¢å…ƒē“ åÆčƒ½ē„”ę³•ęŒ‰é ęœŸé”Æē¤ŗć€‚
  • åŠŸčƒ½å¤±ę•ˆļ¼š čˆ‡ē‰¹å®š DOM å…ƒē“ äŗ’å‹•ēš„åŠŸčƒ½åÆčƒ½ęœƒåœę­¢é‹ä½œć€‚
  • č¦–č¦ŗé–‹é”Œļ¼š ę‚Øēš„ę‡‰ē”ØēØ‹å¼ēš„ęØ£å¼åÆčƒ½ęœƒå—åˆ°ę–°é é¢ēµę§‹ēš„å½±éŸæć€‚

é–‹ē™¼č€…ę‰€éœ€ęŽ”å–ä¹‹č”Œå‹•ļ¼š

ē‚ŗäŗ†ę‡‰å°é€™äŗ›č®ŠåŒ–äø¦ē¢ŗäæę‚Øēš„ Storefront App Extensions čƒ½å¤ ęŒēŗŒē›øå®¹ļ¼Œęˆ‘å€‘ę•¦äæƒę‚Øč©•ä¼°ę˜Æå¦éœ€č¦ęŽ”å–ä»„äø‹č”Œå‹•ļ¼šåƒčˆ‡ Alpha/Beta 計劃:

  • ē”³č«‹åŠ å…„ Beta åˆ—č”Øäø¦åœØęø¬č©¦å•†åŗ—äø­åÆ©ęŸ„č³¼ē‰©č»Šé é¢
  • ē”³č«‹åŠ å…„ Beta åˆ—č”Øäø¦åœØęø¬č©¦å•†åŗ—äø­åÆ©ęŸ„ēµåø³é é¢ļ¼ˆå³å°‡ęŽØå‡ŗļ¼‰
    å¦‚ęœ‰éœ€č¦ļ¼Œč«‹čÆē¹«ęˆ‘å€‘ēš„åˆä½œå¤„ä¼“åœ˜éšŠē”³č«‹
    ę›“ę–°ę‚Øēš„ę‡‰ē”ØēØ‹å¼ę““å……åŠŸčƒ½ļ¼š ę ¹ę“šę‚Øēš„ęø¬č©¦ēµęžœļ¼Œę›“ę–°ę‚Øēš„ę‡‰ē”ØēØ‹å¼ę““å……åŠŸčƒ½ļ¼Œä½æå…¶čˆ‡ę–°ēš„č³¼ē‰©č»Ščˆ‡ēµåø³é é¢ēµę§‹äæęŒäø€č‡“ļ¼Œäø¦ē¢ŗäæå®Œå…Øē›øå®¹ć€‚

在 Beta éšŽę®µč­˜åˆ„ę–°ē‰ˆč³¼ē‰©č»Šé é¢ļ¼š

在 beta éšŽę®µļ¼Œå¾Œē«Æęœƒå°‡ęµé‡åˆ†é…åˆ°äøåŒēš„ē‰ˆęœ¬äø¦å‚³é”ēµ¦å‰ē«Æć€‚ē‚ŗäŗ†å‘å¾Œå…¼å®¹å’ŒęŽ’ęŸ„ę”Æę“č€ƒé‡ļ¼Œę‚Øēš„ę‡‰ē”ØēØ‹å¼åÆä»„é€éŽęŖ¢ęŸ„ē€č¦½å™Ø Cookie ä¾†åˆ¤ę–·é”§å®¢ä½æē”Øēš„ę˜Æå“Ŗå€‹ē‰ˆęœ¬ēš„č³¼ē‰©č»Šé é¢ć€‚ē€č¦½å™Ø Cookie äø­å°‡ęœƒęœ‰äø€å€‹ checkout_revamp ēš„éµå€¼ 怂

  • å¦‚ęžœ checkout_revamp éµēš„å€¼ē‚ŗ controlļ¼Œå‰‡é”§å®¢ę­£åœØä½æē”ØčˆŠē‰ˆ 怂
  • å¦‚ęžœ checkout_revamp éµēš„å€¼ē‚ŗ variationļ¼Œå‰‡é”§å®¢ę­£åœØä½æē”Øę–°ē‰ˆ 怂

ę™‚é–“č»øļ¼š

å¦‚ęžœę‚Øęœ‰ä»»ä½•ē–‘å•ļ¼Œč«‹éšØę™‚é€šēŸ„ SHOPLINEć€‚äø€ę—¦åˆä½œå¤„ä¼“åŠ å…„ Alpha 和 Beta éšŽę®µļ¼ŒåŠŸčƒ½ē™¼åøƒę™‚é–“č»øå°‡é€éŽå¾ŒēŗŒē®”é“é€²č”Œęŗé€šć€‚
ęˆ‘å€‘ē†č§£ę”ÆęŒę­¤é‡å¤§č®Šę›“åÆčƒ½å……ę»æęŒ‘ęˆ°ļ¼Œä½†ęˆ‘å€‘č‡“åŠ›ę–¼ęä¾›ę‚Øåæ…č¦ēš„ę”Æę“ļ¼Œä»„ē¢ŗäæå¹³ē©©éŽęø”ć€‚ę„Ÿč¬ę‚Øēš„ē†č§£čˆ‡åˆä½œć€‚

ę­¤č‡“ļ¼Œ
SHOPLINE Open Platform Team


ā˜‘ļø 已上線 - Released

Mar. 27, 2025 App Webhook ē•°å‹•ļ¼ščŖæę•“ remove ē›øé—œ Topic ēš„ Payload ēµę§‹ļ¼ˆApp Webhook Update: Changes to Payload Structure for Remove-Related Topics)

é čØˆäøŠē·šę™‚é–“ Target Release Date

  • é čØˆäøŠē·šę™‚é–“ Target Release Date : Mar. 27, 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.


2024 Webhook topics transition - webhook topic åēØ±ę”¹å‹•

é čØˆäøŠē·šę™‚é–“ Target Release Date

  • é čØˆäøŠē·šę™‚é–“ Target Release Date : ETA 2024 內
  • é€šēŸ„å…¬å‘Šę—„ęœŸ 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/


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.