> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # ListTriggers # Package: discounts # Namespace: CustomTriggersProvider # Method link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/discounts/custom-discount-triggers-integration-service-plugin/list-triggers.md ## Introduction Lists all custom triggers provided by your service plugin integration. This method is automatically called by Wix eCommerce to populate the custom [minimum requirements section of an automatic discount](https://support.wix.com/en/article/wix-stores-creating-automatic-discounts#:~:text=Create%20minimum%20requirements). --- ## REST API ### Schema ``` Method: listTriggers Description: Lists all custom triggers provided by your service plugin integration. This method is automatically called by Wix eCommerce to populate the custom [minimum requirements section of an automatic discount](https://support.wix.com/en/article/wix-stores-creating-automatic-discounts#:~:text=Create%20minimum%20requirements). URL: null Method: POST Return type: ListTriggersResponse - name: customTriggers | type: array | description: Custom triggers. - name: id | type: string | description: Custom trigger GUID. - name: name | type: string | description: Custom trigger name to display in the dashboard. ``` ### Examples ### List custom triggers - decoded JWT The data payload will include the following object as an encoded JWT. For the purposes of this example, we show the request and response objects decoded. ```curl curl -X POST https://provider.example.com/v1/listTriggers \ -H 'user-agent: Wix' \ -H 'accept-encoding: gzip, deflate' \ -H 'content-type: text/plain; charset=utf-8' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.discounts.CustomTriggersProvider.listTriggers(metadata) Description: Lists all custom triggers provided by your service plugin integration. This method is automatically called by Wix eCommerce to populate the custom [minimum requirements section of an automatic discount](https://support.wix.com/en/article/wix-stores-creating-automatic-discounts#:~:text=Create%20minimum%20requirements). Method parameters: param name: metadata | type: Context | description: this message is not directly used by any service, it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform. e.g. SPIs, event-handlers, etc.. NOTE: this context object MUST be provided as the last argument in each Velo method signature. Example: ```typescript export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) { ... } ``` - name: requestId | type: string | description: A unique identifier of the request. You may print this GUID to your logs to help with future debugging and easier correlation with Wix's logs. - name: currency | type: string | description: [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. - name: identity | type: IdentificationData | description: An object that describes the identity that triggered this request. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site. - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site. - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.). - name: appId | type: string | description: GUID of an app. - name: languages | type: array | description: A string representing a language and region in the format of `"xx-XX"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash "-", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `"en-US"`. - name: instanceId | type: string | description: The service provider app's instance GUID. Return type: PROMISE - name: customTriggers | type: array | description: Custom triggers. - name: _id | type: string | description: Custom trigger GUID. - name: name | type: string | description: Custom trigger name to display in the dashboard. ``` ### Examples ### Example of a `customTriggers` return value ```javascript import { customTriggers } from '@wix/ecom/service-plugins'; customTriggers.provideHandlers({ listTriggers: async ( payload ) => { const {request, metadata} = payload; // Use the `request` and `metadata` received from Wix and // apply custom logic. return { // Return your response exactly as documented to integrate with Wix. // Return value example: customTriggers: [ { _id: "my-happy-hour-trigger", name: "Happy Hour 16:00-18:00" }, { _id: "my-digital-sale-trigger", name: "Digital products discount" } ] } } }); ``` ### listTriggers (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { customTriggers } from '@wix/ecom/service-plugins'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { customTriggers }, // Include the auth strategy and host as relevant }); async function listTriggers(metadata) { const response = await myWixClient.customTriggers.listTriggers(metadata); }; ``` ---