Skip to content
Last updated

PERS SDK - v2.3.26 / Exports / CampaignService

Class: CampaignService

Platform-Agnostic Campaign Service

Contains campaign business logic and operations that work across platforms. No framework dependencies - pure TypeScript business logic.

Focuses only on actual backend capabilities.

Table of contents

Constructors

Methods

Constructors

constructor

new CampaignService(campaignApi): CampaignService

Parameters

NameType
campaignApiCampaignApi

Returns

CampaignService

Defined in

campaign/services/campaign-service.ts:43

Methods

getCampaignById

getCampaignById(id, include?): Promise<CampaignDTO>

PUBLIC: Get campaign by ID

Parameters

NameTypeDescription
idstringCampaign UUID
include?CampaignIncludeRelation[]Relations to include: 'triggerSources', 'businesses'

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:54


claimCampaign

claimCampaign(request): Promise<CampaignClaimDTO>

AUTH: Claim campaign

Parameters

NameType
requestCampaignClaimRequestDTO

Returns

Promise<CampaignClaimDTO>

Defined in

campaign/services/campaign-service.ts:65


getClaimsForLoggedUser

getClaimsForLoggedUser(options?, include?): Promise<PaginatedResponseDTO<CampaignClaimDTO>>

AUTH: Get claims for logged user with pagination

Parameters

NameTypeDescription
options?PaginationOptionsPagination options
include?CampaignClaimIncludeRelation[]Optional relations to include (campaign, user, business)

Returns

Promise<PaginatedResponseDTO<CampaignClaimDTO>>

Defined in

campaign/services/campaign-service.ts:74


getCampaigns

getCampaigns(options?): Promise<PaginatedResponseDTO<CampaignDTO>>

Get campaigns with pagination support Intelligent access: Public gets active only, Business gets own campaigns, Admin gets all

Parameters

NameType
options?CampaignQueryParams

Returns

Promise<PaginatedResponseDTO<CampaignDTO>>

See

CampaignFilterOptions for available filter options

Defined in

campaign/services/campaign-service.ts:90


getCampaignTriggers

getCampaignTriggers(options?): Promise<PaginatedResponseDTO<CampaignTriggerDTO>>

ADMIN: Get campaign triggers with pagination

Parameters

NameType
options?PaginationOptions

Returns

Promise<PaginatedResponseDTO<CampaignTriggerDTO>>

Defined in

campaign/services/campaign-service.ts:97


getCampaignTriggerById

getCampaignTriggerById(triggerId): Promise<CampaignTriggerDTO>

ADMIN: Get campaign trigger by ID

Parameters

NameType
triggerIdstring

Returns

Promise<CampaignTriggerDTO>

Defined in

campaign/services/campaign-service.ts:104


createCampaignTrigger

createCampaignTrigger(data): Promise<CampaignTriggerDTO>

ADMIN: Create campaign trigger

Parameters

NameType
dataCampaignTriggerCreateRequestDTO

Returns

Promise<CampaignTriggerDTO>

Defined in

campaign/services/campaign-service.ts:111


updateCampaignTrigger

updateCampaignTrigger(triggerId, data): Promise<CampaignTriggerDTO>

ADMIN: Update campaign trigger

Parameters

NameType
triggerIdstring
dataPartial<CampaignTriggerCreateRequestDTO>

Returns

Promise<CampaignTriggerDTO>

Defined in

campaign/services/campaign-service.ts:118


deleteCampaignTrigger

deleteCampaignTrigger(triggerId): Promise<boolean>

ADMIN: Delete campaign trigger

Parameters

NameType
triggerIdstring

Returns

Promise<boolean>

Defined in

campaign/services/campaign-service.ts:125


toggleCampaignActive

toggleCampaignActive(campaignId): Promise<CampaignDTO>

ADMIN: Toggle campaign active status

Parameters

NameType
campaignIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:132


toggleCampaignTestnet

toggleCampaignTestnet(campaignId): Promise<CampaignDTO>

ADMIN: Toggle campaign testnet environment

Parameters

NameType
campaignIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:139


createCampaign

createCampaign(campaign): Promise<CampaignDTO>

ADMIN: Create campaign

Parameters

NameType
campaignCampaignCreateRequestDTO

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:146


setCampaignTrigger

setCampaignTrigger(campaignId, triggerId): Promise<CampaignDTO>

ADMIN: Set campaign trigger

