All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tinypass.client.publisher.api.PublisherExportCreateApi Maven / Gradle / Ivy

There is a newer version: 16.331.0
Show newest version
package com.tinypass.client.publisher.api;

import com.tinypass.client.common.*;
import java.math.BigDecimal;
import java.util.Date;
import com.tinypass.client.publisher.model.Export;

import java.util.*;
import java.math.*;
import java.io.*;

public class PublisherExportCreateApi {

	private String basePath = "https://api.piano.io/api/v3";
	private String token;
	private ApiInvoker apiInvoker = null;
	private Map headerParams = new LinkedHashMap();

	public PublisherExportCreateApi(String basePath, String token) {
		this.basePath = basePath;
		this.token = token;
	}

	public PublisherExportCreateApi(String basePath, String token, ApiInvoker invoker, Map headerParams) {
		this(basePath, token);
		this.apiInvoker = invoker;
		this.headerParams = headerParams;
	}

	public ApiInvoker getInvoker() {
        if(apiInvoker == null) apiInvoker = ApiInvoker.getInstance();
		return apiInvoker;
	}

	public void setApiToken(String token){
		this.token = token;
	}

	public void setBasePath(String basePath) {
		this.basePath = basePath;
	}

	public String getBasePath() {
		return basePath;
	}

	public String toQueryParam(Object arg) {
        if(arg == null)
            return null;
		if (arg instanceof Date) {
			Date date = (Date) arg;
			long epochTime = date.getTime() / 1000;
			return String.valueOf(epochTime);
		} else {
			return String.valueOf(arg);
		}

	}

    public void setQueryParam(Map> params, String paramName, Object value) {
        List currentValues = params.computeIfAbsent(paramName, k -> new ArrayList<>());
        if (value instanceof List) {
            List values = (List) value;
            values.forEach(o -> addQueryParam(currentValues, o));
        } else {
            addQueryParam(currentValues, value);
        }
    }

    private void addQueryParam(List currentValues, Object value) {
        String v = toQueryParam(value);
        if (v != null)
            currentValues.add(v);
    }


