Event GroupEvent Identification
appsubscriptionappsubscription/expiration
Occurs whenever a merchant's subscribed app plan expires.
Request Headers
  • X-Shopline-Topic string required
    The unique identifier for the event.
    Example: orders/edited
  • X-Shopline-Hmac-Sha256 string required
    The signature of the request. Upon receiving the request, you must verify the signature to confirm the authenticity and integrity of the data.
    Example: XWmrwMey6OsLMeiZKwP4FppHH3cmAiiJJAweH5Jo4bM=
  • X-Shopline-Shop-Domain string required
    The store domain.
    Example: example.myshopline.com
  • X-Shopline-Shop-Id string required
    The store ID.
    Example: 1610418123456
  • X-Shopline-Merchant-Id string required
    The merchant ID.
    Example: 2000001234
  • X-Shopline-API-Version string required
    The API version.
    Example: v20250601
  • X-Shopline-Webhook-Id string required
    The ID of this Webhook event.
    Example: b54557e48a5fbf7d70bcd043
Request Body
  • appkey string
    The unique identifier for the app.
    Example: 56978e0b3f33365396d7786a62ed0a03727e3212
  • expirationTime long
    The actual expiration time of the plan in the format of a 10-digit seconds timestamp.
    Example: 1735689600
  • expirationType integer
    The type of plan expiration. Valid values are:
    • 0: The subscription is terminated. The grace period has ended, and there are no subsequent subscription plans.
    • 1: The current subscription was terminated due to a plan upgrade. A Webhook notification for App plan activated (event subscription required) will be sent when the new plan takes effect.
    • 2: The subscription was manually canceled through the SHOPLINE Admin, usually occurring in exceptional handling scenarios.
    • 3: The current subscription has expired but is still within the grace period.
    • 4: The current subscription has expired, and the next subscription period has already been activated.
  • handle string
    The unique identifier for the store, corresponding to the {handle} part of the store's domain {handle}.myshopline.com.
    Example: smartstore
  • secondChannelId string
    Secondary channel identifier, used to specify particular sales channels such as offline POS stores. Applicable scenarios:
    • When the plan is sold at the level of a single store, this field identifies the specific store.
    • When the plan is sold at the level of the entire shop, this field remains empty.
    Example: 4567223323
  • spuKey string
    The unique identifier for the plan, defined when the plan is created.
    Example: premium_email
  • subId string
    The original order number for the expired subscription.
    Example: 6578332207010012345
  • subPackageobject
    The activation and original expiration information of the expired plan. This field provides the corresponding information when the plan becomes invalid due to an upgrade or cancellation.
  • endAt long
    The original expiration time of the expired plan’s subscription as a 10-digit seconds timestamp.
    Example: 1735689600
  • startAt long
    The activation time of the expired plan’s subscription as a 10-digit seconds timestamp.
    Example: 1706810461
Status Codes
After receiving a webhook notification from SHOPLINE, you must respond with the following format:
HTTP/1.1 200 OK
For more information about how to subscribe to webhooks and webhook response rules, refer to Webhook overview.
Was this article helpful to you?