Skip to content

SDK API Reference / EngageSDK

Class: EngageSDK

Engage operations API

Methods

createAlwaysOnCampaign()

createAlwaysOnCampaign(workspaceId, input): Promise<AlwaysOnCampaignInfo>

Create an always-on campaign

Parameters

workspaceId

string

Workspace ID (required)

input

CreateAlwaysOnCampaignInput

Campaign creation parameters

Returns

Promise<AlwaysOnCampaignInfo>

Created campaign (normalized format)


createCampaign()

createCampaign(input): Promise<CampaignInfo>

Create a campaign

Parameters

input

CreateCampaignInput

Campaign creation parameters

Returns

Promise<CampaignInfo>

Created campaign (normalized format)


createTemplate()

createTemplate(input): Promise<EmailTemplateInfo>

Create an email template

Parameters

input

CreateTemplateInput

Template creation parameters

Returns

Promise<EmailTemplateInfo>

Created template (normalized format)


createWorkspace()

createWorkspace(input): Promise<WorkspaceInfo>

Create a workspace

Parameters

input

CreateWorkspaceInput

Workspace creation parameters

Returns

Promise<WorkspaceInfo>

Created workspace (normalized format)


deleteAlwaysOnCampaign()

deleteAlwaysOnCampaign(workspaceId, nameOrId): Promise<void>

Delete an always-on campaign

Parameters

workspaceId

string

Workspace ID (required)

nameOrId

string

Campaign name or UUID

Returns

Promise<void>


deleteCampaign()

deleteCampaign(nameOrId, workspaceId?): Promise<void>

Delete a campaign

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


deleteTemplate()

deleteTemplate(nameOrId, workspaceId?): Promise<void>

Delete an email template

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


deleteWorkspace()

deleteWorkspace(nameOrId): Promise<void>

Delete a workspace

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<void>


duplicateAlwaysOnCampaign()

duplicateAlwaysOnCampaign(workspaceId, nameOrId, newName?): Promise<AlwaysOnCampaignInfo>

Duplicate an always-on campaign

Parameters

workspaceId

string

Workspace ID (required)

nameOrId

string

Campaign name or UUID

newName?

string

Optional name for the duplicated campaign

Returns

Promise<AlwaysOnCampaignInfo>

Duplicated campaign (normalized format)


duplicateCampaign()

duplicateCampaign(nameOrId, workspaceId?): Promise<CampaignInfo>

Duplicate a campaign

Creates a copy of an existing campaign with DRAFT status.

Parameters

nameOrId

string

Campaign name or UUID to duplicate

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Duplicated campaign (normalized format)


finishAlwaysOnCampaign()

finishAlwaysOnCampaign(workspaceId, nameOrId): Promise<void>

Parameters

workspaceId

string

nameOrId

string

Returns

Promise<void>


getAlwaysOnCampaign()

getAlwaysOnCampaign(workspaceId, nameOrId): Promise<AlwaysOnCampaignInfo>

Get an always-on campaign by name or ID

Parameters

workspaceId

string

Workspace ID (required)

nameOrId

string

Campaign name or UUID

Returns

Promise<AlwaysOnCampaignInfo>

Campaign details (normalized format)


getAlwaysOnCampaignFull()

getAlwaysOnCampaignFull(workspaceId, nameOrId): Promise<AlwaysOnCampaign>

Get full always-on campaign details (JSON:API format) by name or ID

Use this method when you need access to all campaign fields including emailContent, pushContent, utmParameters, etc.

Parameters

workspaceId

string

Workspace ID (required)

nameOrId

string

Campaign name or UUID

Returns

Promise<AlwaysOnCampaign>

Full campaign object in JSON:API format


getCampaign()

getCampaign(nameOrId, workspaceId?): Promise<CampaignInfo>

Get a campaign by name or ID

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Campaign details (normalized format)


getCampaignFull()

getCampaignFull(nameOrId, workspaceId?): Promise<Campaign>

Get full campaign details (JSON:API format) by name or ID

Use this method when you need access to all campaign fields including emailContent, pushContent, connectorConfig, etc.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<Campaign>

Full campaign object in JSON:API format


getLineSenderAccount()

getLineSenderAccount(nameOrId, workspaceId?): Promise<LineSenderAccountInfo>

Get a LINE sender account by name or ID

Parameters

nameOrId

string

Account name or UUID

workspaceId?

string

Optional workspace ID to scope the search

Returns

Promise<LineSenderAccountInfo>

LINE sender account (normalized format)


getTemplate()

getTemplate(nameOrId, workspaceId?): Promise<EmailTemplateInfo>

Get an email template by name or ID

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplateInfo>

Template details (normalized format)


getTemplateFull()

getTemplateFull(nameOrId, workspaceId?): Promise<EmailTemplate>

Get full email template details (JSON:API format) by name or ID

Use this method when you need access to all template fields including htmlTemplate, beefreeJson, templateVariables, etc.

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplate>

Full template object in JSON:API format


getWorkspace()

getWorkspace(nameOrId): Promise<WorkspaceInfo>

Get a workspace by name or ID

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<WorkspaceInfo>

Workspace details (normalized format)


getWorkspaceFull()

getWorkspaceFull(nameOrId): Promise<Workspace>

Get full workspace details (JSON:API format) by name or ID

Use this method when you need access to all workspace fields including workspaceConfig, ownerUser, etc.

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<Workspace>

Full workspace object in JSON:API format


launchAlwaysOnCampaign()

