가상 에이전트 API 는 대화의 응답을 관리하는 다양한 컨트롤을 제공합니다.
에서 가상 에이전트 API 사용 가능한 컨트롤은 다음과 같습니다.
출력 텍스트
{
"uiType": "OutputText",
"group": "DefaultText",
"value": "**bold**\n*italic*\n***bold italic***\n[Google](https://empcygiraffe6.service-now.com/va_link.do?token=77ee77ef77eSZGFlMTc3OWU5NzY2MTExMDUyNjFiMzQ3MTE1M2FmYjTvt6zvt5Qx77es77etWE1nS0ZLOElhU1FQYzhIajh2dmNmZz09WHdPTDYzV3ZpUWF1MGJwRlB0ZktUY29wVWt1UGVueUNIS1FkRHRyUW9idHlmVFZlRWJOODZyRjZYN0VQamxnWUV5WkhZSDRJaWFGWmJRZU1CaXZLYWhudnkwbDdvNFZsMlMzUUw4Q3VRTUJWMHhvTWlRLXZOQnh5M0hveVBuellNVmJCbGlka0RqNTAzVFVUQml0MTZzSnlUTVJoakdZektldXdoYXlM77eu77ev&target_url=https%3A%2F%2Fwww.google.co.in)\n\n- ***ul1***\n- ***ul2***\n\n\n1. ol1\n2. ol2\n\n",
"maskType": "NONE | SECURE"
}
| 필드 |
설명 |
| 값 |
출력 텍스트 값을 포함합니다. |
| 마스크유형 |
"NONE"은 일반 텍스트를 나타내고 "SECURE"는 보안 출력 텍스트를 나타냅니다. |
출력 HTML
{
"uiType": "OutputHtml",
"group": "DefaultOutputHtml",
"style": "inline",
"height": 0,
"width": 0,
"value": "<html> <body> <table> <tr> <th>Company</th> <th>Contact</th> <th>Country</th> </tr> <tr> <td><a href=\"https://www.google.co.in\">Alfreds Futterkiste</a></td> <td>Maria Anders</td> <td>Germany</td> </tr> <tr> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td><a href=\"https://www.google.co.in\">Ernest Handel</a></td> <td>Roland Mendel</td> <td>Austria</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Laughing Bacchus Winecellars</td> <td>Yoshi Tannamuri</td> <td><a href=\"https://www.google.co.in\">Canada</a></td> </tr> <tr> <td>Magazzini Alimentari Riuniti</td> <td>Giovanni Rovelli</td> <td>Italy</td> </tr> </table> </body> </html> ",
"imageUrl": "https://empcygiraffe6.service-now.com//api/now/v1/cs/media/zKFqUx0NJyVaFRJqzeRhFgeMsMo9211mCvrMgKzrRpTWqFJDrXLOadoYGC5CQnwr",
"imageHeight": 217,
"imageWidth": 501,
"links": [
{
"link": "https://www.google.co.in",
"label": "Alfreds Futterkiste"
},
{
"link": "https://www.google.co.in",
"label": "Ernest Handel"
},
{
"link": "https://www.google.co.in",
"label": "Canada"
}
]
}
| 필드 |
설명 |
| 값 |
html 값을 포함합니다. |
| 이미지 URL |
sys_cs_provider에서 "HTML을 이미지로 변환 필요"가 활성화된 경우 HTML 이미지를 포함합니다. |
| 이미지 높이 |
sys_cs_provider에서 "HTML에서 이미지 변환 필요"가 활성화된 경우 이미지 높이를 포함합니다. |
| 이미지 너비 |
sys_cs_provider에서 "HTML에서 이미지 변환 필요"가 활성화된 경우 이미지 너비를 포함합니다. |
| 링크 |
sys_cs_provider에서 "HTML에서 이미지로 변환 필요"가 활성화된 경우 지정된 HTML의 링크를 포함합니다. |
출력 이미지
{
"uiType": "OutputImage",
"group": "DefaultOutputImage",
"value": "https://adaptivecards.io/content/cats/1.png",
"altText": "Image alt text"
}
| 필드 |
설명 |
| 값 |
이미지 URL을 포함합니다. |
| 대체 텍스트 |
이미지의 대체 텍스트를 포함합니다(필수 아님). |
출력 링크
{
"uiType": "OutputLink",
"group": "DefaultOutputLink",
"label": "ServiceNow",
"header": "The world works with ServiceNow",
"type": "link",
"value": {
"action": "https://empcygiraffe6.service-now.com/va_link.do?token=<token>&target_url=https%3A%2F%2Fwww.servicenow.com",
"target": "_blank"
}
}
| 필드 |
설명 |
| 헤더 |
링크 헤더 |
| 레이블 |
링크 레이블 |
| value->action |
링크 URL |
멀티 링크
{
"uiType": "GroupedPartsOutputControl",
"group": "DefaultGroupedPartsOutputControl",
"groupPartType": "Link",
"header": "Multilink Header",
"values": [
{
"action": "https://empcygiraffe6.service-now.com/va_link.do?token=<token>&target_url=https%3A%2F%2Fwww.link1.com",
"description": "a short desc",
"label": "link 1 label",
"context": "KB",
"target": "_blank"
},
{
"action": "https://empcygiraffe6.service-now.com/va_link.do?token=<token>&target_url=https%3A%2F%2Fwww.link2.com",
"description": "a short desc",
"label": "link 2 label",
"context": "ITSM",
"target": "_blank"
}
]
}
| 필드 |
설명 |
| 헤더 |
MultiLink 컨트롤 헤더 |
| 값 |
링크 배열 |
링크 배열의 링크 구조:
| 필드 |
설명 |
| 레이블 |
링크 레이블 |
| 작업 |
링크 URL |
| 설명 |
링크 설명 |
| 컨텍스트 |
컨텍스트 또는 분류 |
출력 카드
{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "<card-template>",
"data": "<card-data-json>",
}
| 필드 |
설명 |
| 템플릿 이름 |
카드 유형 또는 카드 이름 |
| 데이터 |
카드 데이터를 나타내는 JSON입니다.주: 데이터 필드는 문자열 형식이 될 것입니다. 데이터를 사용하려면 구문 분석해야 합니다. |
텍스트가 있는 큰 이미지{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Large image with text",
"data": "{\"image\":\"https://adaptivecards.io/content/cats/1.png\",\"description\":\"Large image description\", \"dataNowSmartLink\":\"W9F4Ld8z\",\"title\":\"Large image\",\"imageAlt\":\"large image alt text\",\"url\":\"\",\"target\":\"_blank\"}",
"smartLinksMetadata": {
"W9F4Ld8z": {
"type": "standard",
"source": "",
"target": "_blank"
}
}
}
텍스트가 있는 작은 이미지{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Small image with text",
"data": "{\"image\":\"https://adaptivecards.io/content/cats/1.png\",\"description\":\"Small image with text description\",\"dataNowSmartLink\":\"i6CL61tN\",\"title\":\"Small image with text\",\"imageAlt\":\"small image alt text\",\"url\":\"\",\"target\":\"_blank\"}",
"smartLinksMetadata": {
"i6CL61tN": {
"type": "standard",
"source": "",
"target": "_blank"
}
}
}
Youtube{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Youtube Video Card",
"data": "{\"link\":\"https://empcygiraffe6.service-now.com/va_link.do?token=<token>&target_url=servicenow.com\",\"description\":\"The world works with ServiceNow\",\"id\":\"IWsGk-Kh5ko\",\"title\":\"ServiceNow\",\"url\":\"\",\"target\":\"_blank\"}"
}
기록{
"uiType": "OutputCard",
"group": "DefaultOutputCard",
"templateName": "Card",
"data": "{\"sys_id\":\"0c5f3cece1b12010f877971dea0b1449\",\"subtitle\":\"INC0008001\",\"dataNowSmartLink\":\"VLzQTN88\",\"title\":\"Incident\",\"fields\":[{\"fieldLabel\":\"Number\",\"fieldValue\":\"INC0008001\"},{\"fieldLabel\":\"Short description\",\"fieldValue\":\"ATF:TEST2\"},{\"fieldLabel\":\"Caller\",\"fieldValue\":\"survey user\"}],\"table_name\":\"incident\",\"url\":\"https://empcygiraffe6.service-now.com/va_link.do?token=<token>target_url=https%3A%2F%2Fempcygiraffe6.service-now.com%2Fsp%3Fsys_id%3D0c5f3cece1b12010f877971dea0b1449%26id%3Dticket%26table%3Dincident\",\"target\":\"_blank\"}",
"smartLinksMetadata": {
"VLzQTN88": {
"type": "standard",
"source": "https://empcygiraffe6.service-now.com/sp?sys_id=0c5f3cece1b12010f877971dea0b1449&id=ticket&table=incident",
"target": "_blank"
}
}
}
멀티파트 출력
{
"uiType": "MultiPartOutput",
"group": "DefaultMultiPartOutput",
"navigationBtnLabel": "Click for more",
"content": {
"uiType": "OutputText",
"value": "multipart text output",
"maskType": "NONE"
}
}
| 필드 |
설명 |
| navigationBtnLabel |
탐색 버튼 레이블 |
| 컨텐츠 |
멀티파트로 정의된 컨트롤을 나타냅니다.주:
- 콘텐츠는 OutputText, OutputImage, OutputHtml, OutputLink 또는 OutputCard일 수 있습니다.
- 다음 부분으로 이동하려면 응답으로 "click_for_more"을(를) 보내야 합니다.
|
입력 텍스트
{
"uiType": "InputText",
"group": "DefaultText",
"required": true,
"nluTextEnabled": false,
"entityType": "Text",
"label": "enter something",
"maskType": "NONE"
}
| 필드 |
설명 |
| 레이블 |
입력 텍스트 레이블 |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| 마스크유형 |
NONE 또는 SECURE.
- NONE은 정상 입력을 나타냅니다.
- SECURE는 보안 입력을 나타냅니다.
|
| entityType |
입력은 텍스트, 이메일 또는 IP 주소입니다. |
| nluTextEnabled |
이 노드에서 NLU가 활성화되어 있는지 여부입니다. |
부울
{
"uiType": "Boolean",
"group": "DefaultPicker",
"required": true,
"nluTextEnabled": false,
"entityType": "Boolean",
"label": "select yes/no",
"options": [
{
"label": "Yes",
"value": "yes",
"renderStyle": "data"
},
{
"label": "No",
"value": "no",
"renderStyle": "data"
}
]
}
| 필드 |
설명 |
| 레이블 |
부울 제어 프롬프트 |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| 마스크유형 |
NONE 또는 SECURE.
- NONE은 정상 입력을 나타냅니다.
- SECURE는 보안 입력을 나타냅니다.
|
| entityType |
부울 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
| 옵션 |
부울 옵션 |
옵션 배열의 옵션 구조:
| 필드 |
설명 |
| 레이블 |
옵션 레이블 |
| 값 |
옵션 값 |
| 렌더링스타일 |
데이터 또는 버튼 |
선택기
{
"uiType": "Picker",
"group": "DefaultPicker",
"required": true,
"nluTextEnabled": false,
"label": "Select an option",
"itemType": "List",
"style": "list",
"multiSelect": false,
"options": [
{
"label": "option 1",
"value": "option 1",
"renderStyle": "data",
"enabled": false
},
{
"label": "option 2",
"value": "option 2",
"renderStyle": "data",
"enabled": false
},
{
"label": "option 3",
"value": "option 3",
"renderStyle": "data",
"enabled": false
}
],
"scriptedData": {
"cardData": "{\"title\":\"Choice - Large image with text\",\"description\":\"Choice - Large image with text description\",\"image\":\"https://adaptivecards.io/content/cats/1.png\",\"imageAlt\":\"alt text\"}",
"cardName": "Large image with text",
"cardTemplate": "",
"renderStyle": "card"
}
}
| 필드 |
설명 |
| 레이블 |
선택기 제어 프롬프트 |
| 스타일 |
목록 또는 캐러셀. 캐러셀은 캐러셀 제어를 나타냅니다. |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| 마스크유형 |
NONE 또는 SECURE.
- NONE은 정상 입력을 나타냅니다.
- SECURE는 보안 입력을 나타냅니다.
|
| entityType |
부울 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
| 옵션 |
부울 옵션 |
| 스크립팅된 데이터 |
선택기와 함께 표시할 카드를 나타냅니다. |
옵션 배열의 옵션 구조:
| 필드 |
설명 |
| 레이블 |
옵션 레이블 |
| 값 |
옵션 값 |
| 렌더링스타일 |
데이터 또는 버튼 |
scriptedData 구조체:
| 필드 |
설명 |
| cardName |
템플릿 이름 |
| cardData |
카드 데이터를 JSON 문자열로 표시합니다. |
캐러셀
{
"uiType": "Picker",
"group": "DefaultPicker",
"required": true,
"nluTextEnabled": false,
"label": "select an image",
"itemType": "Picture",
"style": "carousel",
"multiSelect": false,
"options": [
{
"label": "name1",
"description": "a description of value_1 item",
"attachment": "https://adaptivecards.io/content/cats/1.png",
"value": "value_1",
"renderStyle": "data",
"enabled": false
},
{
"label": "name2",
"description": "a description of value_2 item",
"attachment": "https://adaptivecards.io/content/cats/1.png",
"value": "value_2",
"renderStyle": "data",
"enabled": false
},
{
"label": "name3",
"description": "a description of value_3 item",
"attachment": "https://adaptivecards.io/content/cats/1.png",
"value": "value_3",
"renderStyle": "data",
"enabled": false
}
],
"scriptedData": null
}
| 필드 |
설명 |
| 레이블 |
선택기 제어 프롬프트 |
| 스타일 |
목록 또는 캐러셀. 캐러셀은 캐러셀 제어를 나타냅니다. |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| 마스크유형 |
NONE 또는 SECURE.
- NONE은 정상 입력을 나타냅니다.
- SECURE는 보안 입력을 나타냅니다.
|
| entityType |
부울 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
| 옵션 |
부울 옵션 |
옵션 배열의 옵션 구조:
| 필드 |
설명 |
| 레이블 |
옵션 레이블 |
| 값 |
옵션 값 |
| 설명 |
옵션에 대한 설명 |
| 첨부 파일 |
옵션에 대한 그림 또는 이미지 |
날짜
{
"uiType": "Date",
"group": "DefaultDate",
"required": true,
"nluTextEnabled": false,
"entityType": "Date",
"label": "test date"
}
| 필드 |
설명 |
| 레이블 |
날짜 통제 프롬프트 |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| entityType |
날짜 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
시간
{
"uiType": "Time",
"group": "DefaultDate",
"required": true,
"nluTextEnabled": false,
"entityType": "Time",
"label": "Select time"
}
| 필드 |
설명 |
| 레이블 |
시간 통제 프롬프트 |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| entityType |
시간 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
날짜/시간
{
"uiType": "DateTime",
"group": "DefaultDate",
"required": true,
"nluTextEnabled": false,
"entityType": "Time",
"label": "Select time"
}
| 필드 |
설명 |
| 레이블 |
날짜 및 시간 제어 프롬프트 |
| 필수 |
통제를 건너뛸 수 있는지 여부를 나타내는 true 또는 false입니다. |
| entityType |
시간 |
| nluTextEnabled |
이 노드에서 NLU를 사용할 수 있는지 여부입니다. |
대화 시작
{
"uiType": "ActionMsg",
"actionType": "StartConversation",
"conversationId": "e0494b2187332550326d0d05dabb350d"
}
| 필드 |
설명 |
| uiType |
작업 메시지 |
| actionType |
대화 시작 |
에서 대화가 시작 가상 에이전트 API되었음을 나타냅니다.