MessageFragments

Update a message fragment

Updates an existing message fragment. Omitting permitted_membership_type_ids (or sending an empty array) clears the membership filter so the fragment becomes available to all customers; supply the field with the desired IDs to keep or change the restriction. Requires the SETTINGS_MANAGE permission on the fragment's site.

put/shop/message-fragments/{messageFragmentId}

Request body

namestring required

Internal label for the fragment, shown in the admin UI when authoring email templates. Not visible to customers.

message_type'basket_cancelled' | 'basket_confirmed' | 'basket_follow_up' | 'basket_item_cancelled' | 'basket_reminder' | 'order_summary' | 'pay_by_link_request' | 'appointment_enquiry_confirmed' | 'visit_prompt' | 'membership_welcome' | 'membership_cancelled' | 'voucher_recipient' | 'membership_enquiry_confirmed' | 'new_order' | 'new_enquiry'

Which transactional email this fragment is included in.

messagestring nullable

Body of the fragment. Accepts a restricted subset of HTML and is sanitised on save. Liquid-style placeholders are interpolated at send time.

priorityinteger nullable

Render order within a message. Fragments are concatenated in ascending priority order.

permitted_membership_type_idsstring[] nullable

MembershipType IDs the fragment is restricted to. Omit (or send an empty array) to clear the membership filter; the field is reset when not present in the request body.

Example request

{
  "name": "Spa - arrival instructions",
  "message": "<p>Hi {{ customer.first_name }} - we're looking forward\nto seeing you soon.</p>\n",
  "priority": 10,
  "offerings": [
    {
      "offering_name": "Twilight massage",
      "offering_type": "appointment"
    }
  ]
}

Response

The message fragment was successfully retrieved.

Example response

{
  "data": {
    "id": "65d4a6f7f4c1b22a3c5d4e8a",
    "name": "Spa - arrival instructions",
    "message_type": "basket_confirmed",
    "message": "<p>Hi {{ customer.first_name }} - we're looking forward to\nseeing you on {{ booking.starts_at|date }}. Please arrive\n15 minutes early to check in at reception.</p>\n",
    "priority": 10,
    "offerings": [
      {
        "offering_name": "Twilight massage",
        "offering_type": "appointment"
      }
    ],
    "permitted_membership_type_ids": [
      "65a1c4f7f4c1b22a3c5d1234"
    ]
  }
}

Changes