perspectapi-ts-sdk
Classes
NewsletterV2Client
Class: NewsletterV2Client
Extends
BaseV2Client
Constructors
Constructor
new NewsletterV2Client(
http,basePath,cache?):NewsletterV2Client
Parameters
http
HttpClient
basePath
string
cache?
CacheManager
Returns
NewsletterV2Client
Inherited from
BaseV2Client.constructor
Properties
basePath
protectedbasePath:string
Inherited from
BaseV2Client.basePath
cache?
protectedoptionalcache?:CacheManager
Inherited from
BaseV2Client.cache
http
protectedhttp:HttpClient
Inherited from
BaseV2Client.http
Methods
buildPath()
protectedbuildPath(endpoint):string
Parameters
endpoint
string
Returns
string
Inherited from
BaseV2Client.buildPath
confirm()
confirm(
siteName,token):Promise<V2NewsletterSubscription>
Parameters
siteName
string
token
string
Returns
Promise<V2NewsletterSubscription>
createList()
createList(
siteName,data):Promise<V2NewsletterList>
Parameters
siteName
string
data
V2NewsletterListCreateParams
Returns
Promise<V2NewsletterList>
deleteList()
deleteList(
siteName,id):Promise<V2Deleted>
Parameters
siteName
string
id
string
Returns
Promise<V2Deleted>
deleteOne()
protecteddeleteOne(path):Promise<V2Deleted>
DELETE a resource.
Parameters
path
string
Returns
Promise<V2Deleted>
Inherited from
BaseV2Client.deleteOne
getCampaign()
getCampaign(
siteName,idOrSlug,cachePolicy?):Promise<V2NewsletterCampaign>
Parameters
siteName
string
idOrSlug
string
cachePolicy?
CachePolicy
Returns
Promise<V2NewsletterCampaign>
getList()
protectedgetList<T>(path,params?,cachePolicy?):Promise<V2List<T>>
GET a list of resources with cursor pagination, with optional caching.
Type Parameters
T
T
Parameters
path
string
params?
object
cachePolicy?
CachePolicy
Returns
Promise<V2List<T>>
Inherited from
BaseV2Client.getList
getOne()
protectedgetOne<T>(path,params?,cachePolicy?):Promise<T>
GET a single resource, with optional caching.
Type Parameters
T
T
Parameters
path
string
params?
object
cachePolicy?
CachePolicy
Returns
Promise<T>
Inherited from
BaseV2Client.getOne
getSubscription()
getSubscription(
siteName,id,cachePolicy?):Promise<V2NewsletterSubscription>
Parameters
siteName
string
id
string
cachePolicy?
CachePolicy
Returns
Promise<V2NewsletterSubscription>
importSubscriptions()
importSubscriptions(
siteName,data):Promise<V2NewsletterImportResult>
Bulk import subscriptions. Each row is upserted via the same sync
path; refreshListCounts is deferred until after all rows are
processed on the server.
Parameters
siteName
string
data
V2NewsletterImportRequest
Returns
Promise<V2NewsletterImportResult>
invalidateCache()
protectedinvalidateCache(options):Promise<void>
Invalidate cache entries by keys or tags.
Parameters
options
CacheInvalidateOptions
Returns
Promise<void>
Inherited from
BaseV2Client.invalidateCache
listAutoPaginate()
protectedlistAutoPaginate<T>(path,params?):AsyncGenerator<T,void,unknown>
Auto-paginating async generator. Yields every item across all pages.
Usage: for await (const item of client.listAutoPaginate(path, params)) { ... }
Type Parameters
T
T extends object
Parameters
path
string
params?
object
Returns
AsyncGenerator<T, void, unknown>
Inherited from
BaseV2Client.listAutoPaginate
listCampaigns()
listCampaigns(
siteName,params?,cachePolicy?):Promise<V2List<V2NewsletterCampaign>>
Parameters
siteName
string
params?
V2PaginationParams & object
cachePolicy?
CachePolicy
Returns
Promise<V2List<V2NewsletterCampaign>>
listLists()
listLists(
siteName,cachePolicy?):Promise<V2List<V2NewsletterList>>
Parameters
siteName
string
cachePolicy?
CachePolicy
Returns
Promise<V2List<V2NewsletterList>>
listSubscriptions()
listSubscriptions(
siteName,params?,cachePolicy?):Promise<V2List<V2NewsletterSubscription>>
Parameters
siteName
string
params?
V2PaginationParams & object
cachePolicy?
CachePolicy
Returns
Promise<V2List<V2NewsletterSubscription>>
patchOne()
protectedpatchOne<T>(path,body?):Promise<T>
PATCH to update a resource.
Type Parameters
T
T
Parameters
path
string
body?
unknown
Returns
Promise<T>
Inherited from
BaseV2Client.patchOne
post()
protectedpost<T>(path,body?):Promise<T>
POST to create a resource.
Type Parameters
T
T
Parameters
path
string
body?
unknown
Returns
Promise<T>
Inherited from
BaseV2Client.post
putOne()
protectedputOne<T>(path,body?):Promise<T>
PUT to upsert a resource.
Type Parameters
T
T
Parameters
path
string
body?
unknown
Returns
Promise<T>
Inherited from
BaseV2Client.putOne
sitePath()
protectedsitePath(siteName,resource,suffix?):string
Parameters
siteName
string
resource
string
suffix?
string = ''
Returns
string
Inherited from
BaseV2Client.sitePath
subscribe()
subscribe(
siteName,data):Promise<V2NewsletterSubscription>
Parameters
siteName
string
data
string
frequency?
"instant" | "daily" | "weekly" | "monthly"
language?
string
list_ids?
string[]
metadata?
Record<string, unknown>
name?
string
source?
string
source_url?
string
topics?
string[]
Returns
Promise<V2NewsletterSubscription>
syncSubscription()
syncSubscription(
siteName,data):Promise<V2NewsletterSyncResult>
Upsert a subscription by email and (optionally) replace its list
memberships. Returns a newsletter_sync_result envelope with the
outcome (created / updated / resubscribed / already-unsubscribed).
Parameters
siteName
string
data
V2NewsletterSyncInput
Returns
Promise<V2NewsletterSyncResult>
trackClick()
trackClick(
siteName,token,url):Promise<V2NewsletterTrackingResponse>
Parameters
siteName
string
token
string
url
string
Returns
Promise<V2NewsletterTrackingResponse>
trackOpen()
trackOpen(
siteName,token):Promise<V2NewsletterTrackingResponse>
Parameters
siteName
string
token
string
Returns
Promise<V2NewsletterTrackingResponse>
unsubscribe()
unsubscribe(
siteName,data):Promise<V2NewsletterSubscription>
Parameters
siteName
string
data
email?
string
reason?
string
token?
string
Returns
Promise<V2NewsletterSubscription>
updateList()
updateList(
siteName,id,data):Promise<V2NewsletterList>
Parameters
siteName
string
id
string
data
V2NewsletterListUpdateParams
Returns
Promise<V2NewsletterList>
updateSubscriptionListMembership()
updateSubscriptionListMembership(
siteName,subscriptionId,data):Promise<V2NewsletterSubscription>
Add/remove/replace the list memberships for an existing subscription. Returns the refreshed subscription record.
Parameters
siteName
string
subscriptionId
string
data
V2NewsletterSubscriptionListMembershipUpdate
Returns
Promise<V2NewsletterSubscription>