Cette page liste les méthodes d'API disponibles pour le SDK Web sans interface graphique.
Entreprise et menus
getTrigger
Cette méthode détecte les déclencheurs proactifs de la page actuelle. Il renvoie le déclencheur correspondant actuel ou null.
const trigger = await client.getTrigger()
getCompany
Cette méthode récupère les informations sur l'entreprise.
Signature de la méthode
getCompany(): Promise<CompanyResponse>
Valeur renvoyée
Renvoie un objet CompanyResponse.
Interfaces
interface CompanyResponse {
name: string;
subdomain: string;
support_email: string;
languages: LanguageOption[];
action_tracking: boolean;
email_transcripts: boolean;
message_preview: boolean;
email_enhancement: boolean;
cobrowse_domain?: string;
}
Exemple d'utilisation
try {
const company = await client.getCompany()
} catch (error) {
// handle error
}
getAfterHourMessage
Cette méthode récupère le message pour la déviation hors horaires d'ouverture.
Paramètre de requête :
(lang?: string)
Exemple :
const message: string = await client.getAfterHourMessage()
getMenus
Cette méthode liste tous les éléments de menu disponibles pour le locataire.
Signature de la méthode
getMenus(key?: string, lang?: string): Promise<MenuResponse>
Valeur renvoyée
Renvoie un objet MenuResponse.
Interfaces
interface MenuResponse {
menus: MenuItem[];
direct: {
key: boolean;
user: boolean;
};
}
interface MenuItem {
id: number;
name?: string;
enabled: boolean;
redirection?: {
option: string;
data: string;
};
children?: MenuItem[];
channels: MenuChannel[];
deflection?: {
enabled: boolean;
type: string;
};
}
Exemple d'utilisation
try {
const data: MenuResponse = await client.getMenus("direct_menu_key")
console.log(data.menus)
console.log(data.direct)
} catch (error) {
// handle error
}
getWaitTimes
Cette méthode permet d'obtenir le temps d'attente pour le canal de chat ou d'appel d'un menu.
Signature de la méthode
getWaitTimes(menuId: number | string, lang?: string): Promise<WaitTimeResponse>
Valeur renvoyée
Renvoie un objet WaitTimeResponse.
Interfaces
interface WaitTimeResponse {
chat: number;
voice_call: number;
}
Exemple d'utilisation
try {
const data: WaitTimeResponse = await client.getWaitTimes(123)
} catch (error) {
// handle error
}
Appels
createCall
Cette méthode permet de créer un appel instantané ou programmé.
Signature de la méthode
createCall(menuId: number | string, data: CallRequest): Promise<CallResponse>
Valeur renvoyée
Renvoie un objet CallResponse.
Interfaces
interface CallRequest {
phone_number: string;
lang?: string;
scheduled_at?: string;
ticket_id?: string;
email?: string;
recording_permission?: "recording_permission_not_asked" | "recording_permission_granted" | "recording_permission_denied";
custom_data?: {
signed?: string;
unsigned?: Record<string, any>;
};
}
Exemple d'utilisation
try {
const call = await client.createCall(123, { phone_number: '+12345678' })
} catch (error) {
// handle error
}
loadCall
Cette méthode récupère les informations d'appel pour un ID d'appel spécifié.
Signature de la méthode
loadCall(callId: number | string): Promise<CallResponse>
Valeur renvoyée
Renvoie un objet CallResponse.
Interfaces
interface CallResponse {
id: number;
lang: string;
menu_id: number;
status: string;
type: string;
scheduled_at?: string;
recording_permitted: boolean;
survey_enabled: boolean;
created_at: string;
menus: {
id: number;
name: string;
}[];
}
Exemple d'utilisation
try {
const call = await client.loadCall(1234)
} catch (error) {
// handle error
}
cancelCall
Cette méthode annule un appel.
Signature de la méthode
cancelCall(callId: number | string): Promise<CallResponse>
Valeur renvoyée
Renvoie un objet CallResponse.
Interfaces
interface CallResponse {
id: number;
lang: string;
menu_id: number;
status: string;
type: string;
scheduled_at?: string;
recording_permitted: boolean;
survey_enabled: boolean;
created_at: string;
menus: {
id: number;
name: string;
}[];
}
Exemple d'utilisation
try {
const response = await client.cancelCall(1234)
} catch (error) {
// handle error
}
getTimeSlots
Cette méthode permet d'obtenir les créneaux horaires disponibles.
Signature de la méthode
getTimeSlots(menuId: number | string, lang?: string): Promise<string[]>
Valeur renvoyée
Renvoie un tableau de chaînes (créneaux horaires).
Exemple d'utilisation
try {
const slots = await client.getTimeSlots(123)
} catch (error) {
// handle error
}
Discussions
createChat
Cette méthode permet de créer un chat.
Signature de la méthode
createChat(menuId: number | string, data: ChatRequest): Promise<Chat>
Valeur renvoyée
Renvoie une instance Chat.
Interfaces
interface ChatRequest {
lang?: string;
trigger_id?: string;
ticket_id?: string;
email?: string;
greeting?: string;
cobrowsable?: boolean;
custom_data?: {
signed?: string;
unsigned?: Record<string, any>;
};
}
Exemple d'utilisation
try {
const chat = client.createChat(123, { lang: 'en' })
} catch (error) {
// handle error
}
loadChat
Cette méthode récupère les informations de chat pour un ID de chat donné.
Signature de la méthode
loadChat(chatId: number | string): Promise<Chat>
Valeur renvoyée
Renvoie une instance Chat.
Exemple d'utilisation
try {
const chat = await client.loadChat(1234)
} catch (error) {
// handle error
}
loadOngoingChat
Cette méthode permet d'obtenir l'instance de chat en cours.
Signature de la méthode
loadOngoingChat(): Promise<Chat | null>
Valeur renvoyée
Renvoie une instance Chat si elle est trouvée, ou null si aucune discussion n'est en cours. Nettoie les valeurs de stockage si le chat n'est pas en cours.
Exemple d'utilisation
try {
const chat = await client.loadOngoingChat()
} catch (error) {
// handle error
}
resumeChat
Cette méthode permet de reprendre une discussion fermée.
Signature de la méthode
resumeChat(chatId: number | string): Promise<Chat>
Valeur renvoyée
Renvoie une instance de chat.
Exemple d'utilisation
client.resumeChat(1234)
finishChat
Cette méthode définit l'état du chat sur finished.
Signature de la méthode
finishChat(): Promise<void>
Exemple d'utilisation
try {
await client.finishChat()
} catch (error) {
// handle error
}
destroyChat
Cette méthode détruit la discussion en cours.
Signature de la méthode
destroyChat(): Promise<void>
Exemple d'utilisation
try {
await client.destroyChat()
} catch (error) {
// handle error
}
fetchMessages
Cette méthode permet d'obtenir tous les messages précédents. En cas d'échec, un tableau vide est renvoyé. Vous utiliserez cette méthode une fois le chat connecté.
Signature de la méthode
fetchMessages(): Promise<MessageResponse[]>
Valeur renvoyée
Renvoie un tableau de MessageResponse. Renvoie un tableau vide en cas d'échec.
Interfaces
interface MessageResponse {
$index: number;
$sid: string;
$timestamp: Date;
$userType: string;
$userId: number;
type: string;
content?: string;
event?: string;
file?: File;
media_id?: number;
groupMessageId?: number;
document?: {
url: string;
};
unredacted?: string;
buttons?: {
title: string;
}[];
message?: {
messages: string[];
type: string;
};
signature: string;
form?: {
id: number;
form_type: string;
name: string;
title: string;
subtitle: string;
external_form_id: string;
smart_action_id: number;
image: string;
};
}
Exemple d'utilisation
const messages = client.fetchMessages()
sendTextMessage
Cette méthode envoie un message.
Signature de la méthode
sendTextMessage(rawContent: string): Promise<void>
Exemple d'utilisation
try {
client.sendTextMessage("hello world")
} catch (error) {
// handle error
}
sendFileMessage
Cette méthode envoie un message de fichier.
Signature de la méthode
sendFileMessage(file: File): Promise<number>
Valeur renvoyée
Renvoie l'ID du message ou -1 en cas d'échec.
Exemple d'utilisation
const input = document.querySelector('input[type="file"]')
const file = input.files[0]
const id = client.sendFileMessage(file)
sendPreviewMessage
Signature de la méthode
sendPreviewMessage(content: string): Promise<void>
Exemple d'utilisation
try {
await client.sendPreviewMessage('preview content')
} catch (error) {
// handle error
}
getChatDeflection
Cette méthode permet d'obtenir la configuration de la déviation du chat.
Signature de la méthode
getChatDeflection(): Promise<ChatDeflectionResponse>
Valeur renvoyée
Renvoie un objet ChatDeflectionResponse.
Interfaces
interface ChatDeflectionResponse {
enabled: boolean;
threshold: number;
email: boolean;
keep_waiting: boolean;
external_deflection_links: {
enabled: boolean;
ids: number[];
};
}
Exemple d'utilisation
try {
const deflection = await client.getChatDeflection()
} catch (error) {
// handle error
}
sendChatTranscripts
Envoyez les transcriptions de chat actuelles aux adresses e-mail spécifiées.
Signature de la méthode
sendChatTranscripts (emails: string[]): Promise<void>
Exemple d'utilisation
try {
client.sendChatTranscripts([
"name1@example.com",
"name2@example.com",
])
} catch (error) {
// handle error
}
downloadChatTranscript
Signature de la méthode
downloadChatTranscript(): Promise<GenerateTranscriptResponse>
Valeur renvoyée
Renvoie l'objet de transcription.
interface GenerateTranscriptResponse {
status: string;
chat_transcript_id: number;
}
Exemple d'utilisation
try {
const resp = await client.downloadChatTranscript()
} catch (error) {
// handle error
}
getPdfStatus
Signature de la méthode
getPdfStatus(id: number): Promise<RequestReturn>
Valeur renvoyée
Renvoie l'objet d'état du PDF.
Interfaces
interface RequestReturn {
//...
headers,
data: PdfStatusResponse,
}
interface PdfStatusResponse {
status: string;
body?: File;
failed_reason?: string;
}
Exemple d'utilisation
const response = await client.getPdfStatus(pdfId)
// check header for status
const status = resp.headers['x-transcript-status'];
// otherwise use status on data
const data: PdfStatusResponse = resp.data
console.log(data.status)
getChatSurvey
Cette méthode permet d'obtenir les questions de l'enquête par chat.
Signature de la méthode
getChatSurvey(): Promise<ChatSurveyResponse>
Valeur renvoyée
Renvoie un objet ChatSurveyResponse.
Interfaces
interface QuestionItem {
id: number;
type: "csat" | "star" | "free-form" | "scale" | "enumeration";
display_text: string;
name?: string;
is_csat?: boolean;
position?: number;
valid_answers?: {
key: string;
value: string;
}[]
}
interface ChatSurveyResponse {
id?: number;
lang?: string;
sign_off_display_text: string;
questions: QuestionItem[];
}
Exemple d'utilisation
try {
const data = await client.getChatSurvey()
console.log(data.questions)
} catch (error) {
// handle error
}
sendChatSurvey
Cette méthode envoie une enquête au consommateur.
Signature de la méthode
sendChatSurvey(answers: SurveyAnswers): void
Interfaces
interface SurveyAnswers {
[question_id: string]: number | string;
}
Exemple d'utilisation
try {
await client.sendChatSurvey({
123: "a",
231: "b",
})
} catch (error) {
// handle error
}
sendChatRate
Cette méthode envoie les commentaires de l'utilisateur final pour la discussion en cours lorsque celle-ci est terminée.
Signature de la méthode
sendChatRate(data: RateRequest): Promise<void>
Interfaces
interface RateRequest {
rating: number;
feedback?: string;
}
Exemple d'utilisation
try {
await client.sendChatRate({
rating: 5,
feedback: "Very good service",
})
} catch (error) {
// handle error
}
escalateChat
Signature de la méthode
escalateChat(data?: EscalateRequest): Promise<void>
Interfaces
interface EscalateRequest {
reason?: string;
// ...other escalation fields
}
Exemple d'utilisation
try {
await client.escalateChat()
} catch (error) {
// handle error
}
trackChatEscalation
Signature de la méthode
trackChatEscalation(escalationId: number, channel: string): Promise<void>
Exemple d'utilisation
try {
await client.trackChatEscalation(escalationId, channel)
} catch (error) {
// handle error
}
trackChatEndUserEvent
Signature de la méthode
trackChatEndUserEvent(data: ChatEndUserEventRequest): Promise<void>
Valeur renvoyée
Ne renvoie aucune valeur.
Interfaces
interface ChatEndUserEventRequest {
end_user_name?: string;
// ...other event fields
}
Exemple d'utilisation
try {
await client.trackChatEndUserEvent(eventData)
} catch (error) {
// handle error
}
getChatHistory
Signature de la méthode
getChatHistory(page?: number): Promise<ChatHistoryResponse>
Valeur renvoyée
Renvoie un objet ChatHistoryResponse.
Interfaces
interface ChatHistoryItem {
comm_id: number;
assigned_at: string;
comm_type: string;
timezone: string;
entries: MessageResponse[];
}
interface ChatHistoryResponse {
chats: ChatHistoryItem[];
missing_chat_ids: number[];
pagination: {
next_page: number;
per_page: number;
}
}
Exemple d'utilisation
try {
const data = client.getChatHistory(page: number)
console.log(data)
} catch (error) {
console.log(error)
}
E-mails
createEmails
Signature de la méthode
createEmail(menuId: number | string, data: EmailRequest): Promise<EmailResponse>
Valeur renvoyée
Renvoie un objet EmailResponse en cas d'échec ou de réussite.
Interfaces
interface EmailRequest {
name?: string;
email: string;
content: string;
lang?: string;
files?: File[];
recaptcha?: string;
}
interface EmailResponse {
id: number;
type: string;
status: string;
fail_reason: string;
attachment_count: number;
}
Exemple d'utilisation
try {
await client.createEmail(123, {
lang: "en",
name: "User name",
email: "name@example.com",
content: "description of the question",
files: input.files,
})
} catch (error) {
console.log(error.message)
}
getProhibitedFileTypes
Signature de la méthode
getProhibitedFileTypes(): Promise<FileTypeItem[]>
Valeur renvoyée
Renvoie un tableau de FileTypeItem.
Interfaces
interface FileTypeItem {
extension: string;
description: string;
}
Exemple d'utilisation
try {
const types = await client.getProhibitedFileTypes()
} catch (error) {
// handle error
}
Partage d'écran
createCobrowseCode
Cette méthode crée un code de partage d'écran.
Signature de la méthode
createCobrowseCode(lang?: string, customData?: Record<string, string>): Promise<string>
Valeur renvoyée
Renvoie une chaîne de code de partage d'écran ou une chaîne vide en cas d'échec.
Exemple d'utilisation
const code = await client.createCobrowseCode()
// 123456
startCobrowse
Signature de la méthode
startCobrowse(from?: string): Promise<void>
Exemple d'utilisation
try {
await client.startCobrowse()
} catch (error) {
// handle error
}
getMessageAttachment
Signature de la méthode
getMessageAttachment(message: MessageResponse): Promise<File | null>
Valeur renvoyée
Renvoie un objet File s'il est trouvé, ou null si ce n'est pas le cas.
Exemple d'utilisation
try {
const file = await client.getMessageAttachment(message)
} catch (error) {
// handle error
}
Agents virtuels post-session
updatePostSession
Signature de la méthode
updatePostSession(postSessionStatus: PostSessionStatus): Promise<void>
Interfaces
enum PostSessionStatus {
READY = 'ready',
IN_PROGRESS = 'in_progress',
WAITING = 'waiting',
FINISHED = 'finished',
}
Exemple d'utilisation
try {
await client.updatePostSession(PostSessionStatus.READY)
} catch (error) {
// handle error (e.g., show a notification to the user)
}
Interface associée
interface ChatResponse {
//...
post_session_required?: boolean;
post_session_opt_in_required?: boolean;
post_session_transfer_status?: string;
}
Valeurs :
post_session_required: post-session requise après une discussionpost_session_opt_in_required: l'activation est activéepost_session_transfer_status: une énumérationPostSessionStatus
Autres
runTrigger
Signature de la méthode
runTrigger(cb: (trigger: TriggerItem) => void): Promise<void>
Exemple d'utilisation
client.runTrigger((trigger: TriggerItem) => {
// code to run for given trigger
})
getAfterHourMessage
Signature de la méthode
getAfterHourMessage(lang?: string): Promise<string>
Valeur renvoyée
Renvoie une chaîne contenant un message configuré.
Exemple d'utilisation
try {
const message: string = await client.getAfterHourMessage()
} catch (error) {
// handle error
}