이 페이지에는 모든 맞춤 UI 모듈 이벤트의 API 문서가 포함되어 있습니다.
일정 세부정보
| 이벤트 이름 | 페이로드 | 설명 |
|---|---|---|
| active-conversation-selected | ActiveConversationSelectedPayload | 대화가 선택되면 디스패치됩니다. |
| smart-reply-selected | SmartReplySelection | 스마트 답장 칩이 선택되면 디스패치됩니다. |
| smart-reply-follow-up-suggestions-received | SmartReplyFollowUpSuggestionsReceivedPayload | 스마트 답장 후속 제안이 수신되면 디스패치됩니다. |
| conversation-details-received | ConversationDetailsReceivedPayload | 상담사 및 고객 정보를 비롯한 대화 세부정보가 SDK에서 수신되면 디스패치됩니다. |
| conversation-initialization-requested | ConversationInitializationRequestedPayload | Dialogflow 대화를 초기화해야 할 때 디스패치됩니다. |
| conversation-initialized | ConversationInitializedPayload | Dialogflow 대화가 초기화되면 디스패치됩니다. |
| conversation-started | ConversationStartedPayload | Dialogflow 대화가 시작되면 디스패치됩니다. |
| conversation-completed | ConversationCompletedPayload | Dialogflow 대화가 백엔드에서 완료되었음을 UI 구성요소 및 구독자에게 알리기 위해 다운스트림으로 디스패치됩니다. |
| complete-conversation-requested | CompleteConversationRequestedPayload | Dialogflow 대화를 완료로 표시하도록 요청하기 위해 커넥터 또는 통합에 의해 디스패치됩니다. |
| conversation-profile-requested | ConversationProfileRequestedPayload | Dialogflow 대화 프로필을 가져올 때 디스패치됩니다. |
| conversation-profile-received | ConversationProfileReceivedPayload | Dialogflow 대화 프로필이 수신되면 디스패치됩니다. |
| conversation-model-requested | ConversationModelRequestedPayload | Dialogflow 대화 모델을 가져올 때 디스패치됩니다. |
| conversation-model-received | ConversationModelReceivedPayload | Dialogflow 대화 모델이 수신되면 디스패치됩니다. |
| new-message-received | NewMessageReceivedPayload | 새 트랜스크립트 메시지가 수신되면 디스패치됩니다. |
| analyze-content-requested | AnalyzeContentRequestDetails | AnalyzeContent 요청을 해야 할 때 디스패치됩니다. |
| analyze-content-response-received | AnalyzeContentResponseReceivedPayload | 새 AnalyzeContentResponse가 수신되면 디스패치됩니다. |
| conversation-summarization-requested | ConversationSummarizationRequestedEventPayload | 대화 요약이 요청되었습니다. |
| stateless-conversation-summarization-requested | StatelessConversationSummarizationRequestedPayload | 스테이트리스 대화 요약이 요청되었습니다. |
| stateless-conversation-summarization-response-received | StatelessConversationSummarizationResponseReceivedPayload | 스테이트리스 대화 요약 응답이 수신되었습니다. |
| conversation-summarization-received | ConversationSummarizationReceivedPayload | 대화 요약이 수신되었습니다. |
| dialogflow-api-error | DialogflowApiErrorPayload | Dialogflow API 오류가 발생했습니다. |
| dialogflow-api-authentication-error | void | Dialogflow API 인증 (401) 오류가 발생했습니다. |
| answer-record-requested | AnswerRecordRequestedPayload | 답변 기록이 요청되었습니다. |
| answer-record-received | AnswerRecordReceivedPayload | 답변 기록이 수신되었습니다. |
| patch-answer-record-requested | PatchAnswerRecordRequestedPayload | 패치 답변 기록이 요청되었습니다. |
| patch-answer-record-received | PatchAnswerRecordReceivedPayload | 패치 답변 기록 요청이 수신되었습니다. |
| article-search-requested | ArticleSearchRequestedPayload | 기사 검색이 요청되었습니다. |
| article-search-response-received | ArticleSearchResponseReceivedPayload | 기사 검색 결과가 수신되었습니다. |
| dark-mode-toggled | DarkModeToggledPayload | 상담사 데스크톱에서 어두운 모드가 전환되었습니다. |
| snackbar-notification-requested | SnackbarNotificationPayload | 스낵바 알림이 요청되었습니다. |
| live-person-connector-initialized | void | LivePerson 커넥터가 초기화되었습니다. |
| genesys-cloud-connector-initialized | void | Genesys Cloud 커넥터가 초기화되었습니다. |
| api-connector-initialized | void | API 커넥터가 초기화되었습니다. |
| event-based-connector-initialized | void | 이벤트 기반 커넥터가 초기화되었습니다. |
| live-person-connector-initialization-failed | void | LivePerson 커넥터 초기화에 실패했습니다. |
| genesys-cloud-connector-initialization-failed | void | Genesys Cloud 커넥터 초기화에 실패했습니다. |
| genesys-cloud-connector-access-token-received | GenesysCloudConnectorAccessTokenReceivedPayload | Genesys Cloud 커넥터 액세스 토큰이 수신되었습니다. |
| api-connector-initialization-failed | void | API 커넥터 초기화에 실패했습니다. |
| event-based-connector-initialization-failed | void | 이벤트 기반 커넥터 초기화에 실패했습니다. |
| event-based-connection-established | void | 웹 소켓 연결이 설정되면 디스패치됩니다. |
| list-messages-requested | ListMessagesRequestedPayload | 지정된 대화의 메시지를 나열하도록 요청합니다. |
| list-messages-response-received | ListMessagesResponseReceivedPayload | 메시지 목록 응답이 수신되면 디스패치됩니다. |
| virtual-agent-assist-response-message-selected | VirtualAgentAssistResponseMessageSelectedPayload | Virtual Agent Assist 응답 메시지가 선택되면 디스패치됩니다. 선택한 메시지로 상담사 입력 상자를 채우는 데 사용됩니다. |
| human-agent-transfer-initiated | HumanAgentTransferInitiatedPayload | 통화가 가상 에이전트에서 상담사로 전달되면 디스패치됩니다. |
| search-knowledge-requested | SearchKnowledgeRequestedPayload | 지식 검색이 요청되었습니다. |
| search-knowledge-response-received | SearchKnowledgeResponseReceivedPayload | 지식 검색 응답이 수신되었습니다. |
| knowledge-assist-v2-answer-pasted | 문자열 | 채팅에 붙여넣을 Knowledge Assist v2 답변입니다. |
| batch-create-messages-requested | BatchCreateMessagesRequestedPayload | 대화에서 메시지를 일괄 생성합니다. 이렇게 하면 메시지에 대한 Agent Assist 제안을 생성하지 않고도 대화에 메시지가 추가됩니다. |
| batch-create-messages-response-received | BatchCreateMessagesResponseReceivedPayload | 메시지 일괄 생성 응답이 수신되었습니다. |
이벤트 페이로드
모든 맞춤 이벤트 페이로드를 확인하세요.
ActiveConversationSelectedPayload
interface ActiveConversationSelectedPayload {
conversationName: string;
}
AnalyzeContentRequestDetails
interface AnalyzeContentRequestDetails {
type?: string;
conversationId: string;
participantRole:
| "ROLE_UNSPECIFIED"
| "HUMAN_AGENT"
| "AUTOMATED_AGENT"
| "END_USER";
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversations.participants/analyzeContent#request-body
*/
request: AnalyzeContentRequest;
}
AnalyzeContentResponseReceivedPayload
interface AnalyzeContentResponseReceivedPayload {
conversationName: string;
payload: {
type?: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversations.participants#Participant
*/
participant?: Participant;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversations.participants/analyzeContent#request-body
*/
request?: AnalyzeContentRequest;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/AnalyzeContentResponse
*/
response: AnalyzeContentResponse;
};
}
ArticleSearchRequestedPayload
interface ArticleSearchRequestedPayload {
queryText: string;
}
ArticleSearchResponseReceivedPayload
interface ArticleSearchResponseReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/priv/docs/reference/rest/v2beta1/projects.locations.conversations.suggestions/searchArticles#response-body
*/
payload: SearchArticlesResponse;
}
ConversationDetailsReceivedPayload
interface ConversationDetailsReceivedPayload {
conversationName: string;
payload: {
chatInfo: {
rtSessionId: string;
accountId: string;
chatRequestedTime: number;
chatStartTime: number;
sessionStartTime: number;
chatStartUrl: string;
spectatedEngagement: boolean;
chatSkill: string;
};
chattingAgentInfo: {
agentName: string;
agentNickname: string;
agentGroupName: string;
agentId: number;
};
agentInfo: {
accountId: string;
agentName: string;
agentNickname: string;
agentId: number;
agentEmail: string;
employeeId: string;
maxChats: number;
agentGroupName: string;
};
chatTranscript: { lines: TranscriptMessage[] };
surveyQuestions: {
preChat: {
email: { value: string; displayName: string };
phone: { value: string; displayName: string };
name: { value: string; displayName: string };
customizedQuestions: [];
};
postChat: [];
agentSurvey: [];
};
visitorInfo: {
visitorId: string;
visitorName: string;
visitorSso: boolean;
device: string;
browser: string;
operatingSystem: string;
country: string;
countryCode: string;
state: string;
city: string;
isp: string;
organization: string;
IpAddress: string;
visitStartTime: string;
chattingVisitorState: string;
chatRequestedTime: string;
chatStartUrl: string;
visitorTimezone: string;
visitorTyping: boolean;
};
campaignInfo: {
campaignName: string;
campaignId: string;
campaignDescription: string;
targetAudience: [];
goalName: string;
goalId: string;
goalDescription: string;
};
engagementInfo: {
VisitorBehavior: [];
skill: string;
engagementType: string;
engagementId: string;
engagementName: string;
agentNote: string;
engagementSkill: string;
};
visitorJourney: {
pages: [];
searchEngine: { searchProvider: string; searchKeywords: string };
};
SDE: {
customerDetails: [];
personalInfo: [];
marketingSource: [];
leadGeneration: [];
transaction: [];
viewedProducts: [];
shoppingCart: [];
serviceActivity: [];
error: [];
};
authenticatedData: { customerDetails: []; personalInfo: [] };
claimsAndAuthType: { claims: {}; acr: string };
applicationInfo: { theme: "light" | "dark" };
customVariables: [];
splitSession: { customVariables: [] };
};
}
ConversationInitializationRequestedPayload
interface ConversationInitializationRequestedPayload {
conversationName: string;
}
ConversationInitializedPayload
interface ConversationInitializedPayload {
conversation: Conversation;
participants: ParticipantsMap<Participant_ | null>;
}
ConversationProfileRequestedPayload
interface ConversationProfileRequestedPayload {
conversationProfileName: string;
}
ConversationProfileReceivedPayload
type ConversationProfileReceivedPayload =
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversationProfiles#ConversationProfile
*/
ConversationProfile | null;
ConversationModelRequestedPayload
interface ConversationModelRequestedPayload {
modelName: string | null;
}
ConversationModelReceivedPayload
type ConversationModelReceivedPayload =
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversationModels#ConversationModel
*/
ConversationModel | null;
ConversationSummarizationReceivedPayload
interface ConversationSummarizationReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/SuggestConversationSummaryResponse
*/
payload: SuggestConversationSummaryResponse;
}
ConversationSummarizationRequestedEventPayload
type ConversationSummarizationRequestedEventPayload = {
conversationName?: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversations.suggestions/suggestConversationSummary#request-body
*/
request?: SuggestConversationSummaryRequest;
} | void;
DarkModeToggledPayload
interface DarkModeToggledPayload {
on: boolean;
}
DialogflowApiErrorPayload
type DialogflowApiErrorPayload = {
conversationName: string;
source:
| "TYPE_UNSPECIFIED"
| "ARTICLE_SUGGESTION"
| "FAQ"
| "SMART_REPLY"
| "DIALOGFLOW_ASSIST"
| "SMART_COMPOSE"
| "ISSUE_SMART_COMPOSE"
| "SPELL_GRAMMAR_CORRECTION"
| "CONVERSATION_SUMMARIZATION"
| "KEY_MOMENT"
| "ARTICLE_SEARCH"
| "CONVERSATION_GUIDANCE"
| "ARTICLE_SUGGESTION_VOICE"
| "CONVERSATION_SUMMARIZATION_VOICE"
| "KNOWLEDGE_SEARCH"
| "KNOWLEDGE_ASSIST"
| "ENTITY_EXTRACTION"
| "ANALYZE_CONTENT"
| "INITIALIZATION"
| "AUTHORIZATION"
| "LIST_MESSAGES"
| "BATCH_CREATE_MESSAGES"
| "GET_CONVERSATION_PROFILE"
| "GET_CONVERSATION_MODEL"
| "SEARCH_KNOWLEDGE"
| "GENERATE_STATELESS_SUMMARY";
data?: Dictionary;
error: GoogleRpcStatus | null;
} | null;
SmartReplySelection
SuggestionFeatureSelection<SmartReplyAnswer>
SmartReplyFollowUpSuggestionsReceivedPayload
interface SmartReplyFollowUpSuggestionsReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/SuggestSmartRepliesResponse#smartreplyanswer
*/
payload: SmartReplyAnswer_[];
}
PatchAnswerRecordRequestedPayload
type PatchAnswerRecordRequestedPayload = PatchPayload<{
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.answerRecords#AnswerRecord
*/
answerRecord: AnswerRecord;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.answerRecords#AnswerRecord
*/
previousAnswerRecord?: AnswerRecord | undefined;
}>;
PatchAnswerRecordReceivedPayload
interface PatchAnswerRecordReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.answerRecords#AnswerRecord
*/
payload: AnswerRecord;
}
SnackbarNotificationPayload
interface SnackbarNotificationPayload {
message: string;
actionMessage?: string | undefined;
actionHandler?: () => void;
}
AnswerRecordRequestedPayload
interface AnswerRecordRequestedPayload {
answerRecordName: string;
}
AnswerRecordReceivedPayload
interface AnswerRecordReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.answerRecords#AnswerRecord
*/
payload: AnswerRecord;
}
ConversationStartedPayload
interface ConversationStartedPayload {
conversationName: string;
}
ConversationCompletedPayload
interface ConversationCompletedPayload {
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.conversations/complete
*/
conversationName: string;
}
CompleteConversationRequestedPayload
interface CompleteConversationRequestedPayload {
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.conversations/complete
*/
conversationName: string;
}
NewMessageReceivedPayload
type NewMessageReceivedPayload =
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/Message
*/
Message;
GenesysCloudConnectorAccessTokenReceivedPayload
export declare interface GenesysCloudConnectorAccessTokenReceivedPayload {
accessToken: string;
}
ListMessagesRequestedPayload
interface ListMessagesRequestedPayload {
conversationName: string;
}
ListMessagesResponseReceivedPayload
interface ListMessagesResponseReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/ListMessagesResponse
*/
payload: ListMessagesResponse;
}
VirtualAgentAssistResponseMessageSelectedPayload
interface VirtualAgentAssistResponseMessageSelectedPayload {
responseMessage: string;
}
HumanAgentTransferInitiatedPayload
interface HumanAgentTransferInitiatedPayload {
conversationName: string;
}
SearchKnowledgeRequestedPayload
interface SearchKnowledgeRequestedPayload {
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.suggestions/searchKnowledge
*/
request: SearchKnowledgeRequest;
}
SearchKnowledgeResponseReceivedPayload
interface SearchKnowledgeResponseReceivedPayload {
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.suggestions/searchKnowledge
*/
request: SearchKnowledgeRequest;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/SearchKnowledgeResponse
*/
response: SearchKnowledgeResponse;
}
BatchCreateMessagesRequestedPayload
interface BatchCreateMessagesRequestedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.conversations.messages/batchCreate#request-body
*/
request: BatchCreateMessagesRequest;
}
BatchCreateMessagesResponseReceivedPayload
interface BatchCreateMessagesResponseReceivedPayload {
conversationName: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/BatchCreateMessagesResponse
*/
response: BatchCreateMessagesResponse;
}
StatelessConversationSummarizationRequestedPayload
interface StatelessConversationSummarizationRequestedPayload {
conversationName?: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/projects.locations.suggestions/generateStatelessSummary#request-body
*/
request?: GenerateStatelessSummaryRequest;
}
StatelessConversationSummarizationResponseReceivedPayload
interface StatelessConversationSummarizationResponseReceivedPayload {
conversationName?: string;
/**
* @link
* https://cloud.google.com/dialogflow/es/docs/reference/rest/v2beta1/GenerateStatelessSummaryResponse
*/
response?: GenerateStatelessSummaryResponse;
}