Parameters

NameType
campaignIdstring
triggerIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:153


removeCampaignTrigger

removeCampaignTrigger(campaignId, triggerId): Promise<CampaignDTO>

ADMIN: Remove trigger from campaign (unassign)

Parameters

NameType
campaignIdstring
triggerIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:160


updateCampaign

updateCampaign(campaignId, campaign): Promise<CampaignDTO>

ADMIN: Update campaign

Parameters

NameType
campaignIdstring
campaignCampaignCreateRequestDTO

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:167


createCampaignTokenUnit

createCampaignTokenUnit(campaignId, campaignTokenUnit): Promise<CampaignDTO>

ADMIN: Create campaign token unit

Parameters

NameType
campaignIdstring
campaignTokenUnitTokenUnitCreateRequestDTO

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:174


deleteCampaignTokenUnit

deleteCampaignTokenUnit(campaignId, campaignTokenUnitId): Promise<CampaignDTO>

ADMIN: Delete campaign token unit

Parameters

NameType
campaignIdstring
campaignTokenUnitIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:181


addBusinessEngagementToCampaign

addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement): Promise<CampaignDTO>

ADMIN: Add business engagement to campaign

Parameters

NameType
campaignIdstring
campaignBusinessEngagementCampaignBusinessEngagementCreateRequestDTO

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:188


updateCampaignBusinessEngagement

updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement): Promise<CampaignDTO>

ADMIN: Update campaign business engagement

Parameters

NameType
campaignIdstring
businessEngagementIdstring
campaignBusinessEngagementCampaignBusinessEngagementCreateRequestDTO

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:195


deleteCampaignBusinessEngagement

deleteCampaignBusinessEngagement(campaignId, businessEngagementId): Promise<CampaignDTO>

Parameters

NameType
campaignIdstring
businessEngagementIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:199


getCampaignClaims

getCampaignClaims(filters?, include?): Promise<PaginatedResponseDTO<CampaignClaimDTO>>

ADMIN: Get campaign claims with optional filters and pagination

Parameters

NameTypeDescription
filters?ObjectFilter and pagination options including date range
filters.campaignId?string-
filters.userId?string-
filters.businessId?string-
filters.dateFrom?string | Date-
filters.dateTo?string | Date-
filters.page?number-
filters.limit?number-
filters.sortBy?string-
filters.sortOrder?SortOrder-
include?CampaignClaimIncludeRelation[]Optional relations to include (campaign, user, business)

Returns

Promise<PaginatedResponseDTO<CampaignClaimDTO>>

Defined in

campaign/services/campaign-service.ts:208


getCampaignClaimsByUserId

getCampaignClaimsByUserId(userId, options?, include?): Promise<PaginatedResponseDTO<CampaignClaimDTO>>

ADMIN: Get campaign claims by user ID with pagination

Parameters

NameTypeDescription
userIdstringUser ID to filter by
options?PaginationOptionsPagination options
include?CampaignClaimIncludeRelation[]Optional relations to include (campaign, user, business)

Returns

Promise<PaginatedResponseDTO<CampaignClaimDTO>>

Defined in

campaign/services/campaign-service.ts:231


getCampaignClaimsByBusinessId

getCampaignClaimsByBusinessId(businessId, options?, include?): Promise<PaginatedResponseDTO<CampaignClaimDTO>>

ADMIN: Get campaign claims by business ID with pagination

Parameters

NameTypeDescription
businessIdstringBusiness ID to filter by
options?PaginationOptionsPagination options
include?CampaignClaimIncludeRelation[]Optional relations to include (campaign, user, business)

Returns

Promise<PaginatedResponseDTO<CampaignClaimDTO>>

Defined in

campaign/services/campaign-service.ts:245


assignTriggerSourceToCampaign

assignTriggerSourceToCampaign(campaignId, triggerSourceId): Promise<CampaignDTO>

ADMIN: Assign a trigger source to a campaign

Parameters

NameType
campaignIdstring
triggerSourceIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:261


removeTriggerSourceFromCampaign

removeTriggerSourceFromCampaign(campaignId, triggerSourceId): Promise<CampaignDTO>

ADMIN: Remove a trigger source from a campaign

Parameters

NameType
campaignIdstring
triggerSourceIdstring

Returns

Promise<CampaignDTO>

Defined in

campaign/services/campaign-service.ts:268