@wix/auto_sdk_ecom_memberships 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{cjs/src/service-plugins-types.d.ts → index.d.mts} +228 -36
- package/build/{internal/cjs/src/service-plugins-types.d.ts → index.d.ts} +228 -36
- package/build/index.js +286 -0
- package/build/index.js.map +1 -0
- package/build/index.mjs +251 -0
- package/build/index.mjs.map +1 -0
- package/build/{es/src/service-plugins-types.d.ts → internal/index.d.mts} +228 -36
- package/build/internal/{es/src/service-plugins-types.d.ts → index.d.ts} +228 -36
- package/build/internal/index.js +286 -0
- package/build/internal/index.js.map +1 -0
- package/build/internal/index.mjs +251 -0
- package/build/internal/index.mjs.map +1 -0
- package/package.json +13 -12
- package/build/cjs/index.d.ts +0 -3
- package/build/cjs/index.js +0 -20
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/index.typings.d.ts +0 -29
- package/build/cjs/index.typings.js +0 -19
- package/build/cjs/index.typings.js.map +0 -1
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.context.d.ts +0 -5
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.context.js +0 -9
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.context.js.map +0 -1
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.public.d.ts +0 -36
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.public.js +0 -87
- package/build/cjs/src/interfaces-ecom-v1-memberships-provider.public.js.map +0 -1
- package/build/cjs/src/service-plugins-error-classes.d.ts +0 -150
- package/build/cjs/src/service-plugins-error-classes.js +0 -153
- package/build/cjs/src/service-plugins-error-classes.js.map +0 -1
- package/build/cjs/src/service-plugins-types.js +0 -35
- package/build/cjs/src/service-plugins-types.js.map +0 -1
- package/build/es/index.d.ts +0 -3
- package/build/es/index.js +0 -4
- package/build/es/index.js.map +0 -1
- package/build/es/index.typings.d.ts +0 -29
- package/build/es/index.typings.js +0 -3
- package/build/es/index.typings.js.map +0 -1
- package/build/es/src/interfaces-ecom-v1-memberships-provider.context.d.ts +0 -5
- package/build/es/src/interfaces-ecom-v1-memberships-provider.context.js +0 -6
- package/build/es/src/interfaces-ecom-v1-memberships-provider.context.js.map +0 -1
- package/build/es/src/interfaces-ecom-v1-memberships-provider.public.d.ts +0 -36
- package/build/es/src/interfaces-ecom-v1-memberships-provider.public.js +0 -84
- package/build/es/src/interfaces-ecom-v1-memberships-provider.public.js.map +0 -1
- package/build/es/src/service-plugins-error-classes.d.ts +0 -150
- package/build/es/src/service-plugins-error-classes.js +0 -143
- package/build/es/src/service-plugins-error-classes.js.map +0 -1
- package/build/es/src/service-plugins-types.js +0 -32
- package/build/es/src/service-plugins-types.js.map +0 -1
- package/build/internal/cjs/index.d.ts +0 -3
- package/build/internal/cjs/index.js +0 -20
- package/build/internal/cjs/index.js.map +0 -1
- package/build/internal/cjs/index.typings.d.ts +0 -29
- package/build/internal/cjs/index.typings.js +0 -19
- package/build/internal/cjs/index.typings.js.map +0 -1
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.context.d.ts +0 -5
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.context.js +0 -9
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.context.js.map +0 -1
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.public.d.ts +0 -36
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.public.js +0 -87
- package/build/internal/cjs/src/interfaces-ecom-v1-memberships-provider.public.js.map +0 -1
- package/build/internal/cjs/src/service-plugins-error-classes.d.ts +0 -150
- package/build/internal/cjs/src/service-plugins-error-classes.js +0 -153
- package/build/internal/cjs/src/service-plugins-error-classes.js.map +0 -1
- package/build/internal/cjs/src/service-plugins-types.js +0 -35
- package/build/internal/cjs/src/service-plugins-types.js.map +0 -1
- package/build/internal/es/index.d.ts +0 -3
- package/build/internal/es/index.js +0 -4
- package/build/internal/es/index.js.map +0 -1
- package/build/internal/es/index.typings.d.ts +0 -29
- package/build/internal/es/index.typings.js +0 -3
- package/build/internal/es/index.typings.js.map +0 -1
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.context.d.ts +0 -5
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.context.js +0 -6
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.context.js.map +0 -1
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.public.d.ts +0 -36
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.public.js +0 -84
- package/build/internal/es/src/interfaces-ecom-v1-memberships-provider.public.js.map +0 -1
- package/build/internal/es/src/service-plugins-error-classes.d.ts +0 -150
- package/build/internal/es/src/service-plugins-error-classes.js +0 -143
- package/build/internal/es/src/service-plugins-error-classes.js.map +0 -1
- package/build/internal/es/src/service-plugins-types.js +0 -32
- package/build/internal/es/src/service-plugins-types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/service-plugins-types.ts","../src/interfaces-ecom-v1-memberships-provider.public.ts","../src/interfaces-ecom-v1-memberships-provider.context.ts","../src/service-plugins-error-classes.ts"],"sourcesContent":["export interface ListEligibleMembershipsRequest {\n /**\n * The line items for which to list eligible memberships.\n * @minSize 1\n * @maxSize 300\n */\n lineItems: LineItem[];\n /**\n * Member ID.\n *\n * Do not retrieve this from the request context. In some cases the caller is not a member, but a user who is using the membership on behalf of a member.\n * @format GUID\n */\n memberId: string;\n /**\n * The selected payment memberships and which line items they apply to.\n *\n * When not provided, your implementation is expected to return the default selection.\n * When provided, your implementation is expected to validate and return it.\n */\n selectedMemberships?: SelectedMemberships;\n}\n\nexport interface LineItem {\n /**\n * Line item ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /** Catalog and item reference info. */\n catalogReference?: CatalogReference;\n /** Properties of the service. When relevant, contains information such as date and number of participants. */\n serviceProperties?: ServiceProperties;\n /**\n * Root catalog item ID.\n *\n * The value will usually be the same as `catalogReference.catalogItemId`.\n * In cases when these are not the same, this field will return the actual ID of the item in the catalog.\n * For example, for Wix bookings, the value of `catalogReference.catalogItemId` is the booking ID, but `rootCatalogItemId` is set to the service ID.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n}\n\n/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */\nexport interface CatalogReference {\n /**\n * ID of the item within the catalog it belongs to.\n * @minLength 1\n * @maxLength 36\n */\n catalogItemId?: string;\n /**\n * ID of the app providing the catalog.\n *\n * You can get your app's ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\n *\n * For items from Wix catalogs, the following values always apply:\n * + Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\n * + Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\n * + Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`\n * @minLength 1\n */\n appId?: string;\n /**\n * Additional item details in key:value pairs. Use this optional field to provide more specificity with item selection. The `options` field values differ depending on which catalog is providing the items.\n *\n * For products and variants from a Wix Stores catalog, learn more about eCommerce integration ([SDK](https://dev.wix.com/docs/sdk/backend-modules/stores/catalog-v3/e-commerce-integration) | [REST](https://dev.wix.com/docs/rest/business-solutions/stores/catalog/e-commerce-integration)).\n */\n options?: Record<string, any> | null;\n}\n\nexport interface ServiceProperties {\n /**\n * Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.\n * For example, the start time of a class.\n */\n scheduledDate?: Date | null;\n /**\n * The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.\n * @min 1\n * @max 10000\n */\n numberOfParticipants?: number | null;\n}\n\nexport interface SelectedMemberships {\n /**\n * Selected memberships.\n * @maxSize 300\n */\n memberships?: SelectedMembership[];\n}\n\nexport interface SelectedMembership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /**\n * IDs of the line items this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface ListEligibleMembershipsResponse {\n /**\n * List of memberships that are eligible for the given member and line items.\n * @maxSize 300\n */\n eligibleMemberships?: Membership[];\n /**\n * List of memberships owned by the member, but cannot be used due to the reason provided.\n * @maxSize 300\n */\n invalidMemberships?: InvalidMembership[];\n /**\n * List of selected memberships and which line items they apply to.\n * @maxSize 300\n */\n selectedMemberships?: SelectedMembership[];\n}\n\nexport interface Membership {\n /**\n * Membership ID.\n * @minLength 1\n * @maxLength 100\n */\n _id?: string;\n /** Membership name. */\n name?: MembershipName;\n /**\n * Line item IDs this membership applies to.\n * @minSize 1\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n /** Total and remaining membership credits. */\n credits?: MembershipPaymentCredits;\n /** Membership expiration date. */\n expirationDate?: Date | null;\n /** Additional data about this membership. */\n additionalData?: Record<string, any> | null;\n}\n\nexport interface MembershipName {\n /**\n * Membership name.\n * @maxLength 100\n */\n original?: string;\n /**\n * Translated membership name. Defaults to `original` when not provided.\n * @maxLength 100\n */\n translated?: string | null;\n}\n\nexport interface MembershipPaymentCredits {\n /**\n * Membership's total amount of credits.\n * @min 1\n */\n total?: number;\n /** Membership's remaining amount of credits. */\n remaining?: number;\n}\n\nexport interface InvalidMembership {\n /** The membership that is invalid and cannot be used. */\n membership?: Membership;\n /**\n * Reason why this membership is invalid.\n * @minLength 1\n * @maxLength 200\n */\n reason?: string;\n}\n\nexport interface MembershipInvalidSelectionErrors {\n /**\n * Error details for invalid memberships.\n * @maxSize 300\n */\n membershipInvalidSelectionErrors?: MembershipInvalidSelectionError[];\n}\n\nexport interface MembershipInvalidSelectionError\n extends MembershipInvalidSelectionErrorErrorDataOneOf {\n /** Line item IDs that were missing. */\n lineItemNotFoundInfo?: LineItemNotFoundInfo;\n /** Error details for line items that cannot be used with this membership. */\n membershipCannotBeUsedForLineItemsInfo?: MembershipCannotBeUsedForLineItemsInfo;\n /**\n * Reason why this membership selection is invalid.\n * @maxLength 1000\n */\n membershipSelectionInvalidReason?: string | null;\n /**\n * Membership ID.\n * @format GUID\n */\n membershipId?: string;\n /** Error type. */\n errorType?: MembershipErrorType;\n}\n\n/** @oneof */\nexport interface MembershipInvalidSelectionErrorErrorDataOneOf {\n /** Line item IDs that were missing. */\n lineItemNotFoundInfo?: LineItemNotFoundInfo;\n /** Error details for line items that cannot be used with this membership. */\n membershipCannotBeUsedForLineItemsInfo?: MembershipCannotBeUsedForLineItemsInfo;\n /**\n * Reason why this membership selection is invalid.\n * @maxLength 1000\n */\n membershipSelectionInvalidReason?: string | null;\n}\n\nexport enum MembershipErrorType {\n UNKNOWN = 'UNKNOWN',\n /** Membership not found. */\n MEMBERSHIP_NOT_FOUND = 'MEMBERSHIP_NOT_FOUND',\n /** The selection points to a line item ID that wasn't provided. */\n LINE_ITEM_NOT_FOUND = 'LINE_ITEM_NOT_FOUND',\n /** The membership cannot be used for the specific line items provided. */\n MEMBERSHIP_CANNOT_BE_USED_FOR_LINE_ITEMS = 'MEMBERSHIP_CANNOT_BE_USED_FOR_LINE_ITEMS',\n /** The membership can be used for each individual line item, but combining all of them is invalid. */\n MEMBERSHIP_SELECTION_INVALID = 'MEMBERSHIP_SELECTION_INVALID',\n}\n\nexport interface LineItemNotFoundInfo {\n /**\n * Line item IDs that were missing.\n * @maxSize 300\n * @minLength 1\n * @maxLength 100\n */\n lineItemIds?: string[];\n}\n\nexport interface MembershipCannotBeUsedForLineItemsInfo {\n /**\n * Line items that cannot be used with this membership, and the reason why.\n * @maxSize 300\n */\n lineItems?: MembershipCannotBeUsedForLineItemInfo[];\n}\n\nexport interface MembershipCannotBeUsedForLineItemInfo {\n /**\n * Line item ID.\n * @minLength 1\n * @maxLength 100\n */\n lineItemId?: string;\n /**\n * Reason why this line item cannot be used with this membership.\n * @maxLength 1000\n */\n reason?: string;\n}\n\nexport interface ChargeMembershipRequest {\n /**\n * Member ID.\n *\n * Do not retrieve this from the request context. In some cases the caller is not a member, but a user who is using the membership on behalf of a member.\n * @format GUID\n */\n memberId: string;\n /**\n * Membership ID, as returned from the List Eligible Memberships call.\n * @minLength 1\n * @maxLength 100\n */\n membershipId: string;\n /**\n * Idempotency key to avoid duplicate charge.\n * The value will usually would be the same as `membershipId` + `orderId` + `rootCatalogItemId`.\n * @minLength 1\n * @maxLength 200\n */\n idempotencyKey: string;\n /**\n * Service properties.\n *\n * When relevant, this contains information such as date and number of participants.\n */\n serviceProperties?: ServiceProperties;\n /** Catalog and item reference info. */\n catalogReference: CatalogReference;\n /**\n * Root catalog item ID.\n *\n * The value will usually be the same as `catalogReference.catalogItemId`.\n * In cases when these are not the same, this field will return the actual ID of the item in the catalog.\n * For example, for Wix bookings, the value of `catalogReference.catalogItemId` is the booking ID, but `rootCatalogItemId` is set to the service ID.\n * @minLength 1\n * @maxLength 36\n */\n rootCatalogItemId?: string | null;\n /** Additional data about this charge. */\n additionalData?: Record<string, any> | null;\n}\n\nexport interface ChargeMembershipResponse {\n /**\n * The transaction ID for this charge.\n *\n * Use this ID to void the charge.\n * @minLength 1\n * @maxLength 100\n */\n transactionId?: string;\n}\n\nexport interface MembershipCannotBeChargedError\n extends MembershipCannotBeChargedErrorErrorDataOneOf {\n /** Membership is out of credits. For example, 5 are required, but only 4 remain. */\n outOfCredits?: OutOfCredits;\n /** Membership has not become active yet. */\n notStartedYet?: NotStartedYet;\n /** Membership has expired or ended. */\n ended?: Ended;\n /** Error type. */\n errorType?: MembershipCannotBeChargedType;\n}\n\n/** @oneof */\nexport interface MembershipCannotBeChargedErrorErrorDataOneOf {\n /** Membership is out of credits. For example, 5 are required, but only 4 remain. */\n outOfCredits?: OutOfCredits;\n /** Membership has not become active yet. */\n notStartedYet?: NotStartedYet;\n /** Membership has expired or ended. */\n ended?: Ended;\n}\n\nexport enum MembershipCannotBeChargedType {\n /** Membership is out of credits. For example, 5 are required, but only 4 remain. */\n OUT_OF_CREDITS = 'OUT_OF_CREDITS',\n /** Membership has not become active yet. */\n NOT_STARTED_YET = 'NOT_STARTED_YET',\n /** Membership has expired or ended. */\n ENDED = 'ENDED',\n /** Not applicable for multiple participants. */\n NOT_APPLICABLE_FOR_MULTIPLE_PARTICIPANTS = 'NOT_APPLICABLE_FOR_MULTIPLE_PARTICIPANTS',\n}\n\nexport interface OutOfCredits {\n /** Required amount of credits. */\n required?: number;\n /** Remaining amount of credits. */\n remaining?: number;\n}\n\nexport interface NotStartedYet {\n /** Start date of the membership. */\n membershipStartDate?: Date | null;\n}\n\nexport interface Ended {\n /** End date of the membership. */\n endDate?: Date | null;\n}\n\nexport interface MembershipAlreadyChargedError {\n /**\n * ID of the transaction that was already used for membership charge.\n * @minLength 1\n * @maxLength 100\n */\n transactionId?: string;\n}\n\nexport interface GetMembershipVoidabilityRequest {\n /**\n * Transaction ID to check if it can be voided.\n * @minLength 1\n * @maxLength 100\n */\n transactionId: string;\n}\n\nexport interface GetMembershipVoidabilityResponse {\n /** Whether the membership charge can be voided. */\n voidable?: boolean;\n /**\n * Reason why the membership charge cannot be voided.\n * @minLength 1\n * @maxLength 200\n */\n reason?: string | null;\n}\n\nexport interface VoidMembershipChargeRequest {\n /**\n * Transaction ID to void.\n * @minLength 1\n * @maxLength 100\n */\n transactionId: string;\n}\n\nexport interface VoidMembershipChargeResponse {}\n\nexport interface MembershipsSPIConfig {\n /**\n * The base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI.\n * For example, to call the Charge Membership endpoint at https://my-memberships.com/v1/charge-membership, the base URI you provide here is https://my-memberships.com/.\n * @format WEB_URL\n */\n deploymentUri?: string;\n /**\n * The app IDs of the catalogs your app supports.\n * @minSize 1\n * @maxSize 300\n * @format GUID\n */\n catalogAppDefIds?: string[];\n}\n\n/**\n * this message is not directly used by any service,\n * it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.\n * e.g. SPIs, event-handlers, etc..\n * NOTE: this context object MUST be provided as the last argument in each Velo method signature.\n *\n * Example:\n * ```typescript\n * export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {\n * ...\n * }\n * ```\n */\nexport interface Context {\n /** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */\n requestId?: string | null;\n /**\n * [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code.\n * @format CURRENCY\n */\n currency?: string | null;\n /** An object that describes the identity that triggered this request. */\n identity?: IdentificationData;\n /** 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\"`. */\n languages?: string[];\n /**\n * The service provider app's instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n}\n\nexport enum IdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: IdentityType;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n","import { ServicePluginDefinition } from '@wix/sdk-types';\nimport {\n Context,\n ListEligibleMembershipsRequest,\n ListEligibleMembershipsResponse,\n ChargeMembershipRequest,\n ChargeMembershipResponse,\n GetMembershipVoidabilityRequest,\n GetMembershipVoidabilityResponse,\n VoidMembershipChargeRequest,\n VoidMembershipChargeResponse,\n} from './service-plugins-types.js';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\n\nexport interface ListEligibleMembershipsEnvelope {\n request: ListEligibleMembershipsRequest;\n metadata: Context;\n}\n\nexport interface ChargeMembershipEnvelope {\n request: ChargeMembershipRequest;\n metadata: Context;\n}\n\nexport interface GetMembershipVoidabilityEnvelope {\n request: GetMembershipVoidabilityRequest;\n metadata: Context;\n}\n\nexport interface VoidMembershipChargeEnvelope {\n request: VoidMembershipChargeRequest;\n metadata: Context;\n}\n\nexport const provideHandlers = ServicePluginDefinition<{\n /**\n *\n * This method retrieves eligible memberships from your app. */\n listEligibleMemberships(\n payload: ListEligibleMembershipsEnvelope\n ): ListEligibleMembershipsResponse | Promise<ListEligibleMembershipsResponse>;\n\n /**\n *\n * This method requests that a membership be charged by your app. */\n chargeMembership(\n payload: ChargeMembershipEnvelope\n ): ChargeMembershipResponse | Promise<ChargeMembershipResponse>;\n\n /**\n *\n * This method retrieves from your app whether a membership can be voided. */\n getMembershipVoidability(\n payload: GetMembershipVoidabilityEnvelope\n ):\n | GetMembershipVoidabilityResponse\n | Promise<GetMembershipVoidabilityResponse>;\n\n /**\n *\n * This method requests that a membership charge be voided by your app. */\n voidMembershipCharge(\n payload: VoidMembershipChargeEnvelope\n ): VoidMembershipChargeResponse | Promise<VoidMembershipChargeResponse>;\n}>('ECOM_MEMBERSHIPS', [\n {\n name: 'listEligibleMemberships',\n primaryHttpMappingPath: '/v1/list-eligible-memberships',\n transformations: {\n toREST: (payload: any) => {\n const toRestResponse = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'eligibleMemberships.expirationDate' },\n { path: 'invalidMemberships.membership.expirationDate' },\n ],\n },\n ]);\n\n return renameKeysFromSDKRequestToRESTRequest(toRestResponse);\n },\n fromREST: (payload: any) => {\n const fromRestRequest = transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'request.lineItems.serviceProperties.scheduledDate' },\n ],\n },\n ]);\n\n return renameKeysFromRESTResponseToSDKResponse(fromRestRequest);\n },\n },\n },\n\n {\n name: 'chargeMembership',\n primaryHttpMappingPath: '/v1/charge-membership',\n transformations: {\n toREST: (payload: any) => {\n const toRestResponse = payload;\n\n return renameKeysFromSDKRequestToRESTRequest(toRestResponse);\n },\n fromREST: (payload: any) => {\n const fromRestRequest = transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'request.serviceProperties.scheduledDate' }],\n },\n ]);\n\n return renameKeysFromRESTResponseToSDKResponse(fromRestRequest);\n },\n },\n },\n\n {\n name: 'getMembershipVoidability',\n primaryHttpMappingPath: '/v1/get-voidability',\n transformations: {\n toREST: (payload: any) => {\n const toRestResponse = payload;\n\n return renameKeysFromSDKRequestToRESTRequest(toRestResponse);\n },\n fromREST: (payload: any) => {\n const fromRestRequest = payload;\n\n return renameKeysFromRESTResponseToSDKResponse(fromRestRequest);\n },\n },\n },\n\n {\n name: 'voidMembershipCharge',\n primaryHttpMappingPath: '/v1/void-membership-charge',\n transformations: {\n toREST: (payload: any) => {\n const toRestResponse = payload;\n\n return renameKeysFromSDKRequestToRESTRequest(toRestResponse);\n },\n fromREST: (payload: any) => {\n const fromRestRequest = payload;\n\n return renameKeysFromRESTResponseToSDKResponse(fromRestRequest);\n },\n },\n },\n]);\n","import './interfaces-ecom-v1-memberships-provider.public.js';\nimport { createServicePluginModule } from '@wix/sdk-runtime/service-plugin-modules';\nimport { provideHandlers as publicProvideHandlers } from './interfaces-ecom-v1-memberships-provider.public.js';\n\nexport { publicProvideHandlers };\n\nexport const provideHandlers: ReturnType<\n typeof createServicePluginModule<typeof publicProvideHandlers>\n> = createServicePluginModule(publicProvideHandlers);\n","import {\n MembershipInvalidSelectionErrors,\n MembershipCannotBeChargedError,\n MembershipAlreadyChargedError,\n} from './service-plugins-types.js';\n\n/**\n * The provided membership selection is invalid\n */\nexport class InvalidSelectionWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorSchemaName: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n data: MembershipInvalidSelectionErrors;\n\n constructor(data: MembershipInvalidSelectionErrors = {}) {\n super('InvalidSelection');\n\n this.httpCode = 400;\n this.statusCode = 'INVALID_ARGUMENT';\n this.applicationCode = 'INVALID_SELECTION';\n this.name = 'InvalidSelection';\n this.errorSchemaName =\n 'com.wix.ecom.memberships_spi.v1.MembershipInvalidSelectionErrors';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'InvalidSelection',\n applicationCode: 'INVALID_SELECTION',\n };\n\n this.data = data;\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * The membership was found, but does not apply for the provided item\n */\nexport class MembershipDoesNotApplyToItemWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n constructor() {\n super('MembershipDoesNotApplyToItem');\n\n this.httpCode = 400;\n this.statusCode = 'INVALID_ARGUMENT';\n this.applicationCode = 'MEMBERSHIP_DOES_NOT_APPLY_TO_ITEM';\n this.name = 'MembershipDoesNotApplyToItem';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'MembershipDoesNotApplyToItem',\n applicationCode: 'MEMBERSHIP_DOES_NOT_APPLY_TO_ITEM',\n };\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * The membership was found, applied to the provided item but cannot be charged. For example because a limited membership doesn't have enough credits\n */\nexport class MembershipCannotBeUsedWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorSchemaName: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n data: MembershipCannotBeChargedError;\n\n constructor(data: MembershipCannotBeChargedError = {}) {\n super('MembershipCannotBeUsed');\n\n this.httpCode = 428;\n this.statusCode = 'FAILED_PRECONDITION';\n this.applicationCode = 'MEMBERSHIP_CANNOT_BE_CHARGED';\n this.name = 'MembershipCannotBeUsed';\n this.errorSchemaName =\n 'com.wix.ecom.memberships_spi.v1.MembershipCannotBeChargedError';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'MembershipCannotBeUsed',\n applicationCode: 'MEMBERSHIP_CANNOT_BE_CHARGED',\n };\n\n this.data = data;\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * This charge was already done, per the idempotency key of membershipId + orderId + rootCatalogItemId\n */\nexport class MembershipAlreadyChargedWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorSchemaName: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n data: MembershipAlreadyChargedError;\n\n constructor(data: MembershipAlreadyChargedError = {}) {\n super('MembershipAlreadyCharged');\n\n this.httpCode = 409;\n this.statusCode = 'ALREADY_EXISTS';\n this.applicationCode = 'MEMBERSHIP_ALREADY_CHARGED';\n this.name = 'MembershipAlreadyCharged';\n this.errorSchemaName =\n 'com.wix.ecom.memberships_spi.v1.MembershipAlreadyChargedError';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'MembershipAlreadyCharged',\n applicationCode: 'MEMBERSHIP_ALREADY_CHARGED',\n };\n\n this.data = data;\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * Transaction not found\n */\nexport class TransactionNotFoundWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n constructor() {\n super('TransactionNotFound');\n\n this.httpCode = 404;\n this.statusCode = 'NOT_FOUND';\n this.applicationCode = 'TRANSACTION_NOT_FOUND';\n this.name = 'TransactionNotFound';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'TransactionNotFound',\n applicationCode: 'TRANSACTION_NOT_FOUND',\n };\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * Transaction exists but cannot be voided\n */\nexport class TransactionCannotBeVoidedWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n constructor() {\n super('TransactionCannotBeVoided');\n\n this.httpCode = 428;\n this.statusCode = 'FAILED_PRECONDITION';\n this.applicationCode = 'TRANSACTION_CANNOT_BE_VOIDED';\n this.name = 'TransactionCannotBeVoided';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'TransactionCannotBeVoided',\n applicationCode: 'TRANSACTION_CANNOT_BE_VOIDED',\n };\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n\n/**\n * Transaction was already voided\n */\nexport class TransactionAlreadyVoidedWixError extends Error {\n /** @hidden */\n httpCode: number;\n /** @hidden */\n statusCode: string;\n /** @hidden */\n applicationCode: string;\n /** @hidden */\n name: string;\n /** @hidden */\n errorType: string;\n /** @hidden */\n spiErrorData: object;\n\n constructor() {\n super('TransactionAlreadyVoided');\n\n this.httpCode = 409;\n this.statusCode = 'ALREADY_EXISTS';\n this.applicationCode = 'TRANSACTION_ALREADY_VOIDED';\n this.name = 'TransactionAlreadyVoided';\n this.errorType = 'SPI';\n this.spiErrorData = {\n name: 'TransactionAlreadyVoided',\n applicationCode: 'TRANSACTION_ALREADY_VOIDED',\n };\n }\n\n /** @hidden */\n static readonly __type = 'wix_spi_error';\n}\n"],"mappings":"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","names":["MembershipErrorType","MembershipCannotBeChargedType","IdentityType","provideHandlers"]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { createServicePluginModule } from '@wix/sdk-runtime/service-plugin-modules';
|
|
2
|
+
import { ServicePluginDefinition } from '@wix/sdk-types';
|
|
3
|
+
|
|
4
|
+
interface ListEligibleMembershipsRequest {
|
|
2
5
|
/**
|
|
3
6
|
* The line items for which to list eligible memberships.
|
|
4
7
|
* @minSize 1
|
|
@@ -20,7 +23,7 @@ export interface ListEligibleMembershipsRequest {
|
|
|
20
23
|
*/
|
|
21
24
|
selectedMemberships?: SelectedMemberships;
|
|
22
25
|
}
|
|
23
|
-
|
|
26
|
+
interface LineItem {
|
|
24
27
|
/**
|
|
25
28
|
* Line item ID.
|
|
26
29
|
* @minLength 1
|
|
@@ -43,7 +46,7 @@ export interface LineItem {
|
|
|
43
46
|
rootCatalogItemId?: string | null;
|
|
44
47
|
}
|
|
45
48
|
/** Used for grouping line items. Sent when an item is added to a cart, checkout, or order. */
|
|
46
|
-
|
|
49
|
+
interface CatalogReference {
|
|
47
50
|
/**
|
|
48
51
|
* ID of the item within the catalog it belongs to.
|
|
49
52
|
* @minLength 1
|
|
@@ -69,7 +72,7 @@ export interface CatalogReference {
|
|
|
69
72
|
*/
|
|
70
73
|
options?: Record<string, any> | null;
|
|
71
74
|
}
|
|
72
|
-
|
|
75
|
+
interface ServiceProperties {
|
|
73
76
|
/**
|
|
74
77
|
* Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.
|
|
75
78
|
* For example, the start time of a class.
|
|
@@ -82,14 +85,14 @@ export interface ServiceProperties {
|
|
|
82
85
|
*/
|
|
83
86
|
numberOfParticipants?: number | null;
|
|
84
87
|
}
|
|
85
|
-
|
|
88
|
+
interface SelectedMemberships {
|
|
86
89
|
/**
|
|
87
90
|
* Selected memberships.
|
|
88
91
|
* @maxSize 300
|
|
89
92
|
*/
|
|
90
93
|
memberships?: SelectedMembership[];
|
|
91
94
|
}
|
|
92
|
-
|
|
95
|
+
interface SelectedMembership {
|
|
93
96
|
/**
|
|
94
97
|
* Membership ID.
|
|
95
98
|
* @minLength 1
|
|
@@ -105,7 +108,7 @@ export interface SelectedMembership {
|
|
|
105
108
|
*/
|
|
106
109
|
lineItemIds?: string[];
|
|
107
110
|
}
|
|
108
|
-
|
|
111
|
+
interface ListEligibleMembershipsResponse {
|
|
109
112
|
/**
|
|
110
113
|
* List of memberships that are eligible for the given member and line items.
|
|
111
114
|
* @maxSize 300
|
|
@@ -122,7 +125,7 @@ export interface ListEligibleMembershipsResponse {
|
|
|
122
125
|
*/
|
|
123
126
|
selectedMemberships?: SelectedMembership[];
|
|
124
127
|
}
|
|
125
|
-
|
|
128
|
+
interface Membership {
|
|
126
129
|
/**
|
|
127
130
|
* Membership ID.
|
|
128
131
|
* @minLength 1
|
|
@@ -146,7 +149,7 @@ export interface Membership {
|
|
|
146
149
|
/** Additional data about this membership. */
|
|
147
150
|
additionalData?: Record<string, any> | null;
|
|
148
151
|
}
|
|
149
|
-
|
|
152
|
+
interface MembershipName {
|
|
150
153
|
/**
|
|
151
154
|
* Membership name.
|
|
152
155
|
* @maxLength 100
|
|
@@ -158,7 +161,7 @@ export interface MembershipName {
|
|
|
158
161
|
*/
|
|
159
162
|
translated?: string | null;
|
|
160
163
|
}
|
|
161
|
-
|
|
164
|
+
interface MembershipPaymentCredits {
|
|
162
165
|
/**
|
|
163
166
|
* Membership's total amount of credits.
|
|
164
167
|
* @min 1
|
|
@@ -167,7 +170,7 @@ export interface MembershipPaymentCredits {
|
|
|
167
170
|
/** Membership's remaining amount of credits. */
|
|
168
171
|
remaining?: number;
|
|
169
172
|
}
|
|
170
|
-
|
|
173
|
+
interface InvalidMembership {
|
|
171
174
|
/** The membership that is invalid and cannot be used. */
|
|
172
175
|
membership?: Membership;
|
|
173
176
|
/**
|
|
@@ -177,14 +180,14 @@ export interface InvalidMembership {
|
|
|
177
180
|
*/
|
|
178
181
|
reason?: string;
|
|
179
182
|
}
|
|
180
|
-
|
|
183
|
+
interface MembershipInvalidSelectionErrors {
|
|
181
184
|
/**
|
|
182
185
|
* Error details for invalid memberships.
|
|
183
186
|
* @maxSize 300
|
|
184
187
|
*/
|
|
185
188
|
membershipInvalidSelectionErrors?: MembershipInvalidSelectionError[];
|
|
186
189
|
}
|
|
187
|
-
|
|
190
|
+
interface MembershipInvalidSelectionError extends MembershipInvalidSelectionErrorErrorDataOneOf {
|
|
188
191
|
/** Line item IDs that were missing. */
|
|
189
192
|
lineItemNotFoundInfo?: LineItemNotFoundInfo;
|
|
190
193
|
/** Error details for line items that cannot be used with this membership. */
|
|
@@ -203,7 +206,7 @@ export interface MembershipInvalidSelectionError extends MembershipInvalidSelect
|
|
|
203
206
|
errorType?: MembershipErrorType;
|
|
204
207
|
}
|
|
205
208
|
/** @oneof */
|
|
206
|
-
|
|
209
|
+
interface MembershipInvalidSelectionErrorErrorDataOneOf {
|
|
207
210
|
/** Line item IDs that were missing. */
|
|
208
211
|
lineItemNotFoundInfo?: LineItemNotFoundInfo;
|
|
209
212
|
/** Error details for line items that cannot be used with this membership. */
|
|
@@ -214,7 +217,7 @@ export interface MembershipInvalidSelectionErrorErrorDataOneOf {
|
|
|
214
217
|
*/
|
|
215
218
|
membershipSelectionInvalidReason?: string | null;
|
|
216
219
|
}
|
|
217
|
-
|
|
220
|
+
declare enum MembershipErrorType {
|
|
218
221
|
UNKNOWN = "UNKNOWN",
|
|
219
222
|
/** Membership not found. */
|
|
220
223
|
MEMBERSHIP_NOT_FOUND = "MEMBERSHIP_NOT_FOUND",
|
|
@@ -225,7 +228,7 @@ export declare enum MembershipErrorType {
|
|
|
225
228
|
/** The membership can be used for each individual line item, but combining all of them is invalid. */
|
|
226
229
|
MEMBERSHIP_SELECTION_INVALID = "MEMBERSHIP_SELECTION_INVALID"
|
|
227
230
|
}
|
|
228
|
-
|
|
231
|
+
interface LineItemNotFoundInfo {
|
|
229
232
|
/**
|
|
230
233
|
* Line item IDs that were missing.
|
|
231
234
|
* @maxSize 300
|
|
@@ -234,14 +237,14 @@ export interface LineItemNotFoundInfo {
|
|
|
234
237
|
*/
|
|
235
238
|
lineItemIds?: string[];
|
|
236
239
|
}
|
|
237
|
-
|
|
240
|
+
interface MembershipCannotBeUsedForLineItemsInfo {
|
|
238
241
|
/**
|
|
239
242
|
* Line items that cannot be used with this membership, and the reason why.
|
|
240
243
|
* @maxSize 300
|
|
241
244
|
*/
|
|
242
245
|
lineItems?: MembershipCannotBeUsedForLineItemInfo[];
|
|
243
246
|
}
|
|
244
|
-
|
|
247
|
+
interface MembershipCannotBeUsedForLineItemInfo {
|
|
245
248
|
/**
|
|
246
249
|
* Line item ID.
|
|
247
250
|
* @minLength 1
|
|
@@ -254,7 +257,7 @@ export interface MembershipCannotBeUsedForLineItemInfo {
|
|
|
254
257
|
*/
|
|
255
258
|
reason?: string;
|
|
256
259
|
}
|
|
257
|
-
|
|
260
|
+
interface ChargeMembershipRequest {
|
|
258
261
|
/**
|
|
259
262
|
* Member ID.
|
|
260
263
|
*
|
|
@@ -296,7 +299,7 @@ export interface ChargeMembershipRequest {
|
|
|
296
299
|
/** Additional data about this charge. */
|
|
297
300
|
additionalData?: Record<string, any> | null;
|
|
298
301
|
}
|
|
299
|
-
|
|
302
|
+
interface ChargeMembershipResponse {
|
|
300
303
|
/**
|
|
301
304
|
* The transaction ID for this charge.
|
|
302
305
|
*
|
|
@@ -306,7 +309,7 @@ export interface ChargeMembershipResponse {
|
|
|
306
309
|
*/
|
|
307
310
|
transactionId?: string;
|
|
308
311
|
}
|
|
309
|
-
|
|
312
|
+
interface MembershipCannotBeChargedError extends MembershipCannotBeChargedErrorErrorDataOneOf {
|
|
310
313
|
/** Membership is out of credits. For example, 5 are required, but only 4 remain. */
|
|
311
314
|
outOfCredits?: OutOfCredits;
|
|
312
315
|
/** Membership has not become active yet. */
|
|
@@ -317,7 +320,7 @@ export interface MembershipCannotBeChargedError extends MembershipCannotBeCharge
|
|
|
317
320
|
errorType?: MembershipCannotBeChargedType;
|
|
318
321
|
}
|
|
319
322
|
/** @oneof */
|
|
320
|
-
|
|
323
|
+
interface MembershipCannotBeChargedErrorErrorDataOneOf {
|
|
321
324
|
/** Membership is out of credits. For example, 5 are required, but only 4 remain. */
|
|
322
325
|
outOfCredits?: OutOfCredits;
|
|
323
326
|
/** Membership has not become active yet. */
|
|
@@ -325,7 +328,7 @@ export interface MembershipCannotBeChargedErrorErrorDataOneOf {
|
|
|
325
328
|
/** Membership has expired or ended. */
|
|
326
329
|
ended?: Ended;
|
|
327
330
|
}
|
|
328
|
-
|
|
331
|
+
declare enum MembershipCannotBeChargedType {
|
|
329
332
|
/** Membership is out of credits. For example, 5 are required, but only 4 remain. */
|
|
330
333
|
OUT_OF_CREDITS = "OUT_OF_CREDITS",
|
|
331
334
|
/** Membership has not become active yet. */
|
|
@@ -335,21 +338,21 @@ export declare enum MembershipCannotBeChargedType {
|
|
|
335
338
|
/** Not applicable for multiple participants. */
|
|
336
339
|
NOT_APPLICABLE_FOR_MULTIPLE_PARTICIPANTS = "NOT_APPLICABLE_FOR_MULTIPLE_PARTICIPANTS"
|
|
337
340
|
}
|
|
338
|
-
|
|
341
|
+
interface OutOfCredits {
|
|
339
342
|
/** Required amount of credits. */
|
|
340
343
|
required?: number;
|
|
341
344
|
/** Remaining amount of credits. */
|
|
342
345
|
remaining?: number;
|
|
343
346
|
}
|
|
344
|
-
|
|
347
|
+
interface NotStartedYet {
|
|
345
348
|
/** Start date of the membership. */
|
|
346
349
|
membershipStartDate?: Date | null;
|
|
347
350
|
}
|
|
348
|
-
|
|
351
|
+
interface Ended {
|
|
349
352
|
/** End date of the membership. */
|
|
350
353
|
endDate?: Date | null;
|
|
351
354
|
}
|
|
352
|
-
|
|
355
|
+
interface MembershipAlreadyChargedError {
|
|
353
356
|
/**
|
|
354
357
|
* ID of the transaction that was already used for membership charge.
|
|
355
358
|
* @minLength 1
|
|
@@ -357,7 +360,7 @@ export interface MembershipAlreadyChargedError {
|
|
|
357
360
|
*/
|
|
358
361
|
transactionId?: string;
|
|
359
362
|
}
|
|
360
|
-
|
|
363
|
+
interface GetMembershipVoidabilityRequest {
|
|
361
364
|
/**
|
|
362
365
|
* Transaction ID to check if it can be voided.
|
|
363
366
|
* @minLength 1
|
|
@@ -365,7 +368,7 @@ export interface GetMembershipVoidabilityRequest {
|
|
|
365
368
|
*/
|
|
366
369
|
transactionId: string;
|
|
367
370
|
}
|
|
368
|
-
|
|
371
|
+
interface GetMembershipVoidabilityResponse {
|
|
369
372
|
/** Whether the membership charge can be voided. */
|
|
370
373
|
voidable?: boolean;
|
|
371
374
|
/**
|
|
@@ -375,7 +378,7 @@ export interface GetMembershipVoidabilityResponse {
|
|
|
375
378
|
*/
|
|
376
379
|
reason?: string | null;
|
|
377
380
|
}
|
|
378
|
-
|
|
381
|
+
interface VoidMembershipChargeRequest {
|
|
379
382
|
/**
|
|
380
383
|
* Transaction ID to void.
|
|
381
384
|
* @minLength 1
|
|
@@ -383,9 +386,9 @@ export interface VoidMembershipChargeRequest {
|
|
|
383
386
|
*/
|
|
384
387
|
transactionId: string;
|
|
385
388
|
}
|
|
386
|
-
|
|
389
|
+
interface VoidMembershipChargeResponse {
|
|
387
390
|
}
|
|
388
|
-
|
|
391
|
+
interface MembershipsSPIConfig {
|
|
389
392
|
/**
|
|
390
393
|
* The base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI.
|
|
391
394
|
* For example, to call the Charge Membership endpoint at https://my-memberships.com/v1/charge-membership, the base URI you provide here is https://my-memberships.com/.
|
|
@@ -413,7 +416,7 @@ export interface MembershipsSPIConfig {
|
|
|
413
416
|
* }
|
|
414
417
|
* ```
|
|
415
418
|
*/
|
|
416
|
-
|
|
419
|
+
interface Context {
|
|
417
420
|
/** A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs. */
|
|
418
421
|
requestId?: string | null;
|
|
419
422
|
/**
|
|
@@ -431,14 +434,14 @@ export interface Context {
|
|
|
431
434
|
*/
|
|
432
435
|
instanceId?: string | null;
|
|
433
436
|
}
|
|
434
|
-
|
|
437
|
+
declare enum IdentityType {
|
|
435
438
|
UNKNOWN = "UNKNOWN",
|
|
436
439
|
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
|
|
437
440
|
MEMBER = "MEMBER",
|
|
438
441
|
WIX_USER = "WIX_USER",
|
|
439
442
|
APP = "APP"
|
|
440
443
|
}
|
|
441
|
-
|
|
444
|
+
interface IdentificationData extends IdentificationDataIdOneOf {
|
|
442
445
|
/**
|
|
443
446
|
* ID of a site visitor that has not logged in to the site.
|
|
444
447
|
* @format GUID
|
|
@@ -463,7 +466,7 @@ export interface IdentificationData extends IdentificationDataIdOneOf {
|
|
|
463
466
|
identityType?: IdentityType;
|
|
464
467
|
}
|
|
465
468
|
/** @oneof */
|
|
466
|
-
|
|
469
|
+
interface IdentificationDataIdOneOf {
|
|
467
470
|
/**
|
|
468
471
|
* ID of a site visitor that has not logged in to the site.
|
|
469
472
|
* @format GUID
|
|
@@ -485,3 +488,192 @@ export interface IdentificationDataIdOneOf {
|
|
|
485
488
|
*/
|
|
486
489
|
appId?: string;
|
|
487
490
|
}
|
|
491
|
+
|
|
492
|
+
interface ListEligibleMembershipsEnvelope {
|
|
493
|
+
request: ListEligibleMembershipsRequest;
|
|
494
|
+
metadata: Context;
|
|
495
|
+
}
|
|
496
|
+
interface ChargeMembershipEnvelope {
|
|
497
|
+
request: ChargeMembershipRequest;
|
|
498
|
+
metadata: Context;
|
|
499
|
+
}
|
|
500
|
+
interface GetMembershipVoidabilityEnvelope {
|
|
501
|
+
request: GetMembershipVoidabilityRequest;
|
|
502
|
+
metadata: Context;
|
|
503
|
+
}
|
|
504
|
+
interface VoidMembershipChargeEnvelope {
|
|
505
|
+
request: VoidMembershipChargeRequest;
|
|
506
|
+
metadata: Context;
|
|
507
|
+
}
|
|
508
|
+
declare const provideHandlers$1: ServicePluginDefinition<{
|
|
509
|
+
/**
|
|
510
|
+
*
|
|
511
|
+
* This method retrieves eligible memberships from your app. */
|
|
512
|
+
listEligibleMemberships(payload: ListEligibleMembershipsEnvelope): ListEligibleMembershipsResponse | Promise<ListEligibleMembershipsResponse>;
|
|
513
|
+
/**
|
|
514
|
+
*
|
|
515
|
+
* This method requests that a membership be charged by your app. */
|
|
516
|
+
chargeMembership(payload: ChargeMembershipEnvelope): ChargeMembershipResponse | Promise<ChargeMembershipResponse>;
|
|
517
|
+
/**
|
|
518
|
+
*
|
|
519
|
+
* This method retrieves from your app whether a membership can be voided. */
|
|
520
|
+
getMembershipVoidability(payload: GetMembershipVoidabilityEnvelope): GetMembershipVoidabilityResponse | Promise<GetMembershipVoidabilityResponse>;
|
|
521
|
+
/**
|
|
522
|
+
*
|
|
523
|
+
* This method requests that a membership charge be voided by your app. */
|
|
524
|
+
voidMembershipCharge(payload: VoidMembershipChargeEnvelope): VoidMembershipChargeResponse | Promise<VoidMembershipChargeResponse>;
|
|
525
|
+
}>;
|
|
526
|
+
|
|
527
|
+
declare const provideHandlers: ReturnType<typeof createServicePluginModule<typeof publicProvideHandlers>>;
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* The provided membership selection is invalid
|
|
531
|
+
*/
|
|
532
|
+
declare class InvalidSelectionWixError extends Error {
|
|
533
|
+
/** @hidden */
|
|
534
|
+
httpCode: number;
|
|
535
|
+
/** @hidden */
|
|
536
|
+
statusCode: string;
|
|
537
|
+
/** @hidden */
|
|
538
|
+
applicationCode: string;
|
|
539
|
+
/** @hidden */
|
|
540
|
+
name: string;
|
|
541
|
+
/** @hidden */
|
|
542
|
+
errorSchemaName: string;
|
|
543
|
+
/** @hidden */
|
|
544
|
+
errorType: string;
|
|
545
|
+
/** @hidden */
|
|
546
|
+
spiErrorData: object;
|
|
547
|
+
data: MembershipInvalidSelectionErrors;
|
|
548
|
+
constructor(data?: MembershipInvalidSelectionErrors);
|
|
549
|
+
/** @hidden */
|
|
550
|
+
static readonly __type = "wix_spi_error";
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* The membership was found, but does not apply for the provided item
|
|
554
|
+
*/
|
|
555
|
+
declare class MembershipDoesNotApplyToItemWixError extends Error {
|
|
556
|
+
/** @hidden */
|
|
557
|
+
httpCode: number;
|
|
558
|
+
/** @hidden */
|
|
559
|
+
statusCode: string;
|
|
560
|
+
/** @hidden */
|
|
561
|
+
applicationCode: string;
|
|
562
|
+
/** @hidden */
|
|
563
|
+
name: string;
|
|
564
|
+
/** @hidden */
|
|
565
|
+
errorType: string;
|
|
566
|
+
/** @hidden */
|
|
567
|
+
spiErrorData: object;
|
|
568
|
+
constructor();
|
|
569
|
+
/** @hidden */
|
|
570
|
+
static readonly __type = "wix_spi_error";
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* The membership was found, applied to the provided item but cannot be charged. For example because a limited membership doesn't have enough credits
|
|
574
|
+
*/
|
|
575
|
+
declare class MembershipCannotBeUsedWixError extends Error {
|
|
576
|
+
/** @hidden */
|
|
577
|
+
httpCode: number;
|
|
578
|
+
/** @hidden */
|
|
579
|
+
statusCode: string;
|
|
580
|
+
/** @hidden */
|
|
581
|
+
applicationCode: string;
|
|
582
|
+
/** @hidden */
|
|
583
|
+
name: string;
|
|
584
|
+
/** @hidden */
|
|
585
|
+
errorSchemaName: string;
|
|
586
|
+
/** @hidden */
|
|
587
|
+
errorType: string;
|
|
588
|
+
/** @hidden */
|
|
589
|
+
spiErrorData: object;
|
|
590
|
+
data: MembershipCannotBeChargedError;
|
|
591
|
+
constructor(data?: MembershipCannotBeChargedError);
|
|
592
|
+
/** @hidden */
|
|
593
|
+
static readonly __type = "wix_spi_error";
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* This charge was already done, per the idempotency key of membershipId + orderId + rootCatalogItemId
|
|
597
|
+
*/
|
|
598
|
+
declare class MembershipAlreadyChargedWixError extends Error {
|
|
599
|
+
/** @hidden */
|
|
600
|
+
httpCode: number;
|
|
601
|
+
/** @hidden */
|
|
602
|
+
statusCode: string;
|
|
603
|
+
/** @hidden */
|
|
604
|
+
applicationCode: string;
|
|
605
|
+
/** @hidden */
|
|
606
|
+
name: string;
|
|
607
|
+
/** @hidden */
|
|
608
|
+
errorSchemaName: string;
|
|
609
|
+
/** @hidden */
|
|
610
|
+
errorType: string;
|
|
611
|
+
/** @hidden */
|
|
612
|
+
spiErrorData: object;
|
|
613
|
+
data: MembershipAlreadyChargedError;
|
|
614
|
+
constructor(data?: MembershipAlreadyChargedError);
|
|
615
|
+
/** @hidden */
|
|
616
|
+
static readonly __type = "wix_spi_error";
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Transaction not found
|
|
620
|
+
*/
|
|
621
|
+
declare class TransactionNotFoundWixError extends Error {
|
|
622
|
+
/** @hidden */
|
|
623
|
+
httpCode: number;
|
|
624
|
+
/** @hidden */
|
|
625
|
+
statusCode: string;
|
|
626
|
+
/** @hidden */
|
|
627
|
+
applicationCode: string;
|
|
628
|
+
/** @hidden */
|
|
629
|
+
name: string;
|
|
630
|
+
/** @hidden */
|
|
631
|
+
errorType: string;
|
|
632
|
+
/** @hidden */
|
|
633
|
+
spiErrorData: object;
|
|
634
|
+
constructor();
|
|
635
|
+
/** @hidden */
|
|
636
|
+
static readonly __type = "wix_spi_error";
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* Transaction exists but cannot be voided
|
|
640
|
+
*/
|
|
641
|
+
declare class TransactionCannotBeVoidedWixError extends Error {
|
|
642
|
+
/** @hidden */
|
|
643
|
+
httpCode: number;
|
|
644
|
+
/** @hidden */
|
|
645
|
+
statusCode: string;
|
|
646
|
+
/** @hidden */
|
|
647
|
+
applicationCode: string;
|
|
648
|
+
/** @hidden */
|
|
649
|
+
name: string;
|
|
650
|
+
/** @hidden */
|
|
651
|
+
errorType: string;
|
|
652
|
+
/** @hidden */
|
|
653
|
+
spiErrorData: object;
|
|
654
|
+
constructor();
|
|
655
|
+
/** @hidden */
|
|
656
|
+
static readonly __type = "wix_spi_error";
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Transaction was already voided
|
|
660
|
+
*/
|
|
661
|
+
declare class TransactionAlreadyVoidedWixError extends Error {
|
|
662
|
+
/** @hidden */
|
|
663
|
+
httpCode: number;
|
|
664
|
+
/** @hidden */
|
|
665
|
+
statusCode: string;
|
|
666
|
+
/** @hidden */
|
|
667
|
+
applicationCode: string;
|
|
668
|
+
/** @hidden */
|
|
669
|
+
name: string;
|
|
670
|
+
/** @hidden */
|
|
671
|
+
errorType: string;
|
|
672
|
+
/** @hidden */
|
|
673
|
+
spiErrorData: object;
|
|
674
|
+
constructor();
|
|
675
|
+
/** @hidden */
|
|
676
|
+
static readonly __type = "wix_spi_error";
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
export { type CatalogReference, type ChargeMembershipRequest, type ChargeMembershipResponse, type Context, type Ended, type GetMembershipVoidabilityRequest, type GetMembershipVoidabilityResponse, type IdentificationData, type IdentificationDataIdOneOf, IdentityType, type InvalidMembership, InvalidSelectionWixError, type LineItem, type LineItemNotFoundInfo, type ListEligibleMembershipsRequest, type ListEligibleMembershipsResponse, type Membership, type MembershipAlreadyChargedError, MembershipAlreadyChargedWixError, type MembershipCannotBeChargedError, type MembershipCannotBeChargedErrorErrorDataOneOf, MembershipCannotBeChargedType, type MembershipCannotBeUsedForLineItemInfo, type MembershipCannotBeUsedForLineItemsInfo, MembershipCannotBeUsedWixError, MembershipDoesNotApplyToItemWixError, MembershipErrorType, type MembershipInvalidSelectionError, type MembershipInvalidSelectionErrorErrorDataOneOf, type MembershipInvalidSelectionErrors, type MembershipName, type MembershipPaymentCredits, type MembershipsSPIConfig, type NotStartedYet, type OutOfCredits, type SelectedMembership, type SelectedMemberships, type ServiceProperties, TransactionAlreadyVoidedWixError, TransactionCannotBeVoidedWixError, TransactionNotFoundWixError, type VoidMembershipChargeRequest, type VoidMembershipChargeResponse, provideHandlers, provideHandlers$1 as publicProvideHandlers };
|