/** * wallet-api * API * * The version of the OpenAPI document: 2.1.600 * Contact: development@wallet.inc * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import localVarRequest from 'request'; import http from 'http'; /* tslint:disable:no-unused-locals */ import { AuthError } from '../model/authError'; import { FalsumError } from '../model/falsumError'; import { InternalServerError } from '../model/internalServerError'; import { MSAnalyticsMemberCountPartitionedByDate } from '../model/mSAnalyticsMemberCountPartitionedByDate'; import { MSAnalyticsMemberPointsRedeemedPartitionedByDate } from '../model/mSAnalyticsMemberPointsRedeemedPartitionedByDate'; import { MSAnalyticsMemberPointsRefundedPartitionedByDate } from '../model/mSAnalyticsMemberPointsRefundedPartitionedByDate'; import { MSAnalyticsMembershipTierAmountRedeemedPartitionedByDate } from '../model/mSAnalyticsMembershipTierAmountRedeemedPartitionedByDate'; import { MSAnalyticsMembershipTierAmountRefundedPartitionedByDate } from '../model/mSAnalyticsMembershipTierAmountRefundedPartitionedByDate'; import { WTCountResult } from '../model/wTCountResult'; import { WTWalletObjectPrefixCounts } from '../model/wTWalletObjectPrefixCounts'; import { WTWalletPageView } from '../model/wTWalletPageView'; import { WalletPageView } from '../model/walletPageView'; import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; import { HttpError, RequestFile } from './apis'; let defaultBasePath = 'https://api.wall.et'; // =============================================== // This file is autogenerated - Please do not edit // =============================================== export enum AnalyticsApiApiKeys { api_key, } export class AnalyticsApi { protected _basePath = defaultBasePath; protected _defaultHeaders : any = {}; protected _useQuerystring : boolean = false; protected authentications = { 'default': new VoidAuth(), 'api_key': new ApiKeyAuth('header', 'access-token'), } protected interceptors: Interceptor[] = []; constructor(basePath?: string); constructor(basePathOrUsername: string, password?: string, basePath?: string) { if (password) { if (basePath) { this.basePath = basePath; } } else { if (basePathOrUsername) { this.basePath = basePathOrUsername } } } set useQuerystring(value: boolean) { this._useQuerystring = value; } set basePath(basePath: string) { this._basePath = basePath; } set defaultHeaders(defaultHeaders: any) { this._defaultHeaders = defaultHeaders; } get defaultHeaders() { return this._defaultHeaders; } get basePath() { return this._basePath; } public setDefaultAuthentication(auth: Authentication) { this.authentications.default = auth; } public setApiKey(key: AnalyticsApiApiKeys, value: string) { (this.authentications as any)[AnalyticsApiApiKeys[key]].apiKey = value; } public addInterceptor(interceptor: Interceptor) { this.interceptors.push(interceptor); } /** * * @summary Count opt in list subscribers * @param isSubscribed * @param isPendingAge21Verification * @param isArchiveIncluded * @param startDate * @param endDate */ public async countAllSubscribers (isSubscribed?: boolean, isPendingAge21Verification?: boolean, isArchiveIncluded?: boolean, startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: WTCountResult; }> { const localVarPath = this.basePath + '/v2/analytics/sms/all/subscribers/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (isSubscribed !== undefined) { localVarQueryParameters['isSubscribed'] = ObjectSerializer.serialize(isSubscribed, "boolean"); } if (isPendingAge21Verification !== undefined) { localVarQueryParameters['isPendingAge21Verification'] = ObjectSerializer.serialize(isPendingAge21Verification, "boolean"); } if (isArchiveIncluded !== undefined) { localVarQueryParameters['isArchiveIncluded'] = ObjectSerializer.serialize(isArchiveIncluded, "boolean"); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: WTCountResult; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "WTCountResult"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count authenticated sessions * @param startDate * @param endDate */ public async countAuthenticatedSessions (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/count/distinct/authenticated'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate * @param transactionType * @param segmentType */ public async countDistinctRedemptions (startDate: Date, endDate: Date, transactionType?: string, segmentType?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/ledger/paymentObject/distinct/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countDistinctRedemptions.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countDistinctRedemptions.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (transactionType !== undefined) { localVarQueryParameters['transactionType'] = ObjectSerializer.serialize(transactionType, "string"); } if (segmentType !== undefined) { localVarQueryParameters['segmentType'] = ObjectSerializer.serialize(segmentType, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count help desk requests by date * @param startDate * @param endDate * @param locale * @param timezone * @param isResolved */ public async countHelpDeskRequests (startDate: Date, endDate: Date, locale: string, timezone: string, isResolved?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/helpdeskrequests/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countHelpDeskRequests.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countHelpDeskRequests.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling countHelpDeskRequests.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling countHelpDeskRequests.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } if (isResolved !== undefined) { localVarQueryParameters['isResolved'] = ObjectSerializer.serialize(isResolved, "boolean"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count opt in list subscribers * @param startDate * @param endDate */ public async countInboundMessages (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: WTCountResult; }> { const localVarPath = this.basePath + '/v2/analytics/sms/inbound/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: WTCountResult; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "WTCountResult"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count new sessions * @param startDate * @param endDate */ public async countNewSessions (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/count/distinct/first'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count opt in list subscribers by date * @param startDate * @param endDate */ public async countOptInListSubscribersPartitionedByDate (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/sms/all/subscribers/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countOptInListSubscribersPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countOptInListSubscribersPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count opt in list subscribers * @param startDate * @param endDate */ public async countOutboundMessages (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: WTCountResult; }> { const localVarPath = this.basePath + '/v2/analytics/sms/outbound/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: WTCountResult; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "WTCountResult"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count total sessions * @param startDate * @param endDate */ public async countTotalSessions (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/count/distinct'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate * @param transactionType * @param segmentType */ public async countTransactions (startDate: Date, endDate: Date, transactionType?: string, segmentType?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/ledger/transactions/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countTransactions.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countTransactions.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (transactionType !== undefined) { localVarQueryParameters['transactionType'] = ObjectSerializer.serialize(transactionType, "string"); } if (segmentType !== undefined) { localVarQueryParameters['segmentType'] = ObjectSerializer.serialize(segmentType, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch wallet object counts within a given time frame that have a valid phone verification token * @param startDate * @param endDate */ public async countVerifiedWalletPageViews (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/verified/distinct/walletObjectsCount'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countVerifiedWalletPageViews.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countVerifiedWalletPageViews.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch wallet object counts within a given time frame * @param startDate * @param endDate */ public async countWalletPageViews (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/distinct/walletObjectsCount'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling countWalletPageViews.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling countWalletPageViews.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count exit clicks * @param startDate * @param endDate */ public async exitLinkSummary (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/exitLinkSummary'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count ad credits by employee * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsCountPartitionedByEmployee (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/count/employee'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByEmployee.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByEmployee.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count ad credits by payment design * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsCountPartitionedByPaymentDesign (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/count/paymentDesign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByPaymentDesign.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByPaymentDesign.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count ad credits by value type * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsCountPartitionedByValueType (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/count/valueType'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByValueType.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsCountPartitionedByValueType.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of ad credits by Ad Credit * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByAdCreditID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/redemptions/amount/adCredit'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByAdCreditID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByAdCreditID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of ad credits by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/redemptions/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of ad credits by Ad Credit * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsRedemptionsCountPartitionedByAdCreditID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/redemptions/count/adCredit'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByAdCreditID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByAdCreditID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of ad credits by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsAdCreditsRedemptionsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/redemptions/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsAdCreditsRedemptionsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of ad credits by Ad Credit * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsRefundsAmountPartitionedByAdCreditID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/refunds/amount/adCredit'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByAdCreditID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByAdCreditID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of ad credits by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsAdCreditsRefundsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/refunds/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsAdCreditsRefundsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count refunds of ad credits by Ad Credit * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsRefundsCountPartitionedByAdCreditID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/refunds/count/adCredit'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByAdCreditID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByAdCreditID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count refunds of ad credits by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsAdCreditsRefundsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/refunds/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsAdCreditsRefundsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scans of ad credits by Ad Credit * @param startDate * @param endDate */ public async fetchAnalyticsAdCreditsScansCountPartitionedByAdCreditID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/scans/count/adCredit'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByAdCreditID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByAdCreditID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scans of ad credits by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsAdCreditsScansCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/advertisementCredits/scans/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsAdCreditsScansCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch a campaign\'s wallet page views * @param campaignID */ public async fetchAnalyticsCampaignWalletPageViews (campaignID: any, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/campaign/{campaignID}' .replace('{' + 'campaignID' + '}', encodeURIComponent(String(campaignID))); let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'campaignID' is not null or undefined if (campaignID === null || campaignID === undefined) { throw new Error('Required parameter campaignID was null or undefined when calling fetchAnalyticsCampaignWalletPageViews.'); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count created campaigns by campaign * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsCountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/count/campaign/created'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count campaigns by employee * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsCountPartitionedByEmployee (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/count/employee'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByEmployee.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByEmployee.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count campaigns by payment design * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsCountPartitionedByPaymentDesign (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/count/paymentDesign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByPaymentDesign.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByPaymentDesign.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count campaigns by value type * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsCountPartitionedByValueType (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/count/valueType'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByValueType.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsCountPartitionedByValueType.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of campaigns by Campaign * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsRedemptionsAmountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/redemptions/amount/campaign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of campaigns by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsCampaignsRedemptionsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/redemptions/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsCampaignsRedemptionsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of campaigns by Campaign * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsRedemptionsCountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/redemptions/count/campaign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of campaigns by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsCampaignsRedemptionsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/redemptions/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsCampaignsRedemptionsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsRefundsAmountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/refunds/amount/campaign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsCampaignsRefundsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/refunds/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsCampaignsRefundsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate */ public async fetchAnalyticsCampaignsRefundsCountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/refunds/count/campaign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsCampaignsRefundsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/refunds/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsCampaignsRefundsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count delivered outbound messages by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/outboundSMS/count/date/delivered'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count delivered outbound messages by phone number * @param startDate * @param endDate */ public async fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByPhoneNumber (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/outboundSMS/count/phoneNumber/delivered'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByPhoneNumber.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDeliveredOutboundMessagesCountPartitionedByPhoneNumber.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch distinct wallet sessions * @param startDate * @param endDate */ public async fetchAnalyticsDistinctWalletSessions (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/sessions/distinct'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count dynamic vouchers by employee * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersCountPartitionedByEmployee (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/count/employee'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersCountPartitionedByEmployee.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersCountPartitionedByEmployee.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count dynamic vouchers by payment design * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersCountPartitionedByPaymentDesign (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/count/paymentDesign'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersCountPartitionedByPaymentDesign.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersCountPartitionedByPaymentDesign.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of dynamic vouchers by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/redemptions/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redemption amount of dynamic vouchers by dynamic voucher * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDynamicVoucherID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/redemptions/amount/dynamicVoucher'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDynamicVoucherID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsAmountPartitionedByDynamicVoucherID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of dynamic vouchers by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/redemptions/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redemptions of dynamic vouchers by dynamic voucher * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDynamicVoucherID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/redemptions/count/dynamicVoucher'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDynamicVoucherID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRedemptionsCountPartitionedByDynamicVoucherID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of dynamic vouchers by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/refunds/amount/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of dynamic vouchers by dynamic voucher * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDynamicVoucherID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/refunds/amount/dynamicVoucher'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDynamicVoucherID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsAmountPartitionedByDynamicVoucherID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count refunds of dynamic vouchers by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/refunds/count/date'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count refunds of dynamic vouchers by dynamic voucher * @param startDate * @param endDate */ public async fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDynamicVoucherID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/dynamicVouchers/refunds/count/dynamicVoucher'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDynamicVoucherID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsDynamicVouchersRefundsCountPartitionedByDynamicVoucherID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count help desk requests by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsHelpDeskRequestsCreatedCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/helpdeskrequests/count/date/created'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsCreatedCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsCreatedCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsHelpDeskRequestsCreatedCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsHelpDeskRequestsCreatedCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count resolved help desk requests by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/helpdeskrequests/count/date/resolved'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count resolved help desk requests by employee * @param startDate * @param endDate */ public async fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByEmployee (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/helpdeskrequests/count/employee/resolved'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByEmployee.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsResolvedCountPartitionedByEmployee.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count unresolved help desk requests by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsHelpDeskRequestsUnresolvedCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/helpdeskrequests/count/date/unresolved'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsUnresolvedCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsHelpDeskRequestsUnresolvedCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsHelpDeskRequestsUnresolvedCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsHelpDeskRequestsUnresolvedCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch wallet page views of item * @param itemID */ public async fetchAnalyticsItemWalletPageViews (itemID: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/item/{itemID}' .replace('{' + 'itemID' + '}', encodeURIComponent(String(itemID))); let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'itemID' is not null or undefined if (itemID === null || itemID === undefined) { throw new Error('Required parameter itemID was null or undefined when calling fetchAnalyticsItemWalletPageViews.'); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count members * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsMemberCount (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/membership/member/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsMemberCount.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsMemberCount.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsMemberCount.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsMemberCount.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count merchant credits * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsMerchantCreditCount (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/membership/merchantCredit/count'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsMerchantCreditCount.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsMerchantCreditCount.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsMerchantCreditCount.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsMerchantCreditCount.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch offer vs redeemed amount by campaign * @param startDate * @param endDate */ public async fetchAnalyticsOfferVsRedeemedAmountPartitionedByCampaignID (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/campaigns/amount/campaign/offerVsRedeemed'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsOfferVsRedeemedAmountPartitionedByCampaignID.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsOfferVsRedeemedAmountPartitionedByCampaignID.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count created broadcasts by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsPaymentObjectBroadcastsCreatedCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/count/date/created'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsCreatedCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsCreatedCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsCreatedCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsCreatedCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch execution time of completed broadcasts * @param startDate * @param endDate */ public async fetchAnalyticsPaymentObjectBroadcastsIndividualExecutionTimeOfCompletedBroadcasts (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/executionTime/completed'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsIndividualExecutionTimeOfCompletedBroadcasts.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsIndividualExecutionTimeOfCompletedBroadcasts.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scheduled broadcasts by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/count/date/scheduled'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scheduled broadcasts by employee * @param startDate * @param endDate */ public async fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByEmployee (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/count/employee/scheduled'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByEmployee.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByEmployee.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scheduled broadcasts by phone number * @param startDate * @param endDate */ public async fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByPhoneNumber (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/count/phoneNumber/scheduled'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByPhoneNumber.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledCountPartitionedByPhoneNumber.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count scheduled SMS broadcasts by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsPaymentObjectBroadcastsScheduledSMSCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/paymentObjectBroadcasts/sms/count/date/scheduled'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledSMSCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledSMSCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledSMSCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsPaymentObjectBroadcastsScheduledSMSCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count sent outbound messages by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsSentOutboundMessagesCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/outboundSMS/count/date/sent'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count sent outbound messages by phone number * @param startDate * @param endDate */ public async fetchAnalyticsSentOutboundMessagesCountPartitionedByPhoneNumber (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/outboundSMS/count/phoneNumber/sent'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByPhoneNumber.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsSentOutboundMessagesCountPartitionedByPhoneNumber.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch a static voucher\'s wallet page views * @param voucherID */ public async fetchAnalyticsStaticVoucherWalletPageViews (voucherID: any, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/staticVoucher/{voucherID}' .replace('{' + 'voucherID' + '}', encodeURIComponent(String(voucherID))); let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'voucherID' is not null or undefined if (voucherID === null || voucherID === undefined) { throw new Error('Required parameter voucherID was null or undefined when calling fetchAnalyticsStaticVoucherWalletPageViews.'); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count created TCPA Filter entries by date * @param startDate * @param endDate */ public async fetchAnalyticsTCPAFiltersCreateCountPartitionedByDate (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/tcpafilters/count/date/create'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTCPAFiltersCreateCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTCPAFiltersCreateCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count deleted TCPA Filter entries by date * @param startDate * @param endDate */ public async fetchAnalyticsTCPAFiltersDeleteCountPartitionedByDate (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/tcpafilters/count/date/delete'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTCPAFiltersDeleteCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTCPAFiltersDeleteCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count TCPA (STOP) entries by date * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTCPAStopCountPartitionedByDate (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/tcpa/count/date/stop'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByDate.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByDate.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByDate.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByDate.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count TCPA (STOP) entries by phone number * @param startDate * @param endDate */ public async fetchAnalyticsTCPAStopCountPartitionedByPhoneNumber (startDate: Date, endDate: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/tcpa/count/phoneNumber/stop'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByPhoneNumber.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTCPAStopCountPartitionedByPhoneNumber.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redeemed amount of merchant credits * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalAmountRedeemedPerMerchantCredit (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/membership/merchantCredit/amount/redeemed'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerMerchantCredit.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerMerchantCredit.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerMerchantCredit.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerMerchantCredit.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch redeemed amoun̥t of tiers * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalAmountRedeemedPerTier (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/membership/tier/amount/redeemed'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerTier.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerTier.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerTier.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalAmountRedeemedPerTier.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refunded amount of merchant credits * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalAmountRefundedPerMerchantCredit (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/membership/merchantCredit/amount/refunded'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerMerchantCredit.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerMerchantCredit.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerMerchantCredit.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerMerchantCredit.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refunded amount of tiers * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalAmountRefundedPerTier (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/membership/tier/amount/refunded'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerTier.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerTier.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerTier.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalAmountRefundedPerTier.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count redeemed points * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalPointsRedeemed (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/membership/member/points/redeemed'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalPointsRedeemed.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalPointsRedeemed.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalPointsRedeemed.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalPointsRedeemed.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count refunded points * @param startDate * @param endDate * @param locale * @param timezone */ public async fetchAnalyticsTotalPointsRefunded (startDate: Date, endDate: Date, locale: string, timezone: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/membership/member/points/refunded'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling fetchAnalyticsTotalPointsRefunded.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling fetchAnalyticsTotalPointsRefunded.'); } // verify required parameter 'locale' is not null or undefined if (locale === null || locale === undefined) { throw new Error('Required parameter locale was null or undefined when calling fetchAnalyticsTotalPointsRefunded.'); } // verify required parameter 'timezone' is not null or undefined if (timezone === null || timezone === undefined) { throw new Error('Required parameter timezone was null or undefined when calling fetchAnalyticsTotalPointsRefunded.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (locale !== undefined) { localVarQueryParameters['locale'] = ObjectSerializer.serialize(locale, "string"); } if (timezone !== undefined) { localVarQueryParameters['timezone'] = ObjectSerializer.serialize(timezone, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch session activity * @param sessionID */ public async fetchAnalyticsWalletSessionActivity (sessionID: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/session/activity/{sessionID}' .replace('{' + 'sessionID' + '}', encodeURIComponent(String(sessionID))); let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'sessionID' is not null or undefined if (sessionID === null || sessionID === undefined) { throw new Error('Required parameter sessionID was null or undefined when calling fetchAnalyticsWalletSessionActivity.'); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "Array"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch session activity by wallet page view ID * @param id */ public async fetchWalletPageViewByID (id: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: WalletPageView; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/activity/{id}' .replace('{' + 'id' + '}', encodeURIComponent(String(id))); let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'id' is not null or undefined if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling fetchWalletPageViewByID.'); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: WalletPageView; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "WalletPageView"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Count referring sites * @param startDate * @param endDate */ public async referringSitesSummary (startDate?: Date, endDate?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/walletPageViews/referringSitesSummary'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate * @param transactionType * @param segmentType */ public async sumRevenue (startDate: Date, endDate: Date, transactionType?: string, segmentType?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/ledger/revenue/sum'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling sumRevenue.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling sumRevenue.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (transactionType !== undefined) { localVarQueryParameters['transactionType'] = ObjectSerializer.serialize(transactionType, "string"); } if (segmentType !== undefined) { localVarQueryParameters['segmentType'] = ObjectSerializer.serialize(segmentType, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } /** * * @summary Fetch refund amount of campaigns by Campaign * @param startDate * @param endDate * @param transactionType * @param segmentType */ public async sumTransactions (startDate: Date, endDate: Date, transactionType?: string, segmentType?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: any; }> { const localVarPath = this.basePath + '/v2/analytics/ledger/transactions/sum'; let localVarQueryParameters: any = {}; let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); const produces = ['application/json']; // give precedence to 'application/json' if (produces.indexOf('application/json') >= 0) { localVarHeaderParams.Accept = 'application/json'; } else { localVarHeaderParams.Accept = produces.join(','); } let localVarFormParams: any = {}; // verify required parameter 'startDate' is not null or undefined if (startDate === null || startDate === undefined) { throw new Error('Required parameter startDate was null or undefined when calling sumTransactions.'); } // verify required parameter 'endDate' is not null or undefined if (endDate === null || endDate === undefined) { throw new Error('Required parameter endDate was null or undefined when calling sumTransactions.'); } if (startDate !== undefined) { localVarQueryParameters['startDate'] = ObjectSerializer.serialize(startDate, "Date"); } if (endDate !== undefined) { localVarQueryParameters['endDate'] = ObjectSerializer.serialize(endDate, "Date"); } if (transactionType !== undefined) { localVarQueryParameters['transactionType'] = ObjectSerializer.serialize(transactionType, "string"); } if (segmentType !== undefined) { localVarQueryParameters['segmentType'] = ObjectSerializer.serialize(segmentType, "string"); } (Object).assign(localVarHeaderParams, options.headers); let localVarUseFormData = false; let localVarRequestOptions: localVarRequest.Options = { method: 'GET', qs: localVarQueryParameters, headers: localVarHeaderParams, uri: localVarPath, useQuerystring: this._useQuerystring, json: true, }; let authenticationPromise = Promise.resolve(); authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); let interceptorPromise = authenticationPromise; for (const interceptor of this.interceptors) { interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); } return interceptorPromise.then(() => { if (Object.keys(localVarFormParams).length) { if (localVarUseFormData) { (localVarRequestOptions).formData = localVarFormParams; } else { localVarRequestOptions.form = localVarFormParams; } } return new Promise<{ response: http.IncomingMessage; body: any; }>((resolve, reject) => { localVarRequest(localVarRequestOptions, (error, response, body) => { if (error) { reject(error); } else { if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { body = ObjectSerializer.deserialize(body, "any"); resolve({ response: response, body: body }); } else { reject(new HttpError(response, body, response.statusCode)); } } }); }); }); } }