    /**
      * API Request for createAccessReportExport
      */
	public class createAccessReportExportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createAccessReportExportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }

		public createAccessReportExportRequest aid(String aid) {
            setQueryParam(this.queryParams, "aid", aid);
			return this;
		}
		public createAccessReportExportRequest exportName(String exportName) {
            setQueryParam(this.queryParams, "export_name", exportName);
			return this;
		}
		public createAccessReportExportRequest accessStatus(String accessStatus) {
            setQueryParam(this.queryParams, "access_status", accessStatus);
			return this;
		}
		public createAccessReportExportRequest termType(List termType) {
            setQueryParam(this.queryParams, "term_type", termType);
			return this;
		}
		public createAccessReportExportRequest termId(List termId) {
            setQueryParam(this.queryParams, "term_id", termId);
			return this;
		}
		public createAccessReportExportRequest nextBillingDate(Date nextBillingDate) {
            setQueryParam(this.queryParams, "next_billing_date", nextBillingDate);
			return this;
		}
		public createAccessReportExportRequest lastPaymentStatus(String lastPaymentStatus) {
            setQueryParam(this.queryParams, "last_payment_status", lastPaymentStatus);
			return this;
		}
		public createAccessReportExportRequest dateFrom(Date dateFrom) {
            setQueryParam(this.queryParams, "date_from", dateFrom);
			return this;
		}
		public createAccessReportExportRequest dateTo(Date dateTo) {
            setQueryParam(this.queryParams, "date_to", dateTo);
			return this;
		}
		public createAccessReportExportRequest endDateFrom(Date endDateFrom) {
            setQueryParam(this.queryParams, "end_date_from", endDateFrom);
			return this;
		}
		public createAccessReportExportRequest endDateTo(Date endDateTo) {
            setQueryParam(this.queryParams, "end_date_to", endDateTo);
			return this;
		}






		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/accessReportExport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "GET", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createAccessReportExportRequest createAccessReportExportRequest(){
		return new createAccessReportExportRequest(headerParams);
	}



    /**
      * API Request for createDailyActivityReportExport
      */
	public class createDailyActivityReportExportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createDailyActivityReportExportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }

		public createDailyActivityReportExportRequest aid(String aid) {
            setQueryParam(this.queryParams, "aid", aid);
			return this;
		}
		public createDailyActivityReportExportRequest exportName(String exportName) {
            setQueryParam(this.queryParams, "export_name", exportName);
			return this;
		}
		public createDailyActivityReportExportRequest date(Date date) {
            setQueryParam(this.queryParams, "date", date);
			return this;
		}
		public createDailyActivityReportExportRequest termType(List termType) {
            setQueryParam(this.queryParams, "term_type", termType);
			return this;
		}
		public createDailyActivityReportExportRequest currency(String currency) {
            setQueryParam(this.queryParams, "currency", currency);
			return this;
		}
		public createDailyActivityReportExportRequest currencyList(List currencyList) {
            setQueryParam(this.queryParams, "currencyList", currencyList);
			return this;
		}






		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/dailyActivityReportExport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "GET", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createDailyActivityReportExportRequest createDailyActivityReportExportRequest(){
		return new createDailyActivityReportExportRequest(headerParams);
	}



    /**
      * API Request for createMonthlyActivityReportExport
      */
	public class createMonthlyActivityReportExportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createMonthlyActivityReportExportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }

		public createMonthlyActivityReportExportRequest aid(String aid) {
            setQueryParam(this.queryParams, "aid", aid);
			return this;
		}
		public createMonthlyActivityReportExportRequest exportName(String exportName) {
            setQueryParam(this.queryParams, "export_name", exportName);
			return this;
		}
		public createMonthlyActivityReportExportRequest month(Integer month) {
            setQueryParam(this.queryParams, "month", month);
			return this;
		}
		public createMonthlyActivityReportExportRequest year(Integer year) {
            setQueryParam(this.queryParams, "year", year);
			return this;
		}
		public createMonthlyActivityReportExportRequest termType(List termType) {
            setQueryParam(this.queryParams, "term_type", termType);
			return this;
		}
		public createMonthlyActivityReportExportRequest currency(String currency) {
            setQueryParam(this.queryParams, "currency", currency);
			return this;
		}
		public createMonthlyActivityReportExportRequest currencyList(List currencyList) {
            setQueryParam(this.queryParams, "currencyList", currencyList);
			return this;
		}






		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/monthlyActivityReportExport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "GET", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createMonthlyActivityReportExportRequest createMonthlyActivityReportExportRequest(){
		return new createMonthlyActivityReportExportRequest(headerParams);
	}



    /**
      * API Request for createSubscriptionDetailedReport
      */
	public class createSubscriptionDetailedReportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createSubscriptionDetailedReportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }


		public createSubscriptionDetailedReportRequest aid(String aid) {
            setQueryParam(this.formParams, "aid", aid);
			return this;
		}
		public createSubscriptionDetailedReportRequest exportName(String exportName) {
            setQueryParam(this.formParams, "export_name", exportName);
			return this;
		}
		public createSubscriptionDetailedReportRequest q(String q) {
            setQueryParam(this.formParams, "q", q);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchNewSubscriptions(Boolean searchNewSubscriptions) {
            setQueryParam(this.formParams, "search_new_subscriptions", searchNewSubscriptions);
			return this;
		}
		public createSubscriptionDetailedReportRequest newSubscriptionsCreatedFrom(Date newSubscriptionsCreatedFrom) {
            setQueryParam(this.formParams, "new_subscriptions_created_from", newSubscriptionsCreatedFrom);
			return this;
		}
		public createSubscriptionDetailedReportRequest newSubscriptionsCreatedTo(Date newSubscriptionsCreatedTo) {
            setQueryParam(this.formParams, "new_subscriptions_created_to", newSubscriptionsCreatedTo);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchActiveNowSubscriptions(Boolean searchActiveNowSubscriptions) {
            setQueryParam(this.formParams, "search_active_now_subscriptions", searchActiveNowSubscriptions);
			return this;
		}
		public createSubscriptionDetailedReportRequest activeNowSubscriptionsStatuses(List activeNowSubscriptionsStatuses) {
            setQueryParam(this.formParams, "active_now_subscriptions_statuses", activeNowSubscriptionsStatuses);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchInactiveSubscriptions(Boolean searchInactiveSubscriptions) {
            setQueryParam(this.formParams, "search_inactive_subscriptions", searchInactiveSubscriptions);
			return this;
		}
		public createSubscriptionDetailedReportRequest inactiveSubscriptionsStatuses(List inactiveSubscriptionsStatuses) {
            setQueryParam(this.formParams, "inactive_subscriptions_statuses", inactiveSubscriptionsStatuses);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsInactiveFrom(Date subscriptionsInactiveFrom) {
            setQueryParam(this.formParams, "subscriptions_inactive_from", subscriptionsInactiveFrom);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsInactiveTo(Date subscriptionsInactiveTo) {
            setQueryParam(this.formParams, "subscriptions_inactive_to", subscriptionsInactiveTo);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchUpdatedSubscriptions(Boolean searchUpdatedSubscriptions) {
            setQueryParam(this.formParams, "search_updated_subscriptions", searchUpdatedSubscriptions);
			return this;
		}
		public createSubscriptionDetailedReportRequest updatedSubscriptionsStatuses(List updatedSubscriptionsStatuses) {
            setQueryParam(this.formParams, "updated_subscriptions_statuses", updatedSubscriptionsStatuses);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsUpdatedFrom(Date subscriptionsUpdatedFrom) {
            setQueryParam(this.formParams, "subscriptions_updated_from", subscriptionsUpdatedFrom);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsUpdatedTo(Date subscriptionsUpdatedTo) {
            setQueryParam(this.formParams, "subscriptions_updated_to", subscriptionsUpdatedTo);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchAutoRenewingSubscriptions(Boolean searchAutoRenewingSubscriptions) {
            setQueryParam(this.formParams, "search_auto_renewing_subscriptions", searchAutoRenewingSubscriptions);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsAutoRenewing(Boolean subscriptionsAutoRenewing) {
            setQueryParam(this.formParams, "subscriptions_auto_renewing", subscriptionsAutoRenewing);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchSubscriptionsByNextBillingDate(Boolean searchSubscriptionsByNextBillingDate) {
            setQueryParam(this.formParams, "search_subscriptions_by_next_billing_date", searchSubscriptionsByNextBillingDate);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsNextBillingDateFrom(Date subscriptionsNextBillingDateFrom) {
            setQueryParam(this.formParams, "subscriptions_next_billing_date_from", subscriptionsNextBillingDateFrom);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsNextBillingDateTo(Date subscriptionsNextBillingDateTo) {
            setQueryParam(this.formParams, "subscriptions_next_billing_date_to", subscriptionsNextBillingDateTo);
			return this;
		}
		public createSubscriptionDetailedReportRequest searchSubscriptionsByTerms(Boolean searchSubscriptionsByTerms) {
            setQueryParam(this.formParams, "search_subscriptions_by_terms", searchSubscriptionsByTerms);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsTerms(List subscriptionsTerms) {
            setQueryParam(this.formParams, "subscriptions_terms", subscriptionsTerms);
			return this;
		}
		public createSubscriptionDetailedReportRequest subscriptionsTermTypes(List subscriptionsTermTypes) {
            setQueryParam(this.formParams, "subscriptions_term_types", subscriptionsTermTypes);
			return this;
		}





		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/subscriptionDetailsReport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "POST", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createSubscriptionDetailedReportRequest createSubscriptionDetailedReportRequest(){
		return new createSubscriptionDetailedReportRequest(headerParams);
	}



    /**
      * API Request for createSubscriptionSummaryReport
      */
	public class createSubscriptionSummaryReportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createSubscriptionSummaryReportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }


		public createSubscriptionSummaryReportRequest aid(String aid) {
            setQueryParam(this.formParams, "aid", aid);
			return this;
		}
		public createSubscriptionSummaryReportRequest exportName(String exportName) {
            setQueryParam(this.formParams, "export_name", exportName);
			return this;
		}
		public createSubscriptionSummaryReportRequest dateFrom(Date dateFrom) {
            setQueryParam(this.formParams, "date_from", dateFrom);
			return this;
		}
		public createSubscriptionSummaryReportRequest dateTo(Date dateTo) {
            setQueryParam(this.formParams, "date_to", dateTo);
			return this;
		}





		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/subscriptionSummaryReport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "POST", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createSubscriptionSummaryReportRequest createSubscriptionSummaryReportRequest(){
		return new createSubscriptionSummaryReportRequest(headerParams);
	}



    /**
      * API Request for createTermChangeReportExport
      */
	public class createTermChangeReportExportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createTermChangeReportExportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }

		public createTermChangeReportExportRequest aid(String aid) {
            setQueryParam(this.queryParams, "aid", aid);
			return this;
		}
		public createTermChangeReportExportRequest exportName(String exportName) {
            setQueryParam(this.queryParams, "export_name", exportName);
			return this;
		}
		public createTermChangeReportExportRequest dateFrom(Date dateFrom) {
            setQueryParam(this.queryParams, "date_from", dateFrom);
			return this;
		}
		public createTermChangeReportExportRequest dateTo(Date dateTo) {
            setQueryParam(this.queryParams, "date_to", dateTo);
			return this;
		}






		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/termChangeReportExport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "GET", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createTermChangeReportExportRequest createTermChangeReportExportRequest(){
		return new createTermChangeReportExportRequest(headerParams);
	}



    /**
      * API Request for createTransactionsReport
      */
	public class createTransactionsReportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createTransactionsReportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }


		public createTransactionsReportRequest aid(String aid) {
            setQueryParam(this.formParams, "aid", aid);
			return this;
		}
		public createTransactionsReportRequest exportName(String exportName) {
            setQueryParam(this.formParams, "export_name", exportName);
			return this;
		}
		public createTransactionsReportRequest transactionsType(String transactionsType) {
            setQueryParam(this.formParams, "transactions_type", transactionsType);
			return this;
		}
		public createTransactionsReportRequest orderBy(String orderBy) {
            setQueryParam(this.formParams, "order_by", orderBy);
			return this;
		}
		public createTransactionsReportRequest orderDirection(String orderDirection) {
            setQueryParam(this.formParams, "order_direction", orderDirection);
			return this;
		}
		public createTransactionsReportRequest q(String q) {
            setQueryParam(this.formParams, "q", q);
			return this;
		}
		public createTransactionsReportRequest dateFrom(Date dateFrom) {
            setQueryParam(this.formParams, "date_from", dateFrom);
			return this;
		}
		public createTransactionsReportRequest dateTo(Date dateTo) {
            setQueryParam(this.formParams, "date_to", dateTo);
			return this;
		}





		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/transactionsReport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "POST", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createTransactionsReportRequest createTransactionsReportRequest(){
		return new createTransactionsReportRequest(headerParams);
	}



    /**
      * API Request for createUserExport
      */
	public class createUserExportRequest implements ApiRequest {

        Map headerParams;
        Map> queryParams = new HashMap<>();
        Map> formParams = new HashMap<>();
        Object body = null;

        public createUserExportRequest(Map headerParams) {
            this.headerParams = headerParams;
        }

        public Map> getPreparedFormParams() {
            return Collections.unmodifiableMap(formParams);
        }


		public createUserExportRequest aid(String aid) {
            setQueryParam(this.formParams, "aid", aid);
			return this;
		}
		public createUserExportRequest exportName(String exportName) {
            setQueryParam(this.formParams, "export_name", exportName);
			return this;
		}
		public createUserExportRequest exportCustomFields(List exportCustomFields) {
            setQueryParam(this.formParams, "export_custom_fields", exportCustomFields);
			return this;
		}
		public createUserExportRequest exportAllCustomFields(Boolean exportAllCustomFields) {
            setQueryParam(this.formParams, "export_all_custom_fields", exportAllCustomFields);
			return this;
		}
		public createUserExportRequest includeNotes(Boolean includeNotes) {
            setQueryParam(this.formParams, "include_notes", includeNotes);
			return this;
		}
		public createUserExportRequest name(String name) {
            setQueryParam(this.formParams, "name", name);
			return this;
		}
		public createUserExportRequest email(String email) {
            setQueryParam(this.formParams, "email", email);
			return this;
		}
		public createUserExportRequest registeredFrom(Date registeredFrom) {
            setQueryParam(this.formParams, "registered_from", registeredFrom);
			return this;
		}
		public createUserExportRequest registeredUntil(Date registeredUntil) {
            setQueryParam(this.formParams, "registered_until", registeredUntil);
			return this;
		}
		public createUserExportRequest accessToResources(List accessToResources) {
            setQueryParam(this.formParams, "access_to_resources", accessToResources);
			return this;
		}
		public createUserExportRequest convertedTerms(List convertedTerms) {
            setQueryParam(this.formParams, "converted_terms", convertedTerms);
			return this;
		}
		public createUserExportRequest accessFrom(Date accessFrom) {
            setQueryParam(this.formParams, "access_from", accessFrom);
			return this;
		}
		public createUserExportRequest accessUntil(Date accessUntil) {
            setQueryParam(this.formParams, "access_until", accessUntil);
			return this;
		}
		public createUserExportRequest convertedTermFrom(Date convertedTermFrom) {
            setQueryParam(this.formParams, "converted_term_from", convertedTermFrom);
			return this;
		}
		public createUserExportRequest convertedTermUntil(Date convertedTermUntil) {
            setQueryParam(this.formParams, "converted_term_until", convertedTermUntil);
			return this;
		}
		public createUserExportRequest convertedTermSharingType(String convertedTermSharingType) {
            setQueryParam(this.formParams, "converted_term_sharing_type", convertedTermSharingType);
			return this;
		}
		public createUserExportRequest redeemedPromotions(List redeemedPromotions) {
            setQueryParam(this.formParams, "redeemed_promotions", redeemedPromotions);
			return this;
		}
		public createUserExportRequest redeemedPromotionFrom(Date redeemedPromotionFrom) {
            setQueryParam(this.formParams, "redeemed_promotion_from", redeemedPromotionFrom);
			return this;
		}
		public createUserExportRequest redeemedPromotionUntil(Date redeemedPromotionUntil) {
            setQueryParam(this.formParams, "redeemed_promotion_until", redeemedPromotionUntil);
			return this;
		}
		public createUserExportRequest trialPeriodIsActive(Boolean trialPeriodIsActive) {
            setQueryParam(this.formParams, "trial_period_is_active", trialPeriodIsActive);
			return this;
		}
		public createUserExportRequest hasTrialPeriod(Boolean hasTrialPeriod) {
            setQueryParam(this.formParams, "has_trial_period", hasTrialPeriod);
			return this;
		}
		public createUserExportRequest hasAccess(Boolean hasAccess) {
            setQueryParam(this.formParams, "has_access", hasAccess);
			return this;
		}
		public createUserExportRequest hasConversionTerm(Boolean hasConversionTerm) {
            setQueryParam(this.formParams, "has_conversion_term", hasConversionTerm);
			return this;
		}
		public createUserExportRequest hasRedeemedPromotion(Boolean hasRedeemedPromotion) {
            setQueryParam(this.formParams, "has_redeemed_promotion", hasRedeemedPromotion);
			return this;
		}
		public createUserExportRequest includeTrialRedemptions(Boolean includeTrialRedemptions) {
            setQueryParam(this.formParams, "include_trial_redemptions", includeTrialRedemptions);
			return this;
		}
		public createUserExportRequest convertedTermTypes(List convertedTermTypes) {
            setQueryParam(this.formParams, "converted_term_types", convertedTermTypes);
			return this;
		}
		public createUserExportRequest hasConversionTermType(Boolean hasConversionTermType) {
            setQueryParam(this.formParams, "has_conversion_term_type", hasConversionTermType);
			return this;
		}
		public createUserExportRequest spentMoneyCurrency(String spentMoneyCurrency) {
            setQueryParam(this.formParams, "spent_money_currency", spentMoneyCurrency);
			return this;
		}
		public createUserExportRequest spentMoneyFrom(BigDecimal spentMoneyFrom) {
            setQueryParam(this.formParams, "spent_money_from", spentMoneyFrom);
			return this;
		}
		public createUserExportRequest spentMoneyUntil(BigDecimal spentMoneyUntil) {
            setQueryParam(this.formParams, "spent_money_until", spentMoneyUntil);
			return this;
		}
		public createUserExportRequest spentFromDate(Date spentFromDate) {
            setQueryParam(this.formParams, "spent_from_date", spentFromDate);
			return this;
		}
		public createUserExportRequest spentUntilDate(Date spentUntilDate) {
            setQueryParam(this.formParams, "spent_until_date", spentUntilDate);
			return this;
		}
		public createUserExportRequest paymentMethods(List paymentMethods) {
            setQueryParam(this.formParams, "payment_methods", paymentMethods);
			return this;
		}
		public createUserExportRequest billingFailureFrom(Date billingFailureFrom) {
            setQueryParam(this.formParams, "billing_failure_from", billingFailureFrom);
			return this;
		}
		public createUserExportRequest billingFailureUntil(Date billingFailureUntil) {
            setQueryParam(this.formParams, "billing_failure_until", billingFailureUntil);
			return this;
		}
		public createUserExportRequest hadBillingFailure(Boolean hadBillingFailure) {
            setQueryParam(this.formParams, "had_billing_failure", hadBillingFailure);
			return this;
		}
		public createUserExportRequest hasPayment(Boolean hasPayment) {
            setQueryParam(this.formParams, "has_payment", hasPayment);
			return this;
		}
		public createUserExportRequest upiExtCustomerId(String upiExtCustomerId) {
            setQueryParam(this.formParams, "upi_ext_customer_id", upiExtCustomerId);
			return this;
		}
		public createUserExportRequest creditCardWillExpire(String creditCardWillExpire) {
            setQueryParam(this.formParams, "credit_card_will_expire", creditCardWillExpire);
			return this;
		}
		public createUserExportRequest activeSubscriptionToResources(List activeSubscriptionToResources) {
            setQueryParam(this.formParams, "active_subscription_to_resources", activeSubscriptionToResources);
			return this;
		}
		public createUserExportRequest hasActiveSubscription(Boolean hasActiveSubscription) {
            setQueryParam(this.formParams, "has_active_subscription", hasActiveSubscription);
			return this;
		}
		public createUserExportRequest subscriptionStartFrom(Date subscriptionStartFrom) {
            setQueryParam(this.formParams, "subscription_start_from", subscriptionStartFrom);
			return this;
		}
		public createUserExportRequest subscriptionStartUntil(Date subscriptionStartUntil) {
            setQueryParam(this.formParams, "subscription_start_until", subscriptionStartUntil);
			return this;
		}
		public createUserExportRequest subscriptionRenewFrom(Date subscriptionRenewFrom) {
            setQueryParam(this.formParams, "subscription_renew_from", subscriptionRenewFrom);
			return this;
		}
		public createUserExportRequest subscriptionRenewUntil(Date subscriptionRenewUntil) {
            setQueryParam(this.formParams, "subscription_renew_until", subscriptionRenewUntil);
			return this;
		}
		public createUserExportRequest subscriptionExpireFrom(Date subscriptionExpireFrom) {
            setQueryParam(this.formParams, "subscription_expire_from", subscriptionExpireFrom);
			return this;
		}
		public createUserExportRequest subscriptionExpireUntil(Date subscriptionExpireUntil) {
            setQueryParam(this.formParams, "subscription_expire_until", subscriptionExpireUntil);
			return this;
		}
		public createUserExportRequest trialExpireFrom(Date trialExpireFrom) {
            setQueryParam(this.formParams, "trial_expire_from", trialExpireFrom);
			return this;
		}
		public createUserExportRequest trialExpireUntil(Date trialExpireUntil) {
            setQueryParam(this.formParams, "trial_expire_until", trialExpireUntil);
			return this;
		}
		public createUserExportRequest hasAnySubscriptions(Boolean hasAnySubscriptions) {
            setQueryParam(this.formParams, "has_any_subscriptions", hasAnySubscriptions);
			return this;
		}
		public createUserExportRequest hasSubscriptionWillRenew(Boolean hasSubscriptionWillRenew) {
            setQueryParam(this.formParams, "has_subscription_will_renew", hasSubscriptionWillRenew);
			return this;
		}
		public createUserExportRequest hasSubscriptionWillExpire(Boolean hasSubscriptionWillExpire) {
            setQueryParam(this.formParams, "has_subscription_will_expire", hasSubscriptionWillExpire);
			return this;
		}
		public createUserExportRequest hasSubscriptionStarts(Boolean hasSubscriptionStarts) {
            setQueryParam(this.formParams, "has_subscription_starts", hasSubscriptionStarts);
			return this;
		}
		public createUserExportRequest hasUnresolvedInquiry(Boolean hasUnresolvedInquiry) {
            setQueryParam(this.formParams, "has_unresolved_inquiry", hasUnresolvedInquiry);
			return this;
		}
		public createUserExportRequest submittedInquiryFrom(Date submittedInquiryFrom) {
            setQueryParam(this.formParams, "submitted_inquiry_from", submittedInquiryFrom);
			return this;
		}
		public createUserExportRequest submittedInquiryUntil(Date submittedInquiryUntil) {
            setQueryParam(this.formParams, "submitted_inquiry_until", submittedInquiryUntil);
			return this;
		}
		public createUserExportRequest receivedResponseFrom(Date receivedResponseFrom) {
            setQueryParam(this.formParams, "received_response_from", receivedResponseFrom);
			return this;
		}
		public createUserExportRequest receivedResponseUntil(Date receivedResponseUntil) {
            setQueryParam(this.formParams, "received_response_until", receivedResponseUntil);
			return this;
		}
		public createUserExportRequest resolvedInquiryFrom(Date resolvedInquiryFrom) {
            setQueryParam(this.formParams, "resolved_inquiry_from", resolvedInquiryFrom);
			return this;
		}
		public createUserExportRequest resolvedInquiryUntil(Date resolvedInquiryUntil) {
            setQueryParam(this.formParams, "resolved_inquiry_until", resolvedInquiryUntil);
			return this;
		}
		public createUserExportRequest hasSubmittedInquiry(Boolean hasSubmittedInquiry) {
            setQueryParam(this.formParams, "has_submitted_inquiry", hasSubmittedInquiry);
			return this;
		}
		public createUserExportRequest hasReceivedResponseInquiry(Boolean hasReceivedResponseInquiry) {
            setQueryParam(this.formParams, "has_received_response_inquiry", hasReceivedResponseInquiry);
			return this;
		}
		public createUserExportRequest hasResolvedInquiry(Boolean hasResolvedInquiry) {
            setQueryParam(this.formParams, "has_resolved_inquiry", hasResolvedInquiry);
			return this;
		}
		public createUserExportRequest hasLicensingContractRedemptions(Boolean hasLicensingContractRedemptions) {
            setQueryParam(this.formParams, "has_licensing_contract_redemptions", hasLicensingContractRedemptions);
			return this;
		}
		public createUserExportRequest selectedLicensees(List selectedLicensees) {
            setQueryParam(this.formParams, "selected_licensees", selectedLicensees);
			return this;
		}
		public createUserExportRequest selectedContracts(List selectedContracts) {
            setQueryParam(this.formParams, "selected_contracts", selectedContracts);
			return this;
		}
		public createUserExportRequest licensingContractRedeemedFrom(Date licensingContractRedeemedFrom) {
            setQueryParam(this.formParams, "licensing_contract_redeemed_from", licensingContractRedeemedFrom);
			return this;
		}
		public createUserExportRequest licensingContractRedeemedUntil(Date licensingContractRedeemedUntil) {
            setQueryParam(this.formParams, "licensing_contract_redeemed_until", licensingContractRedeemedUntil);
			return this;
		}
		public createUserExportRequest dataType(List dataType) {
            setQueryParam(this.formParams, "data_type", dataType);
			return this;
		}
		public createUserExportRequest data(String data) {
            setQueryParam(this.formParams, "data", data);
			return this;
		}
		public createUserExportRequest hasData(Boolean hasData) {
            setQueryParam(this.formParams, "has_data", hasData);
			return this;
		}
		public createUserExportRequest hasLastAccessTime(Boolean hasLastAccessTime) {
            setQueryParam(this.formParams, "has_last_access_time", hasLastAccessTime);
			return this;
		}
		public createUserExportRequest lastAccessTimeFrom(Date lastAccessTimeFrom) {
            setQueryParam(this.formParams, "last_access_time_from", lastAccessTimeFrom);
			return this;
		}
		public createUserExportRequest lastAccessTimeUntil(Date lastAccessTimeUntil) {
            setQueryParam(this.formParams, "last_access_time_until", lastAccessTimeUntil);
			return this;
		}
		public createUserExportRequest selectedConsentsMap(List selectedConsentsMap) {
            setQueryParam(this.formParams, "selected_consents_map", selectedConsentsMap);
			return this;
		}
		public createUserExportRequest consentChecked(Boolean consentChecked) {
            setQueryParam(this.formParams, "consent_checked", consentChecked);
			return this;
		}
		public createUserExportRequest customFields(String customFields) {
            setQueryParam(this.formParams, "custom_fields", customFields);
			return this;
		}
		public createUserExportRequest source(String source) {
            setQueryParam(this.formParams, "source", source);
			return this;
		}
		public createUserExportRequest invertCreditCardWillExpire(Boolean invertCreditCardWillExpire) {
            setQueryParam(this.formParams, "invert_credit_card_will_expire", invertCreditCardWillExpire);
			return this;
		}
		public createUserExportRequest hasEmailConfirmationRequired(Boolean hasEmailConfirmationRequired) {
            setQueryParam(this.formParams, "has_emailConfirmation_required", hasEmailConfirmationRequired);
			return this;
		}
		public createUserExportRequest consentHasData(Boolean consentHasData) {
            setQueryParam(this.formParams, "consent_has_data", consentHasData);
			return this;
		}
		public createUserExportRequest q(String q) {
            setQueryParam(this.formParams, "q", q);
			return this;
		}
		public createUserExportRequest orderBy(String orderBy) {
            setQueryParam(this.formParams, "order_by", orderBy);
			return this;
		}
		public createUserExportRequest orderDirection(String orderDirection) {
            setQueryParam(this.formParams, "order_direction", orderDirection);
			return this;
		}





		public Export  execute() throws ApiException{

			String path = "/publisher/export/create/userExport".replaceAll("\\{format\\}","json");

			return getInvoker().invokeAPI(basePath, path, "POST", token,
                                                     queryParams, null,
                                                     headerParams,
                                                     formParams,
                                                     "",
                                                     Export.class);
		}

	}


    /**
      * Helper method to create a new request.
      */
	public createUserExportRequest createUserExportRequest(){
		return new createUserExportRequest(headerParams);
	}




}