/** * Referrals service. * @module api/ReferralsApi */ export default class ReferralsApi { /** * Constructs a new ReferralsApi. * @alias ReferralsApi * @class * @param {module:ApiClient} [apiClient] Optional API client implementation to use, * default to {@link module:ApiClient#instance} if unspecified. */ constructor(apiClient?: any); apiClient: any; /** * Callback function to receive the result of the referralsAddHolders operation. * @callback referralsAddHoldersCallback * @param {Error|null} error Error object if failed, null otherwise. * @param {ReferralsMembersHoldersCreateInBulkResponseBody} [data] The data returned by the service call. * @param {Object} [response] Full response object if successful. */ /** * Add Referral Code Holders * Adds new holders to a referral code as **referees**. The data sent in the request is upserted into the customer data. If the request returns an error even for one customer, you have to resend the whole request. Customer data is upserted if the data for all customers is correct. To use this endpoint, you must have the following permissions: - Create and modify Customers and Segments (customers.modify) - Publish Voucher (vouchers.publish) To add a holder as a referrer, use the [Create Publication](/api-reference/publications/create-publication) endpoint. Alternative endpoint This endpoint is an alternative to the [Add Referral Code Holders endpoint](/api-reference/referrals/add-referral-code-holders-with-campaign-id). The URL was re-designed to retrieve the referral member holders without providing the campaignId as a path paremeter. * @param {String} memberId Unique referral code or its identifier. * @param {ReferralsMembersHoldersCreateInBulkRequestBody} referralsMembersHoldersCreateInBulkRequestBody Specify the customer data to be upserted as redeemable holders. * @param {referralsAddHoldersCallback} [callback] The callback function, accepting three arguments: error, data, response * data is of type: {@link ReferralsMembersHoldersCreateInBulkResponseBody} * @returns {Promise<(ReferralsMembersHoldersCreateInBulkResponseBody | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `ReferralsMembersHoldersCreateInBulkResponseBody` object or with `undefined`. */ referralsAddHolders(memberId: string, referralsMembersHoldersCreateInBulkRequestBody: ReferralsMembersHoldersCreateInBulkRequestBody, callback?: (error: Error | null, data?: ReferralsMembersHoldersCreateInBulkResponseBody, response?: any) => any): Promise<(ReferralsMembersHoldersCreateInBulkResponseBody | undefined)>; /** * Callback function to receive the result of the referralsAddHolders1 operation. * @callback referralsAddHolders1Callback * @param {Error|null} error Error object if failed, null otherwise. * @param {ReferralsMembersHoldersCreateInBulkResponseBody} [data] The data returned by the service call. * @param {Object} [response] Full response object if successful. */ /** * Add Referral Code Holders with Campaign ID * Adds new holders to a referral code as **referees**. The data sent in the request is upserted into the customer data. If the request returns an error even for one customer, you have to resend the whole request. Customer data is upserted if the data for all customers is correct. To use this endpoint, you must have the following permissions: - Create and modify Customers and Segments (customers.modify) - Publish Voucher (vouchers.publish) To add a holder as a referrer, use the [Create Publication](/api-reference/publications/create-publication) endpoint. * @param {String} campaignId Unique identifier of a referral program campaign. * @param {String} memberId Unique referral code or its identifier. * @param {ReferralsMembersHoldersCreateInBulkRequestBody} referralsMembersHoldersCreateInBulkRequestBody Specify the customer data to be upserted as redeemable holders. * @param {referralsAddHolders1Callback} [callback] The callback function, accepting three arguments: error, data, response * data is of type: {@link ReferralsMembersHoldersCreateInBulkResponseBody} * @returns {Promise<(ReferralsMembersHoldersCreateInBulkResponseBody | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `ReferralsMembersHoldersCreateInBulkResponseBody` object or with `undefined`. */ referralsAddHolders1(campaignId: string, memberId: string, referralsMembersHoldersCreateInBulkRequestBody: ReferralsMembersHoldersCreateInBulkRequestBody, callback?: (error: Error | null, data?: ReferralsMembersHoldersCreateInBulkResponseBody, response?: any) => any): Promise<(ReferralsMembersHoldersCreateInBulkResponseBody | undefined)>; /** * Callback function to receive the result of the referralsCodeHolders operation. * @callback referralsCodeHoldersCallback * @param {Error|null} error Error object if failed, null otherwise. * @param {ReferralsMembersHoldersListResponseBody} [data] The data returned by the service call. * @param {Object} [response] Full response object if successful. */ /** * List Referral Code Holders with campaign ID * Retrieves all the redeemables that have been assigned to the customer. To use this endpoint, you must have the following permissions: - Read Customers (customers.details.read) * @param {String} campaignId Unique identifier of a referral program campaign. * @param {String} memberId Unique referral code or its identifier. * @param {{ limit?: Number, order?: Exclude, startingAfterId?: String, filters?: ParameterFiltersListReferralsRedeemableHolders, }} [opts] Optional parameters * @param {referralsCodeHoldersCallback} [callback] The callback function, accepting three arguments: error, data, response * data is of type: {@link ReferralsMembersHoldersListResponseBody} * @returns {Promise<(ReferralsMembersHoldersListResponseBody | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `ReferralsMembersHoldersListResponseBody` object or with `undefined`. */ referralsCodeHolders(campaignId: string, memberId: string, opts?: { limit?: number; order?: Exclude; startingAfterId?: string; filters?: ParameterFiltersListReferralsRedeemableHolders; }, callback?: (error: Error | null, data?: ReferralsMembersHoldersListResponseBody, response?: any) => any): Promise<(ReferralsMembersHoldersListResponseBody | undefined)>; /** * Callback function to receive the result of the referralsCodeHolders1 operation. * @callback referralsCodeHolders1Callback * @param {Error|null} error Error object if failed, null otherwise. * @param {ReferralsMembersHoldersListResponseBody} [data] The data returned by the service call. * @param {Object} [response] Full response object if successful. */ /** * List Referral Code Holders * Retrieves the holders of the referral code from a referral campaign. To use this endpoint, you must have the following permissions: - Read Customers (customers.details.read) Alternative endpoint This endpoint is an alternative to the [List Member Holders endpoint](/api-reference/referrals/list-referral-code-holders-with-campaign-id). The URL was re-designed to retrieve the referral member holders without providing the campaignId as a path paremeter. * @param {String} memberId Unique referral code or its identifier. * @param {{ limit?: Number, order?: Exclude, startingAfterId?: String, filters?: ParameterFiltersListReferralsRedeemableHolders, }} [opts] Optional parameters * @param {referralsCodeHolders1Callback} [callback] The callback function, accepting three arguments: error, data, response * data is of type: {@link ReferralsMembersHoldersListResponseBody} * @returns {Promise<(ReferralsMembersHoldersListResponseBody | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `ReferralsMembersHoldersListResponseBody` object or with `undefined`. */ referralsCodeHolders1(memberId: string, opts?: { limit?: number; order?: Exclude; startingAfterId?: string; filters?: ParameterFiltersListReferralsRedeemableHolders; }, callback?: (error: Error | null, data?: ReferralsMembersHoldersListResponseBody, response?: any) => any): Promise<(ReferralsMembersHoldersListResponseBody | undefined)>; /** * Callback function to receive the result of the referralsRemoveHolder operation. * @callback referralsRemoveHolderCallback * @param {Error|null} error Error object if failed, null otherwise. * @param data This operation does not return a value. * @param {Object} [response] Full response object if successful. */ /** * Remove Referral Card Holder * Removes the holder from a referral card. You can remove a referee only. To use this endpoint, you must have the following permissions: - Create and modify Customers and Segments (customers.modify) - Publish Voucher (vouchers.publish) Alternative endpoint This endpoint is an alternative to the [Remove Referral Card Holder endpoint](/api-reference/referrals/remove-referral-card-holder-with-campaign-id). The URL was re-designed to retrieve the referral member holders without providing the campaignId as a path paremeter. * @param {String} memberId Unique referral code or its identifier. * @param {String} holderId Unique identifier of a redeemable holder. * @param {referralsRemoveHolderCallback} [callback] The callback function, accepting three arguments: error, data, response * @returns {Promise<( | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `` object or with `undefined`. */ referralsRemoveHolder(memberId: string, holderId: string, callback?: (error: Error | null, data: any, response?: any) => any): Promise<(undefined)>; /** * Callback function to receive the result of the referralsRemoveHolder1 operation. * @callback referralsRemoveHolder1Callback * @param {Error|null} error Error object if failed, null otherwise. * @param data This operation does not return a value. * @param {Object} [response] Full response object if successful. */ /** * Remove Referral Card Holder with campaign ID * Removes the holder from a referral card. You can remove a referee only. To use this endpoint, you must have the following permissions: - Create and modify Customers and Segments (customers.modify) - Publish Voucher (vouchers.publish) * @param {String} campaignId Unique identifier of a referral program campaign. * @param {String} memberId Unique referral code or its identifier. * @param {String} holderId Unique identifier of a redeemable holder. * @param {referralsRemoveHolder1Callback} [callback] The callback function, accepting three arguments: error, data, response * @returns {Promise<( | undefined)>} Depending on whether the `callback` parameter is provided, the promise will resolve with a `` object or with `undefined`. */ referralsRemoveHolder1(campaignId: string, memberId: string, holderId: string, callback?: (error: Error | null, data: any, response?: any) => any): Promise<(undefined)>; } import ReferralsMembersHoldersCreateInBulkRequestBody from '../model/ReferralsMembersHoldersCreateInBulkRequestBody'; import ReferralsMembersHoldersCreateInBulkResponseBody from '../model/ReferralsMembersHoldersCreateInBulkResponseBody'; import ParameterOrderListRedeemables from '../model/ParameterOrderListRedeemables'; import ParameterFiltersListReferralsRedeemableHolders from '../model/ParameterFiltersListReferralsRedeemableHolders'; import ReferralsMembersHoldersListResponseBody from '../model/ReferralsMembersHoldersListResponseBody';