Copilot Studio 에이전트와 함께 클라이언트 API 사용

$pages.agent 개체

Power Pages Client API $pages.agent 개체와 해당 SendActivity 메서드를 사용하여 메시지를 보내거나 현재 사용자가 사용할 수 있는 Microsoft Copilot Studio 에이전트에서 이벤트를 호출합니다. 응답 및 오류 콜백은 사이트에서 에이전트의 결과를 처리하는 데 도움이 됩니다.

SendActivity 메서드

이 메서드는 SendActivity 지정된 Copilot Studio 에이전트에서 메시지를 보내거나 이벤트를 호출하고 콜백 함수를 사용하여 응답 및 오류를 처리합니다.

SendActivity 메서드 구문

$pages.agent.SendActivity(
    agentSchemaName: string,
    inputActivity: object,
    responseSubscriber: function,
    errorSubscriber: function
);

SendActivity 메서드 매개 변수

매개 변수 이름 Type Description
agentSchemaName 문자열 활동이 전송되는 봇의 스키마 이름입니다.
inputActivity Object 봇에 보낼 텍스트 또는 이벤트를 포함하는 개체입니다.
responseSubscriber 기능 에이전트가 응답을 보낼 때 실행되는 콜백 함수입니다.
errorSubscriber 기능 오류를 처리하는 콜백 함수입니다.

메서드는 SendActivity .를 반환합니다 void. 에이전트에서 응답을 받으려면 콜백 함수를 responseSubscriber 전달합니다. 이 메서드는 에이전트가 응답을 보낼 때 이 콜백을 호출합니다. 콜백 함수를 errorSubscriber 전달하여 오류를 처리합니다.

SendActivity 응답 속성

다음 형식으로 받은 에이전트의 응답 개체입니다.

Name Type Description
type 문자열 메시지와 같은 활동의 형식입니다.
text 문자열 선택 사항으로, 에이전트의 메시지입니다.
textFormat 문자열 선택 사항으로, markdown, plain 또는 XML과 같은 메시지 텍스트의 형식입니다.
Id 문자열 활동을 고유하게 식별하는 ID입니다.
From Object 활동의 보낸 사람(ID, 이름(선택 사항) 및 역할 정보 포함)을 지정합니다.
Conversation Object 활동이 속한 대화의 ID를 포함합니다.
InputHint 문자열 선택 사항으로, 봇이 사용자 입력을 수락, 예상 또는 무시할지 여부를 나타냅니다.
replyToId 문자열 회신 메시지의 ID입니다.

Examples

다음 예제에서는 응답 및 오류 콜백을 정의하고 메시지를 보내거나 이벤트를 호출하는 데 사용하는 SendActivity 방법을 보여 줍니다.

예시 Description
응답 및 오류 콜백 정의 responseSubscriber 에이전트 응답 및 errorSubscriber 오류를 처리하는 콜백 함수와 콜백 함수를 정의합니다.
에이전트에 메시지 보내기 지정된 에이전트에 Hello! 텍스트 작업을 보내고 콜백 함수를 사용하여 응답 또는 오류를 처리합니다.
클라이언트 이벤트 호출 AgentEvent 클라이언트 이벤트를 호출하고 키-값 페이로드를 에이전트에 전달합니다.

응답 및 오류 콜백 정의

responseSubscriber 에이전트 응답 및 errorSubscriber 오류를 처리하는 콜백 함수와 콜백 함수를 정의합니다.

const responseSubscriber = (response) => {
    // Replace with your response handling.
    console.log('Agent response:', response);
};

const errorSubscriber = (error) => {
    // Replace with your error handling.
    console.error('Error:', error);
};

// Replace with your agent schema name.
const agentSchemaName = 'agent SchemaName';

에이전트에 메시지 보내기

다음은 지정된 에이전트에 Hello! 텍스트 작업을 보내고 콜백 함수를 사용하여 응답 또는 오류를 처리하는 예제입니다.

Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
    const inputActivity = {
        text: 'Hello!' // Message to the agent.
    };

    $pages.agent.SendActivity(agentSchemaName, inputActivity, responseSubscriber, errorSubscriber);
});

클라이언트 이벤트 호출

이 샘플은 AgentEvent 클라이언트 이벤트를 호출하고 키-값 페이로드를 에이전트에 전달합니다.

Microsoft.PowerPages.onPagesClientApiReady(async function ($pages) {
    const inputActivity = {
        name: 'AgentEvent', // The name of the event to be invoked.
        value: { key1: 'value1', key2: 'value2' } // Open-ended value used to carry additional data or payloads necessary for specific agent operations or responses.
    };

    $pages.agent.SendActivity(agentSchemaName, inputActivity, responseSubscriber, errorSubscriber);
});

오류 메시지

다음은 사용자가 발생할 수 있는 오류 메시지와 잠재적인 원인입니다.

오류 유형 원인 사용자에 대한 오류 메시지
에이전트 스키마 유효성 검사 잘못된 봇 스키마 이름이 제공되었거나 사용자에게 에이전트에 대한 액세스 권한이 없습니다. Invalid bot schema name or access denied. Check the bot schema name and try again.
토큰 가져오기 오류 직접 회선 토큰을 가져오는 동안 오류가 발생했습니다. Something went wrong while fetching the token. Please try again.
게시 활동 오류(다시 시도) 활동을 게시하는 동안 오류가 발생하여 다시 시도해야 합니다. Something went wrong while posting the activity: retry.
게시 활동 오류(시간 제한) 보내는 메시지 또는 postActivity를 기다리는 동안 시간이 초과되었습니다. Timed out while posting activity: Please retry.
게시 활동 오류(잘못된 활동) 입력 활동에는 이벤트를 호출할 텍스트나 이름이 없습니다. Invalid activity: At least one of text, name, or attachments must be provided.
게시 활동 오류(사용자 ID를 찾을 수 없거나 토큰을 찾을 수 없음) 세션 스토리지에서 토큰을 찾을 수 없거나 토큰에서 사용자 ID를 찾을 수 없습니다. Error retrieving user ID: {error message}
게시 활동 오류(일반) 활동을 게시하는 동안 지정되지 않은 오류가 발생했습니다. Something went wrong while posting the activity: Please try again.
직접 회선 연결 오류 봇과의 직접 회선 연결을 만드는 동안 오류가 발생했습니다. Something went wrong while creating direct line connection: Please try again.
일반 오류 위의 범주에 속하지 않는 예기치 않은 오류 An unexpected error occurred while sending activity: Please try again.