UNPKG

crisp-api

Version:

Crisp API wrapper for Node - official, maintained by Crisp

202 lines (201 loc) 6.37 kB
"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;