crisp-api
Version:
Crisp API wrapper for Node - official, maintained by Crisp
361 lines (360 loc) • 13.1 kB
TypeScript
/**************************************************************************
* IMPORTS
***************************************************************************/
import BaseResource from "./BaseResource";
/**************************************************************************
* INTERFACES
***************************************************************************/
export interface Helpdesk {
name?: string;
url?: string;
}
export interface HelpdeskRemoveVerify {
method: string;
secret: string;
}
export interface HelpdeskLocale {
locale_id?: string;
locale?: string;
url?: string;
articles?: number;
categories?: number;
}
export interface HelpdeskLocaleArticle {
locale_id?: string;
locale?: string;
url?: string;
articles?: number;
categories?: number;
}
export interface HelpdeskLocaleArticleCategory {
category_id?: string;
section_id?: string;
}
export interface HelpdeskLocaleArticleAlternate {
locale?: string;
article_id?: string;
}
export interface HelpdeskLocaleArticlePage {
title?: string;
url?: string;
}
export interface HelpdeskLocaleSection {
section_id?: string;
name?: string;
order?: number;
created_at?: number;
updated_at?: number;
}
export interface HelpdeskLocaleFeedbackRatings {
ratings?: HelpdeskLocaleFeedbackRatingsRatings;
}
export interface HelpdeskLocaleFeedbackRatingsRatings {
helpful?: number;
unhelpful?: number;
}
export interface HelpdeskLocaleFeedbackItem {
rating?: string;
comment?: string;
article?: HelpdeskLocaleFeedbackItemArticle;
session?: HelpdeskLocaleFeedbackItemSession;
created_at?: number;
}
export interface HelpdeskLocaleFeedbackItemArticle {
article_id?: string;
title?: string;
url?: string;
}
export interface HelpdeskLocaleFeedbackItemSession {
session_id?: string;
nickname?: string;
email?: string;
avatar?: string;
geolocation?: HelpdeskLocaleFeedbackItemSessionGeolocation;
assigned?: HelpdeskLocaleFeedbackItemSessionAssigned;
}
export interface HelpdeskLocaleFeedbackItemSessionGeolocation {
country?: string;
region?: string;
city?: string;
coordinates?: HelpdeskLocaleFeedbackItemSessionGeolocationCoordinates;
}
export interface HelpdeskLocaleFeedbackItemSessionGeolocationCoordinates {
latitude?: number;
longitude?: number;
}
export interface HelpdeskLocaleFeedbackItemSessionAssigned {
user_id?: string;
}
export interface HelpdeskRedirection {
redirection_id?: string;
path?: string;
target?: string;
created_at?: number;
updated_at?: number;
}
export interface HelpdeskSettings {
name?: string;
appearance?: HelpdeskSettingsAppearance;
behavior?: HelpdeskSettingsBehavior;
include?: HelpdeskSettingsInclude;
access?: HelpdeskSettingsAccess;
}
export interface HelpdeskSettingsAppearance {
logos?: HelpdeskSettingsAppearanceLogos;
banner?: string;
}
export interface HelpdeskSettingsAppearanceLogos {
header?: string;
footer?: string;
}
export interface HelpdeskSettingsBehavior {
frequentlyRead?: boolean;
showCategoryImages?: boolean;
showChatbox?: boolean;
askFeedback?: boolean;
localePicker?: boolean;
referLink?: boolean;
forbidIndexing?: boolean;
statusHealthDead?: boolean;
}
export interface HelpdeskSettingsInclude {
html?: string;
}
export interface HelpdeskSettingsAccess {
password?: string;
}
export interface HelpdeskDomain {
root?: string;
basic?: string;
custom?: string;
verified?: boolean;
}
/**************************************************************************
* CLASSES
***************************************************************************/
/**
* Crisp WebsiteHelpdesk Resource
*/
declare class WebsiteHelpdesk extends BaseResource {
/**
* Check If Helpdesk Exists
*/
checkHelpdeskExists(websiteID: string): Promise<any>;
/**
* Resolve Helpdesk
*/
resolveHelpdesk(websiteID: string): Promise<Helpdesk>;
/**
* Initialize Helpdesk
*/
initializeHelpdesk(websiteID: string, name: string, domainBasic: string): Promise<any>;
/**
* Delete Helpdesk
*/
deleteHelpdesk(websiteID: string, verify: HelpdeskRemoveVerify): Promise<any>;
/**
* List Helpdesk Locales
*/
listHelpdeskLocales(websiteID: string, pageNumber?: number): Promise<HelpdeskLocale[]>;
/**
* Add Helpdesk Locale
*/
addHelpdeskLocale(websiteID: string, locale: string): Promise<any>;
/**
* Check If Helpdesk Locale Exists
*/
checkHelpdeskLocaleExists(websiteID: string, locale: string): Promise<any>;
/**
* Resolve Helpdesk Locale
*/
resolveHelpdeskLocale(websiteID: string, locale: string): Promise<HelpdeskLocale>;
/**
* Delete Helpdesk Locale
*/
deleteHelpdeskLocale(websiteID: string, locale: string): Promise<any>;
/**
* List Helpdesk Locale Articles
*/
listHelpdeskLocaleArticles(websiteID: string, locale: string, pageNumber?: number, options?: object): Promise<any>;
/**
* Add A New Helpdesk Locale Article
*/
addNewHelpdeskLocaleArticle(websiteID: string, locale: string, title: string): Promise<any>;
/**
* Check If Helpdesk Locale Article Exists
*/
checkHelpdeskLocaleArticleExists(websiteID: string, locale: string, articleId: string): Promise<any>;
/**
* Resolve Helpdesk Locale Article
*/
resolveHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string): Promise<HelpdeskLocaleArticle>;
/**
* Save Helpdesk Locale Article
*/
saveHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string, article: HelpdeskLocaleArticle): Promise<any>;
/**
* Update Helpdesk Locale Article
*/
updateHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string, article: HelpdeskLocaleArticle): Promise<any>;
/**
* Delete Helpdesk Locale Article
*/
deleteHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string): Promise<any>;
/**
* Resolve Helpdesk Locale Article Page
*/
resolveHelpdeskLocaleArticlePage(websiteID: string, locale: string, articleId: string): Promise<HelpdeskLocaleArticlePage>;
/**
* Resolve Helpdesk Locale Article Category
*/
resolveHelpdeskLocaleArticleCategory(websiteID: string, locale: string, articleId: string): Promise<HelpdeskLocaleArticleCategory>;
/**
* Update Helpdesk Locale Article Category
*/
updateHelpdeskLocaleArticleCategory(websiteID: string, locale: string, articleId: string, categoryId: string, sectionId?: string): Promise<any>;
/**
* List Helpdesk Locale Article Alternates
*/
listHelpdeskLocaleArticleAlternates(websiteID: string, locale: string, articleId: string): Promise<HelpdeskLocaleArticleAlternate[]>;
/**
* Check If Helpdesk Locale Article Alternate Exists
*/
checkHelpdeskLocaleArticleAlternateExists(websiteID: string, locale: string, articleId: string, localeLinked: string): Promise<any>;
/**
* Resolve Helpdesk Locale Article Alternate
*/
resolveHelpdeskLocaleArticleAlternate(websiteID: string, locale: string, articleId: string, localeLinked: string): Promise<HelpdeskLocaleArticleAlternate>;
/**
* Save Helpdesk Locale Article Alternate
*/
saveHelpdeskLocaleArticleAlternate(websiteID: string, locale: string, articleId: string, localeLinked: string, articleIdLinked: string): Promise<any>;
/**
* Delete Helpdesk Locale Article Alternate
*/
deleteHelpdeskLocaleArticleAlternate(websiteID: string, locale: string, articleId: string, localeLinked: string): Promise<any>;
/**
* Publish Helpdesk Locale Article
*/
publishHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string): Promise<any>;
/**
* Unpublish Helpdesk Locale Article
*/
unpublishHelpdeskLocaleArticle(websiteID: string, locale: string, articleId: string): Promise<any>;
/**
* List Helpdesk Locale Categories
*/
listHelpdeskLocaleCategories(websiteID: string, locale: string, pageNumber?: number): Promise<HelpdeskLocaleArticleCategory[]>;
/**
* Add Helpdesk Locale Category
*/
addHelpdeskLocaleCategory(websiteID: string, locale: string, name: string): Promise<any>;
/**
* Check If Helpdesk Locale Category Exists
*/
checkHelpdeskLocaleCategoryExists(websiteID: string, locale: string, categoryId: string): Promise<any>;
/**
* Resolve Helpdesk Locale Category
*/
resolveHelpdeskLocaleCategory(websiteID: string, locale: string, categoryId: string): Promise<HelpdeskLocaleArticleCategory>;
/**
* Save Helpdesk Locale Category
*/
saveHelpdeskLocaleCategory(websiteID: string, locale: string, categoryId: string, category: HelpdeskLocaleArticleCategory): Promise<any>;
/**
* Update Helpdesk Locale Category
*/
updateHelpdeskLocaleCategory(websiteID: string, locale: string, categoryId: string, category: HelpdeskLocaleArticleCategory): Promise<any>;
/**
* Delete Helpdesk Locale Category
*/
deleteHelpdeskLocaleCategory(websiteID: string, locale: string, categoryId: string): Promise<any>;
/**
* List Helpdesk Locale Sections
*/
listHelpdeskLocaleSections(websiteID: string, locale: string, categoryId: string, pageNumber?: number): Promise<HelpdeskLocaleSection[]>;
/**
* Add Helpdesk Locale Section
*/
addHelpdeskLocaleSection(websiteID: string, locale: string, categoryId: string, name: string): Promise<any>;
/**
* Check If Helpdesk Locale Section Exists
*/
checkHelpdeskLocaleSectionExists(websiteID: string, locale: string, categoryId: string, sectionId: string): Promise<any>;
/**
* Resolve Helpdesk Locale Section
*/
resolveHelpdeskLocaleSection(websiteID: string, locale: string, categoryId: string, sectionId: string): Promise<HelpdeskLocaleSection>;
/**
* Save Helpdesk Locale Section
*/
saveHelpdeskLocaleSection(websiteID: string, locale: string, categoryId: string, sectionId: string, section: HelpdeskLocaleSection): Promise<any>;
/**
* Update Helpdesk Locale Section
*/
updateHelpdeskLocaleSection(websiteID: string, locale: string, categoryId: string, sectionId: string, section: HelpdeskLocaleSection): Promise<any>;
/**
* Delete Helpdesk Locale Section
*/
deleteHelpdeskLocaleSection(websiteID: string, locale: string, categoryId: string, sectionId: string): Promise<any>;
/**
* Map Helpdesk Locale Feedback Ratings
*/
mapHelpdeskLocaleFeedbackRatings(websiteID: string, locale: string, filterDateStart?: string | null, filterDateEnd?: string | null): Promise<HelpdeskLocaleFeedbackRatings>;
/**
* List Helpdesk Locale Feedbacks
*/
listHelpdeskLocaleFeedbacks(websiteID: string, locale: string, pageNumber?: number, filterDateStart?: string | null, filterDateEnd?: string | null): Promise<HelpdeskLocaleFeedbackItem[]>;
/**
* Import External Helpdesk To Locale
*/
importExternalHelpdeskToLocale(websiteID: string, locale: string, helpdeskUrl: string): Promise<any>;
/**
* Export Helpdesk Locale Articles
*/
exportHelpdeskLocaleArticles(websiteID: string, locale: string): Promise<any>;
/**
* List Helpdesk Redirections
*/
listHelpdeskRedirections(websiteID: string, pageNumber?: number): Promise<HelpdeskRedirection[]>;
/**
* Add Helpdesk Redirection
*/
addHelpdeskRedirection(websiteID: string, redirectionPath: string, redirectionTarget: string): Promise<any>;
/**
* Check If Helpdesk Redirection Exists
*/
checkHelpdeskRedirectionExists(websiteID: string, redirectionId: string): Promise<any>;
/**
* Resolve Helpdesk Redirection
*/
resolveHelpdeskRedirection(websiteID: string, redirectionId: string): Promise<HelpdeskRedirection>;
/**
* Delete Helpdesk Redirection
*/
deleteHelpdeskRedirection(websiteID: string, redirectionId: string): Promise<any>;
/**
* Resolve Helpdesk Settings
*/
resolveHelpdeskSettings(websiteID: string): Promise<HelpdeskSettings>;
/**
* Save Helpdesk Settings
*/
saveHelpdeskSettings(websiteID: string, settings: HelpdeskSettings): Promise<any>;
/**
* Resolve Helpdesk Domain
*/
resolveHelpdeskDomain(websiteID: string): Promise<HelpdeskDomain>;
/**
* Request Helpdesk Domain Change
*/
requestHelpdeskDomainChange(websiteID: string, basic: string, custom: string): Promise<any>;
/**
* Generate Helpdesk Domain Setup Flow
*/
generateHelpdeskDomainSetupFlow(websiteID: string, custom?: string | null): Promise<any>;
}
/**************************************************************************
* EXPORTS
***************************************************************************/
export default WebsiteHelpdesk;