Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Để nhắc người dùng sử dụng ưu đãi trước khi ưu đãi hết hạn, một thông báo mặc định sẽ được kích hoạt sau 48 giờ
trước khi ưu đãi hết hạn. Để kích hoạt thông báo, ưu đãi phải đáp ứng các tiêu chí sau:
Ứng dụng này không được từng kích hoạt thông báo hết hạn trên thiết bị của người dùng.
Tài khoản này phải có thời hạn hợp lệ datetime là một ngày trong tương lai, được đặt trong
validTimeInterval.end.date
Không được đặt trường có thể ghi disableExpirationNotification thành
True Theo mặc định, trường này được đặt thành false.
Ảnh chụp màn hình sau đây trình bày một ví dụ về thông báo mặc định, không thể sửa đổi:
Ưu đãi sẽ hết hạn (hôm nay, ngày mai, sau [x] ngày)
class.title
class.titleImage
Không thể tuỳ chỉnh tiêu đề trong thông báo hết hạn ưu đãi.
Giờ hạn chế phát sóng
Nếu thông báo hết hạn ưu đãi được đặt xuất hiện trong khoảng từ 10 giờ tối đến 6 giờ sáng tại địa phương của người dùng
ưu đãi sẽ xuất hiện trước hoặc sau khoảng thời gian này.
Thời gian thông báo hết hạn ưu đãi tuỳ chỉnh
Bạn có thể tuỳ chỉnh thời điểm thông báo hết hạn Offer xuất hiện bằng cách sử dụng
Trường message.displayInterval.start.date trên OfferObjects hoặc
OfferClasses. Nếu bạn đặt thời gian thông báo tuỳ chỉnh, thì thông báo hết hạn sẽ kích hoạt
theo message.displayInterval.start.date, thay vì logic mặc định
được tính từ validTimeInterval.end.date. Sau đây là mẫu của một tuỳ chỉnh
thời gian thông báo hết hạn:
displayInterval.start.date thiết lập thời gian thông báo xuất hiện. Có thể
tối đa 30 ngày trước ngày hết hạn. Nếu khoảng thời gian lớn hơn khoảng thời gian này được chỉ định,
các lần kích hoạt thông báo tại mốc 30 ngày. Thư này không yêu cầu trường tiêu đề và nội dung -
nếu có thì chúng sẽ không được sử dụng.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-29 UTC."],[[["\u003cp\u003eOffers trigger an expiration notification 48 hours before expiry if they have a future expiration date, haven't previously triggered a notification, and don't have \u003ccode\u003edisableExpirationNotification\u003c/code\u003e set to \u003ccode\u003eTrue\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe default notification displays the offer's title, title image, and relative expiration time (today, tomorrow, or in x days).\u003c/p\u003e\n"],["\u003cp\u003eNotifications are prevented from appearing between 10 PM and 6 AM local time, shifting to before or after this window.\u003c/p\u003e\n"],["\u003cp\u003eCustom notification times can be set using \u003ccode\u003emessage.displayInterval.start.date\u003c/code\u003e, overriding the default 48-hour trigger and allowing scheduling up to 30 days before expiry.\u003c/p\u003e\n"],["\u003cp\u003eOnly one expiration notification is sent per offer; a custom notification time prevents the default notification from triggering.\u003c/p\u003e\n"]]],["Offers trigger an expiration notification 48 hours before expiring, provided they haven't previously triggered one, have a valid future expiration date, and don't have `disableExpirationNotification` set to `True`. Notifications display the expiration time, `class.title`, and `class.titleImage`. Blackout hours (10 PM - 6 AM) shift notifications. Custom notification times, defined by `message.displayInterval.start.date`, override the default and can be set up to 30 days before expiration. Only one expiration notification is sent per offer.\n"],null,["# Offer expiration notifications\n\nTo remind users to use offers before they expire, a default notification is triggered 48 hours\nbefore an offer expires. To trigger a notification, an offer must meet the following criteria:\n\n1. It must not have previously triggered an expiration notification on the user's device.\n2. It must have a valid expiration `datetime` that's in the future, set in `validTimeInterval.end.date`.\n3. It must not have the writeable field `disableExpirationNotification` set to `True`. By default, this field is set to `false`.\n\n| **Note:** This offer expiration notification feature and its details are subject to change.\n\nThe following screenshot shows an example of the default, unmodifiable notification:\n1. Offer expires (today, tomorrow, in \\[x\\] days)\n2. `class.title`\n3. `class.titleImage`\n\nThe header in the offer expiration notification cannot be customized.\n\n### Blackout hours\n\nIf the offer expiration notification is set to appear between 10PM and 6AM at the user's local\ntime, the offer appears either before or after this time period.\n\n### Custom offer expiration notification time\n\nYou can customize when the `Offer` expiration notification appears using the\n`message.displayInterval.start.date` field on `OfferObjects` or\n`OfferClasses`. If a custom notification time is set, the expiration notification triggers\naccording to the `message.displayInterval.start.date`, instead of the default logic\ncalculated from `validTimeInterval.end.date`. The following is a sample of a customized\ntime for an expiration notification: \n\n```scdoc\n{\n \"message\": {\n \"messageType\": \"EXPIRATION_NOTIFICATION\",\n \"displayInterval\": {\n \"start\": {\n \"date\": datetime\n }\n }\n }\n}\n```\n\nThe `displayInterval.start.date` sets the time the notification appears. It can be\nset up to 30 days prior to the expiration date. If a time span greater than this is specified, the\nnotification triggers at the 30 day mark. This message doesn't require a header and body field -\nif they're included they aren't used.\n| **Note:** Only one expiration notification is sent to the user. Setting a custom offer expiration time means the default one isn't triggered."]]