launchAlwaysOnCampaign(workspaceId, nameOrId): Promise<void>

Parameters

workspaceId

string

nameOrId

string

Returns

Promise<void>


launchCampaign()

launchCampaign(nameOrId, workspaceId?): Promise<void>

Launch a campaign

Transitions a DRAFT campaign to ACTIVE status and begins sending.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


listAlwaysOnCampaigns()

listAlwaysOnCampaigns(options): Promise<AlwaysOnCampaignInfo[]>

List always-on campaigns

Parameters

options

Filter and pagination options

limit?

number

offset?

number

status?

AlwaysOnCampaignStatus

type?

CampaignType

workspaceId

string

Returns

Promise<AlwaysOnCampaignInfo[]>

List of always-on campaigns (normalized format)


listCampaigns()

listCampaigns(options?): Promise<CampaignInfo[]>

List campaigns

Parameters

options?

Filter and pagination options

limit?

number

offset?

number

status?

CampaignStatus

type?

CampaignType

workspaceId?

string

Returns

Promise<CampaignInfo[]>

List of campaigns (normalized format)


listLineSenderAccounts()

listLineSenderAccounts(options?): Promise<LineSenderAccountInfo[]>

List LINE sender accounts

Parameters

options?

Filter and pagination options

limit?

number

workspaceId?

string

Returns

Promise<LineSenderAccountInfo[]>

List of LINE sender accounts (normalized format)


listTemplates()

listTemplates(options?): Promise<EmailTemplateInfo[]>

List email templates

Parameters

options?

Filter and pagination options

limit?

number

offset?

number

workspaceId?

string

Returns

Promise<EmailTemplateInfo[]>

List of templates (normalized format)


listWorkspaces()

listWorkspaces(options?): Promise<WorkspaceInfo[]>

List workspaces

Parameters

options?

Filter and pagination options

limit?

number

name?

string

offset?

number

Returns

Promise<WorkspaceInfo[]>

List of workspaces (normalized format)


pauseAlwaysOnCampaign()

pauseAlwaysOnCampaign(workspaceId, nameOrId): Promise<void>

Parameters

workspaceId

string

nameOrId

string

Returns

Promise<void>


pauseCampaign()

pauseCampaign(nameOrId, workspaceId?): Promise<void>

Pause a campaign

Temporarily suspends an ACTIVE campaign.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


resolveAlwaysOnCampaignId()

resolveAlwaysOnCampaignId(workspaceId, nameOrId): Promise<string>

Resolve always-on campaign name or ID to campaign ID

Parameters

workspaceId

string

Workspace ID (required for always-on campaigns)

nameOrId

string

Campaign name or UUID

Returns

Promise<string>

Campaign ID

Throws

When campaign is not found or multiple matches exist


resolveCampaignId()

resolveCampaignId(nameOrId, workspaceId?): Promise<string>

Resolve campaign name or ID to campaign ID

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search

Returns

Promise<string>

Campaign ID

Throws

When campaign is not found or multiple matches exist


resolveTemplateId()

resolveTemplateId(nameOrId, workspaceId?): Promise<{ id: string; name: string; }>

Resolve email template name or ID to template ID

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search

Returns

Promise<{ id: string; name: string; }>

Template ID and name

Throws

When template is not found or multiple matches exist


resolveWorkspaceId()

resolveWorkspaceId(nameOrId): Promise<string>

Resolve workspace name or ID to workspace ID

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<string>

Workspace ID

Throws

When workspace is not found or multiple matches exist


resumeAlwaysOnCampaign()

resumeAlwaysOnCampaign(workspaceId, nameOrId): Promise<void>

Parameters

workspaceId

string

nameOrId

string

Returns

Promise<void>


resumeCampaign()

resumeCampaign(nameOrId, workspaceId?): Promise<void>

Resume a campaign

Resumes a PAUSED campaign.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


updateAlwaysOnCampaign()

updateAlwaysOnCampaign(workspaceId, nameOrId, input): Promise<AlwaysOnCampaignInfo>

Update an always-on campaign

Parameters

workspaceId

string

Workspace ID (required)

nameOrId

string

Campaign name or UUID

input

UpdateAlwaysOnCampaignInput

Campaign update parameters

Returns

Promise<AlwaysOnCampaignInfo>

Updated campaign (normalized format)


updateCampaign()

updateCampaign(nameOrId, input, workspaceId?): Promise<CampaignInfo>

Update a campaign

Parameters

nameOrId

string

Campaign name or UUID

input

UpdateCampaignInput

Campaign update parameters

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Updated campaign (normalized format)


updateTemplate()

updateTemplate(nameOrId, input, workspaceId?): Promise<EmailTemplateInfo>

Update an email template

Parameters

nameOrId

string

Template name or UUID

input

UpdateTemplateInput

Template update parameters

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplateInfo>

Updated template (normalized format)


updateWorkspace()

updateWorkspace(nameOrId, input): Promise<WorkspaceInfo>

Update a workspace

Parameters

nameOrId

string

Workspace name or UUID

input

UpdateWorkspaceInput

Workspace update parameters

Returns

Promise<WorkspaceInfo>

Updated workspace (normalized format)


uploadLineImagemapImage()

uploadLineImagemapImage(filePath): Promise<LineImagemapUploadResult>

Upload an image for use as a LINE imagemap baseUrl.

Parameters

filePath

string

Absolute or relative path to a JPEG or PNG image (min 1040px wide, max 10MB)

Returns

Promise<LineImagemapUploadResult>

Upload result with baseUrl and resized URLs