UNPKG

crisp-api

Version:

Crisp API wrapper for Node - official, maintained by Crisp

117 lines (116 loc) 3.76 kB
/************************************************************************** * IMPORTS ***************************************************************************/ import BaseResource from "./BaseResource"; /************************************************************************** * TYPES ***************************************************************************/ export type PluginSubscription = { id?: string; urn?: string; type?: string; category?: string; name?: string; summary?: string; price?: number; plans?: PluginSubscriptionPlan[]; icon?: string; website_url?: string; contact_url?: string; terms_url?: string; privacy_url?: string; help_url?: string; video_url?: string; configurable?: boolean; since?: string; active?: boolean; website_id?: string; card_id?: string; }; export type PluginSubscriptionPlan = { id?: string; name?: string; price?: number; }; export type PluginSubscriptionSettings = { plugin_id?: string; website_id?: string; token?: string; schema?: object; settings?: object; settings_form_url?: string; callback_url?: string; }; export type PluginSubscriptionChannelForward = { namespace?: string; identifier?: string; payload?: object; }; export type PluginSubscriptionEventDispatch = { name?: string; data?: object; }; /************************************************************************** * CLASSES ***************************************************************************/ /** * Crisp PluginSubscription Resource */ declare class PluginSubscriptionService extends BaseResource { /** * List All Active Subscriptions */ listAllActiveSubscriptions(): Promise<PluginSubscription[]>; /** * List Subscriptions For A Website */ listSubscriptionsForWebsite(websiteID: string): Promise<PluginSubscription[]>; /** * Get Subscription Details */ getSubscriptionDetails(websiteID: string, pluginID: string): Promise<PluginSubscription>; /** * Subscribe Website To Plugin */ subscribeWebsiteToPlugin(websiteID: string, pluginID: string): Promise<any>; /** * Unsubscribe Plugin From Website */ unsubscribePluginFromWebsite(websiteID: string, pluginID: string): Promise<any>; /** * Get Subscription Settings */ getSubscriptionSettings(websiteID: string, pluginID: string): Promise<PluginSubscriptionSettings>; /** * Save Subscription Settings */ saveSubscriptionSettings(websiteID: string, pluginID: string, settings: object): Promise<any>; /** * Update Subscription Settings */ updateSubscriptionSettings(websiteID: string, pluginID: string, settings: object): Promise<any>; /** * Get Plugin Usage Bills */ getPluginUsageBills(websiteID: string, pluginID: string): Promise<any>; /** * Report Plugin Usage To Bill */ reportPluginUsageToBill(websiteID: string, pluginID: string, usage: object): Promise<any>; /** * Get Plugin Attest Provenance */ getPluginAttestProvenance(websiteID: string, pluginID: string): Promise<any>; /** * Forward Plugin Payload To Channel */ forwardPluginPayloadToChannel(websiteID: string, pluginID: string, payload: PluginSubscriptionChannelForward): Promise<any>; /** * Dispatch Plugin Event */ dispatchPluginEvent(websiteID: string, pluginID: string, payload: PluginSubscriptionEventDispatch): Promise<any>; } /************************************************************************** * EXPORTS ***************************************************************************/ export default PluginSubscriptionService;