crisp-api
Version:
Crisp API wrapper for Node - official, maintained by Crisp
202 lines (201 loc) • 6.37 kB
JavaScript
"use strict";
/*
* This file is part of node-crisp-api
*
* Copyright (c) 2025 Crisp IM SAS
* All rights belong to Crisp IM SAS
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/**************************************************************************
* IMPORTS
***************************************************************************/
// PROJECT: RESOURCES
const BaseResource_1 = __importDefault(require("./BaseResource"));
/**************************************************************************
* CLASSES
***************************************************************************/
/**
* Crisp WebsiteCampaign Resource
*/
class WebsiteCampaign extends BaseResource_1.default {
/**
* List Campaigns
*/
listCampaigns(websiteID, pageNumber = 1) {
return this.crisp.get(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "list", String(pageNumber)
]));
}
/**
* List Campaign Tags
*/
listCampaignTags(websiteID) {
return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "campaigns", "tags"]));
}
/**
* List Campaign Templates
*/
listCampaignTemplates(websiteID, pageNumber = 1) {
return this.crisp.get(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "templates", String(pageNumber)
]));
}
/**
* Create A New Campaign Template
*/
createNewCampaignTemplate(websiteID, templateFormat, templateName) {
return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "campaigns", "template"]), null, {
format: templateFormat,
name: templateName
});
}
/**
* Check If Campaign Template Exists
*/
checkCampaignTemplateExists(websiteID, templateID) {
return this.crisp.head(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "template", templateID
]));
}
/**
* Get A Campaign Template
*/
getCampaignTemplate(websiteID, templateID) {
return this.crisp.get(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "template", templateID
]));
}
/**
* Save A Campaign Template
*/
saveCampaignTemplate(websiteID, templateID, template) {
return this.crisp.put(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "template", templateID
]), null, template);
}
/**
* Update A Campaign Template
*/
updateCampaignTemplate(websiteID, templateID, template) {
return this.crisp.patch(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "template", templateID
]), null, template);
}
/**
* Remove A Campaign Template
*/
removeCampaignTemplate(websiteID, templateID) {
return this.crisp.delete(this.crisp.prepareRestUrl([
"website", websiteID, "campaigns", "template", templateID
]));
}
/**
* Create A New Campaign
*/
createNewCampaign(websiteID, campaignType, campaignName) {
return this.crisp.post(this.crisp.prepareRestUrl(["website", websiteID, "campaign"]), null, {
type: campaignType,
name: campaignName
});
}
;
/**
* Check If Campaign Exists
*/
checkCampaignExists(websiteID, campaignID) {
return this.crisp.head(this.crisp.prepareRestUrl(["website", websiteID, "campaign", campaignID]));
}
;
/**
* Get A Campaign
*/
getCampaign(websiteID, campaignID) {
return this.crisp.get(this.crisp.prepareRestUrl(["website", websiteID, "campaign", campaignID]));
}
;
/**
* Save A Campaign
*/
saveCampaign(websiteID, campaignID, campaign) {
return this.crisp.put(this.crisp.prepareRestUrl(["website", websiteID, "campaign", campaignID]), null, campaign);
}
;
/**
* Update A Campaign
*/
updateCampaign(websiteID, campaignID, campaign) {
return this.crisp.patch(this.crisp.prepareRestUrl(["website", websiteID, "campaign", campaignID]), null, campaign);
}
;
/**
* Remove A Campaign
*/
removeCampaign(websiteID, campaignID) {
return this.crisp.delete(this.crisp.prepareRestUrl(["website", websiteID, "campaign", campaignID]));
}
;
/**
* Dispatch A Campaign
* @return {Promise}
*/
dispatchCampaign(websiteID, campaignID) {
return this.crisp.post(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "dispatch"
]), null, null);
}
;
/**
* Resume A Campaign
*/
resumeCampaign(websiteID, campaignID) {
return this.crisp.post(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "resume"
]), null, null);
}
;
/**
* Pause A Campaign
*/
pauseCampaign(websiteID, campaignID) {
return this.crisp.post(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "pause"
]), null, null);
}
;
/**
* Test A Campaign
*/
testCampaign(websiteID, campaignID) {
return this.crisp.post(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "test"
]), null, null);
}
;
/**
* List Campaign Recipients
*/
listCampaignRecipients(websiteID, campaignID, pageNumber = 1) {
return this.crisp.get(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "recipients",
String(pageNumber)
]));
}
;
/**
* List Campaign Statistics
*/
listCampaignStatistics(websiteID, campaignID, action, pageNumber = 1) {
return this.crisp.get(this.crisp.prepareRestUrl([
"website", websiteID, "campaign", campaignID, "statistics", action,
String(pageNumber)
]));
}
;
}
/**************************************************************************
* EXPORTS
***************************************************************************/
exports.default = WebsiteCampaign;