관련 추가 문서는 에서 찾을 수 있습니다.
Start Conversation
POST
https://backend.alli.ai/webapi/start_conversation
스킬을 사용해 대화를 시작합니다. 현재 메시지 보내기 노드, Q&A에서 답변 노드, 문서에서 답변 노드가 호환됩니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
해당 placement 정보를 가진 스킬에서 대화를 시작합니다.
Copy {
"result": {
"conversation": {
"id": "CONVERSATION_ID",
"project": {
"nluLanguage": "LANGUAGE"
},
"chats": {
"edges": [
{
"node": {
"id": "CHAT_ID",
"message": "MESSAGE",
"createdAt": NUMBER,
"chatOptionInfos": [
{
"shortenOption": "BUTTON_TEXT",
"longOption": "BUTTON_TEXT",
"style": {
"bgColor": "COLOR_HEX",
"bold": BOOLEAN,
"fontColor": "COLOR_HEX",
"italic": BOOLEAN,
"lineColor": "COLOR_HEX",
"underline": BOOLEAN
},
"meta": ""
},
{
"shortenOption": "BUTTON_TEXT",
"longOption": "BUTTON_TEXT",
"style": {
"bgColor": "COLOR_HEX",
"bold": BOOLEAN,
"fontColor": "COLOR_HEX",
"italic": BOOLEAN,
"lineColor": "COLOR_HEX",
"underline": BOOLEAN
},
"meta": ""
}
],
"isDeleted": BOOLEAN
}
}
]
}
}
},
"errors": null
}
Request Example
Copy curl -L -X POST 'https://backend.alli.ai/webapi/start_conversation' \
-H 'api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-raw '{"placement": "skill_A"}'
Response Example
Copy {
"result": {
"conversation": {
"id": "Q29udmVyc2F0aW9uOjYwMDZiNTM3MmRhPHAwMjZlOTFjMjllZQ==",
"project": {
"nluLanguage": "EN"
},
"chats": {
"edges": [
{
"node": {
"id": "Q2hhdDo2MDQ2YjUzNzJkYWQwMDI2ZTkxYzI5ZDE=",
"message": "{\"blocks\": [{\"key\": \"egkjj\", \"text\": \"옵션을 선택해 주세\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}], \"entityMap\": {}}",
"createdAt": 1615246647609.666,
"chatOptionInfos": [
{
"shortenOption": "FAQ",
"longOption": "FAQ",
"style": {
"bgColor": "#FFFFFF",
"bold": false,
"fontColor": "#2074ff",
"italic": false,
"lineColor": "#2074ff",
"underline": false
},
"meta": ""
},
{
"shortenOption": "Document",
"longOption": "Document",
"style": {
"bgColor": "#FFFFFF",
"bold": false,
"fontColor": "#2074ff",
"italic": false,
"lineColor": "#2074ff",
"underline": false
},
"meta": ""
}
],
"isDeleted": false
}
}
]
}
}
},
"errors": null
}
Send Chat
POST
https://backend.alli.ai/webapi/send_chat
이 API 를 사용해 유저로서 현재 대화에 메시지를 전송합니다. 현재 메시지 보내기 노드, Q&A에서 답변 노드, 문서에서 답변 노드가 호환됩니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
전송할 메시지입니다. null 혹은 빈 문자열은 사용할 수 없습니다.
결과는 아래와 같은 JSON 형식으로 리턴됩니다.
responses
: 메시지와 관련 요소들로 이루어진 JSON 어레이입니다. 첫번째 메시지는 Request 에서 전송한 메시지입니다.
message
: Alli 가 출력하는 텍스트입니다. 스킬에서 전송된 메시지는 Draftjs 형식입니다.
createdAt
: 해당 메시지가 전송된 타임스탬프입니다.
chatOptionInfos
: 유저가 보게 되는 선택 가능한 버튼 옵션들로 이루어진 JSON 어레이입니다.
shortenOption
, longOption
: 버튼 옵션에 보여지는 텍스트입니다. 옵션 길이 제한이 적용되는 경우 shortenOption 텍스트가 보여집니다.
style
: 버튼에 적용된 스타일 정보입니다.
knowledgeBasePreview
: 해당 메시지가 문서 검색 결과인 경우 여기에 프리뷰 url 정보가 표시됩니다.
chatMrcInfos
: 해당 메시지가 문서 검색 결과이고 캐로셀 UI 를 사용중인 경우 여기에 knowledgeBasePreview
패러미터들이 표시됩니다.
Copy {
"result": {
"responses": [
{
"id": "CHAT_ID",
"message": "MESSAGE",
"createdAt": NUMBER,
"isDeleted": BOOLEAN
},
{
"id": "CHAT_ID",
"message": "MESSAGE",
"createdAt": NUMBER,
"chatOptionInfos": [
{
"shortenOption": "BUTTON_TEXT",
"longOption": "BUTTON_TEXT",
"style": {
"bgColor": "COLOR_HEX",
"bold": BOOLEAN,
"fontColor": "COLOR_HEX",
"italic": BOOLEAN,
"lineColor": "COLOR_HEX",
"underline": BOOLEAN
},
"meta": ""
}
],
"isDeleted": BOOLEAN
}
],
"state": "WAIT_USER_ANSWER_2"
},
"errors": null
}
Request Example
Copy curl -L -X POST 'https://backend.alli.ai/webapi/send_chat' \
-H 'api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-raw '{"conversationId": "Q29udmVyc2F0aW9uOjYwNDZiNWNkZTZkZGQ5MGE3ZWJlMGYxZQ==", "message": "도움이 필요합니다."}'
Response Example
Copy {
"result": {
"responses": [
{
"id": "Q2hhdDo2MDQ2YjVlY2U2ZGRkOTBhN2ViZTBmNTU=",
"message": "도움이 필요합니다.",
"createdAt": 1615246828077.0,
"isDeleted": false
},
{
"id": "Q2hhdDo2MDQ2YjVlY2U2ZGRkOTBhN2ViZTBmNTc=",
"message": "{\"blocks\": [{\"key\": \"6so0p\", \"text\": \"질문을 입력해 주세\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}], \"entityMap\": {}}",
"createdAt": 1615246828110.0,
"chatOptionInfos": [],
"isDeleted": false,
"knowledgeBasePreview": {
"previewUrl": "https://www.alli.ai/projects/UHJvamVjdDo1ZDUyYjY3N2NkMGI4MjU5Y2Q1MmY5N2E=/knowledgeBases/S25vd2xlZGdlQmFzZTo2MjA5MWY4M2VhM2U5NjM2NTJmZjc2YzU=/preview?page=9&highlight_indexes=null&highlights=%7B%22indexes%22%3Anull%2C%22pageIndexes%22%3A%5B%7B%22page%22%3A9%2C%22indexes%22%3A%5B7%2C8%2C9%2C10%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C23%2C24%2C25%2C26%2C27%2C28%2C29%2C30%2C32%2C33%2C35%2C36%2C7%2C8%2C9%2C10%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C23%2C24%2C25%2C26%2C27%2C28%2C29%2C30%2C32%2C33%2C35%2C36%5D%7D%5D%7D"
}
}
],
"state": "WAIT_USER_ANSWER_2"
},
"errors": null
}
Summary Analytics
GET
https://backend.alli.ai/webapi/summary_analytics
프로젝트와 관련된 다양한 통계의 요약을 제공합니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
조회 기간의 시작일을 YYYY-MM-DD 형식으로 입력합니다.
조회 기간의 종료일을 YYYY-MM-DD 형식으로 입력합니다.
Copy {
"result": {
"conversations": CONVERSATIONS,
"conversationsUpDown": CONVERSTAIONS_UPDOWN,
"participants": PARTICIPANTS,
"participantsUpDown": PARTICIPANTS_UPDOWN,
"uniqueParticipants": UNIQUE_PARTICIPANTS,
"uniqueParticipantsUpDown": UNIQUE_PARTICIPANTS_UPDOWN,
"queries": QUERIES,
"queriesUpDown": QUERIES_UPDOWN,
"queriedUsers": QUERIED_USERS,
"queriedUsersUpDown": QUERIED_USERS_UPDOWN,
"uniqueQueriedUsers": UNIQUE_QUERIED_USERS,
"uniqueQueriedUsersUpDown": UNIQUE_QUERIED_USERS_UPDOWN,
"instantResolution": INSTANT_RESOLUTION,
"instantResolutionUpDown": INSTANT_RESOLUTION_UPDOWN,
"aiResponseRate": AI_RESPONSE_RATE,
"aiResponseRateUpDown": AI_RESPONSE_RATE_UPDOWN,
"uniqueVisitors": UNIQUE_VISITORS,
"uniqueVisitorsUpDown": UNIQUE_VISITORS_UPDOWN,
"totalFaqs": TOTAL_FAQS,
"totalFaqsUpDown": TOTAL_FAQS_UPDOWN,
"totalDocuments": TOTAL_DOCUMENTS,
"totalDocumentsUpDown": TOTAL_DOCUMENTS_UPDOWN,
"feedbacksUpDown": FEEDBACKS_UPDOWN
},
"errors": null
}
Request Example
Copy curl -X GET -d '{ "startDate": "2020-11-14",
"endDate": "2020-12-14"}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend.alli.ai/webapi/summary_analytics
Response Example
Copy {
"result": {
"conversations": 45,
"conversationsUpDown": -45.78,
"participants": 44,
"participantsUpDown": -32.31,
"uniqueParticipants": 43,
"uniqueParticipantsUpDown": -31.75,
"queries": 39,
"queriesUpDown": -56.18,
"queriedUsers": 35,
"queriedUsersUpDown": -46.97,
"uniqueQueriedUsers": 35,
"uniqueQueriedUsersUpDown": -44.44,
"instantResolution": 1,
"instantResolutionUpDown": 0.0,
"aiResponseRate": 100.0,
"aiResponseRateUpDown": 0.0,
"uniqueVisitors": 2077,
"uniqueVisitorsUpDown": -1.05,
"totalFaqs": 0,
"totalFaqsUpDown": 0.0,
"totalDocuments": 0,
"totalDocumentsUpDown": 0.0,
"feedbacksUpDown": 0.0
},
"errors": null
}
Daily Conversation Count
GET
https://backend.alli.ai/webapi/conversation_daily_count
조회 기간 내 일별 총 대화 수입니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
조회 기간의 시작일을 YYYY-MM-DD 형식으로 입력합니다.
조회 기간의 종료일을 YYYY-MM-DD 형식으로 입력합니다.
Copy {
"result": {
"dailyTotalCount": [
{
"date": "DATE",
"activeCount": ACTIVE_COUNT
}
],
"state": "NORMAL",
"campaignCount": 1
},
"errors": null
}
Request Example
Copy curl -X GET -d '{ "startDate": "2020-11-19",
"endDate": "2020-11-24"}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend.alli.ai/webapi/conversation_daily_count
Response Example
Copy {
"result": {
"dailyTotalCount": [
{
"date": "2020-11-19",
"activeCount": 30
},
{
"date": "2020-11-20",
"activeCount": 49
},
{
"date": "2020-11-21",
"activeCount": 32
},
{
"date": "2020-11-22",
"activeCount": 2
},
{
"date": "2020-11-23",
"activeCount": 31
},
{
"date": "2020-11-24",
"activeCount": 16
}
],
"state": "NORMAL",
"campaignCount": 1
},
"errors": null
}
Daily FAQ Count
GET
https://backend.alli.ai/webapi/faq_daily_count
조회 기간 내 FAQ 에서 검색된 Q&A 수의 일별 트렌드입니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
조회 기간의 시작일을 YYYY-MM-DD 형식으로 입력합니다.
조회 기간의 종료일을 YYYY-MM-DD 형식으로 입력합니다.
Copy {
"result": {
"dailyTotalCount": [
{
"date": "DATE",
"activeCount": ACTIVE_COUNT
}
],
"state": "NORMAL",
"campaignCount": 1
},
"errors": null
}
Request Example
Copy curl -X GET -d '{ "startDate": "2020-11-19",
"endDate": "2020-11-24"}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend.alli.ai/webapi/faq_daily_count
Response Example
Copy {
"result": {
"dailyTotalCount": [
{
"date": "2020-11-19",
"count": 24
},
{
"date": "2020-11-20",
"count": 70
},
{
"date": "2020-11-21",
"count": 23
},
{
"date": "2020-11-22",
"count": 45
},
{
"date": "2020-11-23",
"count": 34
},
{
"date": "2020-11-24",
"count": 30
}
]
},
"errors": null
}
Daily FAQ Analytics
GET
https://backend.alli.ai/webapi/faq_daily_analytics
가장 자주 질문된 Q&A 에 대한 통계입니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
자주 질문된 상위 N 개의 Q&A 에 대해 통계를 출력합니다. N의 최대값은 20이며, 1, 5, 10, 20 중 하나의 값을 사용해야 합니다.
조회 기간의 시작일을 YYYY-MM-DD 형식으로 입력합니다.
조회 기간의 종료일을 YYYY-MM-DD 형식으로 입력합니다.
Copy {
"result": {
"faqDailyAnalytics": [
{
"totalCount": NUMBER,
"totalShownCount": NUMBER,
"selectedRatio": NUMBER,
"faq": {
"id": "ID_1",
"question": "QUESTION_1"
},
"stats": [
{
"date": "DATE",
"selectedCount": NUMBER
}
]
}
]
},
"errors": null
}
Request Example
Copy curl -X GET -d '{ "startDate": "2020-12-02",
"endDate": "2020-12-05", "topN": 5}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend.alli.ai/webapi/faq_daily_analytics
Response Example
Copy {
"result": {
"faqDailyAnalytics": [
{
"totalCount": 1,
"totalShownCount": 1,
"selectedRatio": 100.0,
"faq": {
"id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOQ==",
"question": "What is Alli?"
},
"stats": [
{
"date": "2020-12-02",
"selectedCount": 0
},
{
"date": "2020-12-03",
"selectedCount": 0
},
{
"date": "2020-12-04",
"selectedCount": 1
},
{
"date": "2020-12-05",
"selectedCount": 0
}
]
}
]
},
"errors": null
}
Executing a Skill
POST
https://backend.alli.ai/webapi/skill
스킬을 실행하고 최종 답변을 json 형식으로 반환하는 API 입니다. variables 패러미터 관련 자세한 내용은 아래 'Learn More about Variables' 항목의 링크를 참고하세요. 스킬이 NER (Named Entity Recognition, 고유 표현 추출) 을 위해 디자인된 경우 본 API 를 NER 을 위 사용할 수 있습니다.
할당된 API 키입니다. 대시보드의 설정 메뉴 > 일반 탭에서 찾을 수 있습니다.
Request Body
해당 스킬의 ID 입니다. Alli 대시보드에서 스킬을 선택하면 스킬 URL이 https://app.alli.ai/projects/PROJECT_ID/campaigns/SKILL_ID. 형식으로 나타납니다. SKILL_ID 위치의 실제 ID 를 여기 입력하면 됩니다.
스킬에서 사용할 변수들의 변수값을 설정하기 위한 JSON 객체입니다.
Copy {"result": "TEXT RESULT FROM SKILL", "errors": []}
Learn More about Variables
Request Example
Copy curl -d '{"id": "YOUR SKILL ID",
"text": "issue date",
"variables": {"YOUR_VARIABLE": "YOUR_VARIABLE_VALUE"}}' \
-H 'API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' https://backend.alli.ai/webapi/skill
Response Example
Copy {"result": "TEXT RESULT FROM SKILL", "errors": []}