헤드리스 웹 SDK API 메서드

이 페이지에는 헤드리스 웹 SDK에 사용할 수 있는 API 메서드가 나와 있습니다.

회사 및 메뉴

회사 값과 메뉴를 처리하는 방법

getTrigger

이 메서드는 현재 페이지의 사전 예방적 트리거를 감지합니다. 현재 일치하는 트리거 또는 null를 반환합니다.

const trigger = await client.getTrigger()

getCompany

이 메서드는 회사 정보를 가져옵니다.

메서드 서명

getCompany(): Promise<CompanyResponse>

반환 값

CompanyResponse 객체를 반환합니다.

인터페이스

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;
}

사용 예

try {
  const company = await client.getCompany()
} catch (error) {
  // handle error
}

getMenus

이 메서드는 테넌트에서 사용할 수 있는 모든 메뉴 항목을 나열합니다.

메서드 서명

getMenus(key?: string, lang?: string): Promise<MenuResponse>

반환 값

MenuResponse 객체를 반환합니다.

인터페이스

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;
  };
}

사용 예

try {
  const data: MenuResponse = await client.getMenus("direct_menu_key")
  console.log(data.menus)
  console.log(data.direct)
} catch (error) {
  // handle error
}

getWaitTimes

이 메서드는 메뉴의 채팅 채널 또는 통화 채널의 대기 시간을 가져옵니다.

메서드 서명

getWaitTimes(menuId: number | string, lang?: string): Promise<WaitTimeResponse>

반환 값

WaitTimeResponse 객체를 반환합니다.

인터페이스

interface WaitTimeResponse {
  chat: number;
  voice_call: number;
}

사용 예

try {
  const data: WaitTimeResponse = await client.getWaitTimes(123)
} catch (error) {
  // handle error
}

통화

SDK를 통해 예약된 통화를 처리하는 메서드

createCall

이 메서드는 즉석 또는 예약 통화를 만듭니다.

메서드 서명

createCall(menuId: number | string, data: CallRequest): Promise<CallResponse>

반환 값

CallResponse 객체를 반환합니다.

인터페이스

interface CallRequest {
  phone_number: string;
  lang?: string;
  scheduled_at?: string;
  ticket_id?: string;
  email?: string;
  recording_permission?: