Q&Aとドキュメントのアップロード
まず、Alliに利用登録 をしてサインイン してください。登録時、プロジェクトタイプから必ず「Cognitive Search」を選択してください。 Q&Aメニュー では質問/回答ペアを登録することができます。ワード、PDF、パワーポイント、エクセルなどドキュメントファイルは、ドキュメントメニュー で登録することができます。
ドキュメントデータベースをMicrosoft OneDriveなどのデータソースと連携することもできます。ソース設定メニュー で設定してください。
API経由でのドキュメントファイルアップロードについては、本ページのDocument Uploadセクション をご参照ください。
APIキーの取得
Requestヘッダーの API-KEY
には、割り当てられたAPIキーを入力してください。 APIキーはプロジェクト設定メニュー からご確認いただけます。
エンドポイントに関して
このAPIリファレンスではエンドポイントを下記として記載しております。
https://backend-ja.alli.ai
ただし、ご利用されているAlliの環境によっては下記の場合もございます。https://backend.alli.ai
どちらのエンドポイントかはプロジェクト設定メニュー からご確認ください。
エージェントまたはユーザー情報をAPI利用時に用いる
特定のエンドポイントでは、リクエストヘッダーにエージェントやユーザーの情報を追加して、APIを利用することで、誰がAPIを利用したかを特定することができます。
エージェント情報
エージェント情報の場合は、リクエストヘッダーのAGENT-EMAIL
を用います。
エージェントのメール情報は、ダッシュボードの[設定] > [エージェント メニュー] で確認できます。以下に例を示します。
Copy -H 'AGENT-EMAIL: agent_1@email.com'
ユーザー情報
ユーザー情報の場合はリクエスト ヘッダーにOWN-USER-ID
を用います。ユーザー ID は新しいものでも既存のものでもかまいません。新しいユーザー ID が提供された場合、Alli はその ID で新しいユーザーを作成します。同じOWN-USER-ID
のヘッダーを持つAPI 呼び出しについては、同じユーザーからの呼び出しと見なされます。
同時にユーザーのメール アドレスを更新する場合は、USER-EMAILの
リクエスト ヘッダーでメール アドレスを指定できます。以下に例を示します。
Copy -H 'OWN-USER-ID: 5f1234567a409876c082487z' \
-H 'USER-EMAIL:user_1@email.com'
OWN-USER-ID
には非 ASCII 文字を使用できません。 ユーザー IDに非ASCII文字が含まれている場合は、IDをbase64 にエンコードして base64:CONVERTED_ID
として追加することで非ASCII文字をOWN-USER-ID
に入力することができます。
保存されたユーザー ID とメール情報は、Alli ダッシュボードの [顧客] メニューで ことができます。
エラーメッセージ
予想されるresponseがない場合は、エラーメッセージを確認してください。例えば、間違ったHTTPメソッドを使用した場合、以下のような形式のエラーメッセージが戻ります。
Copy {“error”: “Method Not Allowed POST: /webapi/faq_feedbacks”}
Search from Q&A
POST
https://backend-ja.alli.ai/webapi/faq
Search from Q&A APIは、Q&Aのデータベースから質問と最も関連のあるQ&Aペアを検索して提示します。
Request Body
200
APIは、Q&Aデータベースから最も関連性の高い質問と回答を見つけます。
confidence: AIモデルが算出したconfidence値を提示します。0と1の間の数字です。
effective confidence: クエリの結果にフィードバックが送られるとAIモデルのトレーニングに反映されますが、ユーザーとエージェントのフィードバック結果を反映したconfidence値がeffective confidenceです。0と1の間の数字です。
question: 提示された質問/回答のペアにおいて質問の部分です。
answer: 提示された質問/回答のペアにおいて回答の部分です。
id: フィードバックを入力したり、取り消すQ&Aの検索結果を特定するために使われます。
hashtags: Q&Aに登録されているハッシュタグです。
lastUpdatedDate: Q&Aが最後に更新された日時です。
agentFeedback: Q&Aに対するエージェントからのフィードバック(ダッシュボードとREST APIを介して)です。
userFeedback : Q&Aに関するユーザーからの(ユーザーとの会話からの)フィードバックです。
count: 提案されたQ&Aの数です。
hashId :このハッシュIDは、Select Answer APIを利用するときに使用されます。検索結果の表示件数は、プロジェクトの設定に従います。Q&A>設定メニューから変更することができます。
Copy {"result":
[
{
"confidence": CONFIDENCE_VALUE,
"effectiveConfidence": EFFECTIVE_CONFIDENCE_VALUE,
"question": "QUESTION_1",
"answer": "ANSWER_1",
"id": "ID_1",
"hashtags": [],
"lastUpdatedDate": "DATE",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
}, ...
],
"count": 3,
"hashId": "HASH_ID"
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -d '{
"query": "How much is it?",
"maxResults": 3,
"hashtags": ["wiki", "knowledge"],
"hashtagsOperator": "OR",
"format": "text"}' \
-H 'API-KEY: YOUR API KEY' \
-H 'Content-Type: application/json' \
https://backend-ja.alli.ai/webapi/faq
Response Example
Copy {"result":
[
{
"confidence": 0.8371959004827834,
"effectiveConfidence": 0.9698303406362148,
"question": "How is the product priced?",
"answer": "We have a pricing table that includes a free plan.",
"id": "ClMVIjCoNDAiZDLyNWZhM1O3YTUIIKZjPPRcER==",
"hashtags": [],
"lastUpdatedDate": "2020-11-19",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
},
{
"confidence": 0.6119840535714456,
"effectiveConfidence": 0.7738889000171243,
"question": "Do you have a pricing table?",
"answer": "Yes we do. Please check out our website",
"id": "RkFROjVmNDAwZDMyNWZhM2Y4YTA1ZDZjNWUwMQ==",
"hashtags": [],
"lastUpdatedDate": "2020-11-20",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
],
"count": 2
"hashId":"6ca7524a641bc8a23f065e23b46be256"
}
Search from Documents
POST
https://backend-ja.alli.ai/webapi/mrc
Documents APIは、複雑なテーブルなどが含まれたドキュメントからもユーザーの質問に対する回答を抽出することができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
answer: プロジェクトにアップロードしたドキュメントから抽出された回答です。
answerHash: フィードバックを入力したり、取り消すドキュメントの検索結果を特定するために使われます。
confidence: AIモデルが算出したconfidenceの値を表示します。0と1の間の数字です。 effectiveConfidence: クエリの結果にフィードバックが送られるとAIモデルのトレーニングに反映されますが、ユーザーとエージェントのフィードバック結果を反映したconfidence値がeffective confidenceです。0と1の間の数字です。
documentId: 回答が抽出されたドキュメントのIDです。
documentName: 回答が抽出されたドキュメントの名前です。
hashtags: ドキュメントに登録されているハッシュタグです。
pageNo: 回答が得られたドキュメントのページ番号(プレビュー時ページ番号)です。createdDate: ドキュメントがアップデートされた日時です。
agentFeedback: ドキュメントに対するエージェントからのフィードバック(ダッシュボードとREST APIを介して)です。
userFeedback:ドキュメントに関するユーザーからのフィードバックとなります。検索結果の数と閾値は、ダッシュボードの設定に従います。[ナレッジベース]>[ドキュメント]> [設定]で設定を確認してください。
body:リクエストパラメーターのreturnPreviewがtrueの場合、ドキュメント検索プレビューのhtml本文が表示されます。
css:リクエストパラメーターでreturnPreviewがtrueの場合、ドキュメント検索プレビューのcssが表示されます。
pdfPreview:リクエストでreturnPdfPreviewがtrueの場合、回答が強調表示されたドキュメントのPDFプレビューへのURLが表示されます。 [IP許可リストのダウンロード]設定を使用してURLを制限できることに注意してください。 検索結果の数としきい値は、ダッシュボードの設定に従います。 [ドキュメント]> [設定]で設定を確認してください。
folder:もし回答がDocumentsデータベース内のフォルダから見つかった場合、ここにはフォルダ名が返されます。
editer:ドキュメントへの編集アクセス権を持つエージェントのメールアドレスの一覧が返されます。(Alliのダッシュボードで設定されている場合)
viewer:ドキュメントへの閲覧アクセス権を持つエージェントのメールアドレスの一覧が返されます。(Alliのダッシュボードで設定されている場合) 検索結果の数と閾値は、ダッシュボードの設定に従います。ドキュメント > 設定で設定を確認してください。
Copy {
"result": [
{
"answer": "ANSWER_1",
"answerHash": "ANSWER_HASH_1",
"confidence": CONFIDENCE_1,
"effectiveConfidence": EFFECTIVE_CONFIDENCE_1,
"documentId": "DOCUMENT_ID_1",
"documentName": "DOCUMENT_NAME_1",
"hashtags": [],
"pageNo": PAGE_NUMBER,
"createdDate": "DATE",
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"body": "PREVIEW_HTML_BODY",
"css": "PREVIEW_CSS",
"pdfPreview": "PDF_PREVIEW_URL",
"folder": "folder 1",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
}
]
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -X POST -d '{
"query": "can I disclose the composite ratings?",
"maxResults": 3,
"hashtags": ["wiki", "knowledge"],
"hashtagsOperator": "OR",
"format": "text",
"returnPdfPreview": true,
"returnPdfPreviewRawData": true \
-H 'API-KEY: YOUR API KEY' \
-H 'Content-Type: application/json' \
https://backend-ja.alli.ai/webapi/mrc
Response Example
Copy {
"count": 2,
"result": [
{
"answer": "an institution’s board of directors and senior management",
"answerHash": "8430cf3b9af628abc1bb063802db39be",
"confidence": 0.9998937845230103,
"effectiveConfidence": 1,
"documentId": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U=",
"documentName": "Policy document 1.docx",
"hashtags": [
"hashtag1",
"hashtag2"
],
"pageNo": 5,
"createdDate": "2020-11-18",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"pdfPreviewRawData": {
"pdfs": [
{
"pdfUrl": "PDF_ACTUAL_URL",
"pageNo": 1,
"highlight_indexes": [
12
]
},
{
"pdfUrl": "PDF_ACTUAL_URL",
"pageNo": 2,
"highlight_indexes": [
12,
13,
14
]
}
],
"totalPageNo": 10
},
"pdfPreview" : "PDF_PREVIEW_URL"
"folder": "folder 1",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
},
{
"answer": "banks cannot, except in very limited circumstances",
"answerHash": "d849a49662a4f21df51de24d06196547",
"confidence": 0.9998629689216614,
"effectiveConfidence": 0.9998629689216614,
"documentId": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U=",
"documentName": "Bank policy 2020.pdf",
"hashtags": [
"hashtag1",
"hashtag2"
],
"pageNo": 220,
"createdDate": "2020-11-18",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"pdfPreviewRawData": {
"pdfs": [
{
"pdfUrl": "PDF_ACTUAL_URL",
"pageNo": 1,
"highlight_indexes": [
12
]
}
],
"totalPageNo": 5
},
"pdfPreview" : "PDF_PREVIEW_URL"
}
]
}
Get Single Q&A
GET
https://backend-ja.alli.ai/webapi/single_faq
このAPIを利用すれば特定のQ&Aの詳細を取得することができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
question: 対象となるQ&Aの質問です。
answer : 対象となるQ&Aの回答です。
id: 対象となるFAQのIDです。Requestで使用したものと同じ値です。
userFeedback: 対象となるQ&Aに対するユーザーフィードバックです。
agentFeedback: 対象となるQ&Aに対するエージェントフィードバックです。
lastUpdatedDate, createdDate: 対象となるQ&Aの更新日と作成日です。
hashtags: 対象となる質問に付与された全てのハッシュタグです。
Copy {
"result": {
"question": "そこにいるのは誰?",
"answer": "鈴木です",
"id": "RkFROjYwMmY2ZTQ0YWZmMWQ5YmQ0NmM5Y2VkNw==",
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 1
},
"lastUpdatedDate": "2021-02-19",
"createdDate": "2021-02-19",
"hashtags": []
}
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -X GET \
-d '{"id": "iuHjHBhjHGbhjm==", "format": "text"}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/single_faq
Response Example
Copy {
"result": {
"question": "Who is there?",
"answer": "Elmo",
"id": "RkFROjYwMmY2ZTQ0YWZmMWQ5YmQ0NmM5Y2VkNw==",
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 1
},
"lastUpdatedDate": "2021-02-19",
"createdDate": "2021-02-19",
"hashtags": []
}
}
Get Single Document
GET
https://backend-ja.alli.ai/webapi/single_document
このAPIを利用すれば特定のドキュメントの詳細を取得することができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
id:ドキュメントのidです。
documentName:ドキュメントファイルの名称です。
createDate:ドキュメントがアップロードされた日付です。
hashtags:ドキュメントに紐づけられたハッシュタグです。
agentFeedback:ドキュメントに対してエージェントからフィードバックされたgood/Badそれぞれの数です。
userFeedback:ドキュメントに対してユーザーからフィードバックされたgood/Badそれぞれの数です。
Copy "id": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U=",
"documentName": "Policy document 1.docx",
"createdDate": "2020-11-12",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"hashtags" : ["hashtag1", "hashtag2"]
}
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -X GET \
-d '{"id": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U="}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/single_document
Response Example
Copy {"result": {
"id": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U=",
"documentName": "Policy document 1.docx",
"createdDate": "2020-11-12",
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 0
},
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"hashtags" : ["hashtag1", "hashtag2"]
}
}
Q&A Feedbacks
GET
https://backend-ja.alli.ai/webapi/faq_feedbacks
このAPIを使用すれば、検索クエリごとにQ&Aペアに与えられるフィードバックリストを得ることができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
query: 以下のQ&Aに対し、フィードバック情報を持っている検索クエリです。
feedbacks: 当該クエリに従属したフィードバック情報です。
faq_idとpositiveを含みます。
faqId: 当該クエリに対し、フィードバックが与えられたQ&AのIDです。
positive: true あるいは false です。trueはQ&Aに対するポジティブなフィルタリング、falseはネガティブなフィードバックを意味します。
count: リスト化したフィードバックの数です。
Copy {
"result": [
{
"query": "QUERY_1",
"feedbacks": [
{
"faqId": "FAQ_ID_1_1",
"positive": true or false
}, ...
]
}, ...
],
"count": COUNT_1
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
特定のユーザーからフィードバックリストを取得する場合は、ヘッダーにOWN-USER-IDを指定してください。特定のエージェントからフィードバックリストを取得する場合は、ヘッダーにAGENT-EMAILを指定してください。OWN-USER-IDまたはAGENT-EMAILを指定しない場合、すべてのフィードバックが返されます。
Copy curl -X GET \
-d '{"offset": 0, "limit": 10}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/faq_feedbacks
Response Example
Copy {
"result": [
{
"query": "where is the office?",
"feedbacks": [
{
"faqId": "RkFROjVmNDA1MWVkMTFmOWJjMTJjOGUwMTg5YQ==",
"positive": true
},
{
"faqId": "RkFROjVmNDA1MWVkMTFmOWJjMTJjOGUwMThhNA==",
"positive": false
},
{
"faqId": "RkFROjVmNDA1MWVjMTFmOWJjMTJjOGUwMTgyYw==",
"positive": true
}
]
},
{
"query": "Are you funded?",
"feedbacks": [
{
"faqId": "RkFROjVmNDA1MWVjMTFmOWJjMTJjOGUwMTgyNw==",
"positive": true
}
]
}
],
"count": 4
}
Q&A Feedback
POST
https://backend-ja.alli.ai/webapi/faq_feedback
このAPIを利用すれば、検索クエリごとにQ&Aにフィードバックを与えたり、与えられたフィードバックを削除することができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
id: フィードバック情報を与えたり、取り消したQ&AのIDです。
Requestで使用したものと同じ情報です。
positiveCount: Requestの処理後のポジティブなフィードバック数の合計です。
negativeCount: Requestの処理後のネガティブなフィードバック数の合計です。
Copy {
"result": {
"faqTrainSearchResult": {
"faq": {
"id": "ID"
},
"agentFeedback": {
"positiveCount": NUMBER,
"negativeCount": NUMBER
}
}
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Q&A_IDを該当するQ&A IDに変更しなければなりません。Q&A IDを取得するには、Q&AのResponse Example もしくはQ&A FeedbacksのResponse Example の項目をご参照ください。
Copy curl https://backend-ja.alli.ai/webapi/faq_feedback \
-d '{"query": "どこにありますか?",
"id": "RkFROjVmNDA1MWVjMTFmOWJjMTJjOGUwMTgyNw==",
"isPositive": true}' \
-H "Content-Type: application/json" \
-H "API-KEY: YOUR API KEY"
Response Example
Copy {
"result": {
"faqTrainSearchResult": {
"faq": {
"id": "RkFROjVmNDA1MWVjMTFmOWJjMTJjOGUwMTgyNw=="
},
"agentFeedback": {
"positiveCount": 3,
"negativeCount": 1
}
}
},
"errors": null
}
Q&A User Feedback
POST
https://backend-ja.alli.ai/webapi/faq/user_feedback
このAPIを利用すると、対象のFAQに対してユーザーフィードバックを登録することができます。
(ユーザーフィードバックは、Alliチャットボットを使用して回答に対して適切か不適切をユーザーが送信するものです)。
Request Body
200
対象のFAQに対する現在のユーザーフィードバック(positiveCountとnegativeCountの両方)を返します。
Copy {
"result": {
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
}
}
Request Example
Copy curl https://backend-ja.alli.ai/webapi/faq/user_feedback \
-H 'API-KEY: YOUR_API_KEY' \
-H "Content-Type: application/json" \
-d '{
"query": "QUERY",
"prev": PREVIOUSLY_ASSIGNED_FEEDBACK,
"id": "FAQ_ID",
"positive": true
}'
Response Example
Copy {
"result": {
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
}
}
Upload Q&As
POST
https://backend-ja.alli.ai/webapi/upload_faq_file
この API を使用することで、tsv、csv、xlsx、および zip 形式で複数の Q&A をアップロードできます。
Request Body
200
result:アップロード成功時にsuccessと表示します。
notUploaded:質問のいずれかがアップロードされていないか、既存のQ&Aが更新されていない場合、詳細がここにリストされます。
question: アップロードされていないまたは更新されていないQ&AのQの部分になります。state:Q&Aが「類似の質問」の内容の重複によりアップロードされていない場合は「dup」、同じ質問内容により既存のQ&Aが更新された場合は「up」と表示されます。
Copy {
"result": "success",
"notUploaded": [
{
"question": "QUESTION_1",
"state": "dup"
},
{
"question": "QUESTION_2",
"state": "up"
}
]
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -F 'file=@/location/to/your_file'
\-H 'API-KEY: YOUR_API_KEY'
https://backend-ja.alli.ai/webapi/upload_faq_file
Response Example
Copy {
"result": "success",
"notUploaded": [
{
"question": "How to teach AI",
"state": "dup"
},
{
"question": "I'd like to schedule a meeting or a demo.",
"state": "up"
}
]
}
Add Q&A
POST
https://backend-ja.alli.ai/webapi/register_faq
このAPIを使用することで、新しいQ&Aを追加したり、既存のQ&Aを更新することができます。
Request Body
200
status: 登録されたQ&Aのステータスです。「created」とはQ&Aが新しく登録されたことを指します。また、「updated」は既存のQ&Aが新しい回答で更新されたことを指します。
id: 登録されたQ&AのIDを指します。
Copy {
"result": {
"status": "created",
"id": "Q&A_ID"
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl 'https://backend-ja.alli.ai/webapi/register_faq' \
-H 'API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"status": "ON",
"question": "Where is the office?",
"similarQuestions": ["Office location?", "Office address?"],
"answer": "We have offices in Oakland(US), Seoul(Korea), and Tokyo(Japan)",
"hashtags": ["office", "location"],
"memo": "Added from API",
"folder": "folder 1",
"agentEditor": ["your@email.com"],
"agentViewer": ["your@email_2.com"],
"userViewer": {
"variables": {
"CUSTOMER_ID": ["id_1", "id_2"],
"CUSTOMER_GROUP": ["{categoryElementId}", "{categoryElementId}"]
}
},
"followFolderPermission": false,
"allowOtherAgentsView": true,
"allowOtherUsersView": true
}'
Response Example
Copy {
"result": {
"status": "created",
"id": "RkFROkYwYRQxYzIzMDcxYWM5M3JlOWR5Y2EeOQ=="
},
"errors": null
}
delete Q&A
POST
https://backend-ja.alli.aiwebapi/delete_faq
このAPIを使用することで、Q&Aを削除することができます。
Path Parameters
Request Body
200 404: Not Found
status:Q&Aが正常に削除された場合は「deleted」となります。
Copy {
"result": {
"status": "deleted"
},
"errors": null
}
IDに対応するQ&Aが存在しない場合、このエラーが返されます。
Copy {
"errors": "The record doesn't exist."
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl 'https://backend-ja.alli.ai/webapi/delete_faq' \
-H 'API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d {
"id": "RkFROkYwYRQxYzIzMDcxYWM5M3JlOWR5Y2EeOQ=="
}
Response Example
Copy {
"result": {
"status": "deleted"
},
"errors": null
}
List Q&As
GET
https://backend-ja.alli.ai/webapi/faqs
このAPIを使用することで、ナレッジベースのQ&Aを一覧で取得することができます。
Request Body
200
offset:リクエストパラメーターとしてのoffsetと同じ値となります。
count:limitが適用された際に取得されたQ&Aの総数。
totalCount:適用されたフィルターの結果としてのQ&Aの総数。
id:Q&AのID。
question:Q&Aの質問部分。
answer:Q&Aの回答部分。
hashtags:Q&Aに設定されているハッシュタグ。
userFeedback:肯定的および否定的なユーザーフィードバックの数。ユーザーのフィードバックは、将来のクエリの検索結果に影響します。
agentFeedback:正および負のエージェントフィードバックの数。エージェントのフィードバックは、将来のクエリの検索結果に影響します。
lastUpdatedDate:Q&Aが最後に更新された日付。
createdDate:Q&Aが作成された日付。
Copy {
"offset": 0,
"count": 10,
"totalCount": 12,
"results": [
{
"id": "Q&A_ID_1",
"question": "QUESTION_1",
"answer": "ANSWER_1",
"hashtags": [
"HASHTAG_1",
"HASHTAG_2"
],
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"lastUpdatedDate": "2021-05-04",
"createdDate": "2021-02-23"
},
{
"id": "Q&A_ID_2",
"question": "QUESTION_2",
"answer": "ANSWER_2",
"hashtags": [
"HASHTAG_1",
"HASHTAG_3"
],
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"lastUpdatedDate": "2021-05-04",
"createdDate": "2021-02-23"
}, ...
]
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。
Copy curl -X GET 'https://backend-ja.alli.ai/webapi/faqs' \
-H 'API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"searchTerm": "Allganize",
"isUsed": true,
"hashtags": ["company", "Alli"],
"hashtagsOperator": "OR",
"createdByAgent": true,
"answeredByMrc": true,
"autoGenerated": false,
"editedByAgent": false,
"format": "text",
"offset": 0,
"limit": 10
}'
Response Example
Copy {
"offset": 0,
"count": 2,
"totalCount": 2,
"results": [
{
"id": "RkRODjYwUIr2YTUzYTc0MjNmMDgxOTFkZTRlNA==",
"question": "How many people work at Allganize?",
"answer": "Currently (Nov 2019), we have 16 employees working at three different locations.",
"hashtags": [
"company",
"actual"
],
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"lastUpdatedDate": "2021-05-04",
"createdDate": "2021-02-23"
},
{
"id": "RkFROjYwIdU4YTUzYTc0MjNmUR2wOTFkZTU1OA==",
"question": "Do you have any references or case studies?",
"answer": "We do! Check out our recent case studies and other articles on our blog: https://blog.allganize.ai/",
"hashtags": [
"company",
"actual"
],
"userFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"agentFeedback": {
"positiveCount": 0,
"negativeCount": 0
},
"lastUpdatedDate": "2021-05-04",
"createdDate": "2021-02-23"
}
]
}
Q&A Candidates
GET
https://backend-ja.alli.ai/webapi/faq_candidates
このAPIを利用すれば、ユーザーからの質問の中で回答されていない質問、つまり、「未回答質問」のリストを得ることができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
count: リスト化した未回答質問の合計件数です。
id: 未回答質問に対して抽出された回答のIDです。新しい未回答質問が登録されると、Alliはアップロードしたドキュメントから自動的に回答を抽出して登録を試みます。
frequency: questions の下にある全てのfrequency 値の合計です。
textAnswer: 未回答質問に対して自動抽出された回答の内容です。
state: 未回答質問のステータスです。Q&Aデータベースに追加されていない場合はACTIVE、追加された場合はARCHIVEDで表示されます。
createdAt: 未回答質問が生成された日時です。
questions: 複数の類似質問が同一の回答を共有することができますが、同じ回答を共有する全ての未回答質問の情報をここで確認することができます。
id (under questions): 未回答のユーザー質問のIDです。
question (under questions): 未回答のユーザー質問の内容です。
frequency (under questions): ユーザーが同じ質問を何回したか表示します。
id (under history): 未回答質問のヒストリー情報に割り当てられたIDです。ヒストリー情報はユーザーが当該質問をした時のログ情報です。
Copy {
"result": {
"faqCandidates": [
{
"id": "ID_ANSWER_1",
"frequency": 1,
"textAnswer": "ANSWER_1",
"state": "ACTIVE",
"createdAt": NUMBER,
"questions": [{
"id": "ID_QUESTION_1",
"question": "QUESTION_1",
"frequency": 1,
"history": {
"id": "ID_HISTORY_1"
}
}]
},
],
"count": 1
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -X GET \
-d '{
"hashtags": ["wiki"],
"searchTerm": "ユーザー",
"order": "FREQUENCY_DESC",
"state": "ALL",
"offset": 0,
"limit": 10}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/faq_candidates
Response Example
Copy {
"count": 2,
"result": [
{
"id": "RkFRQ2FuZGlkYXRlOjVlYjA3OGU5MGFmZmMyM2QxZjc4ZTMzMQ==",
"frequency": 1,
"textAnswer": "使い方はこの通りです。\n— Fromユーザーガイド.pdf",
"state": "ACTIVE",
"createdAt": 1588623593321,
"questions": [
{
"id": "RkFRQ2FuZGlkYXRlUXVlc3Rpb246NWViMDc4ZTkwYWZmYzIzZDFmNzhlMzMw",
"question": "ユーザーマニュアルがありますか?",
"frequency": 1,
"history": {
"id": "Q29udmVyc2F0aW9uOjVlYjA3OGI2NWUyMTJlMTMzZDM4NDAzOA=="
}
}
]
},
{
"id": "RkFRQ2FuZGlkYXRlOjVlOWEzZWI2MmZlOTFkMzIwYjE2YWQyOQ==",
"frequency": 1,
"textAnswer": "15日以内であればいつでも取り消しができます。\n— Fromカスタマーマニュアル.pdf",
"state": "ACTIVE",
"createdAt": 1587166902114,
"questions": [
{
"id": "RkFRQ2FuZGlkYXRlUXVlc3Rpb246NWU5YTNlYjYyZmU5MWQzMjBiMTZhZDI4",
"question": "払い戻しできますか?",
"frequency": 1,
"history": {
"id": "Q29udmVyc2F0aW9uOjVlOWEzZDliNjU5YmM2NTEyMTk5MDQ3Ng=="
}
}
]
}
],
"errors": null
}
Q&A Candidates
POST
https://backend-ja.alli.ai/webapi/add_faq_candidates
未回答の質問リストに未回答の質問を新たに登録します。
Request Body
200
結果は次の JSON 形式で取得されます。
id: 登録された未回答の質問のID。
Copy {
"result": {
"candidates": [
{
"id": "CANDIDATE_ID_1"
},
{
"id": "CANDIDATE_ID_2"
}
]
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl https://backend-ja.alli.ai/webapi/add_faq_candidates \
-d '{"queries": ["what is that processor", "how much does the processor cost"]}' \
-H "Content-Type: application/json" \
-H "API-KEY: YOUR_API_KEY"
Response Example
Copy {
"result": {
"candidates": [
{
"id": "RkFRQ2FuZGlkYXRlOjVmOGE1ZDA0ODgxNzc0OWNjMWUwMzRiNg=="
},
{
"id": "iGBiuGIGIugBIGBIugBIuBGiHBiJUhbhIBgIbKHJBJCYUBLHKGJfBJbIb=="
}
]
},
"errors": null
}
Documents Feedbacks
GET
https://backend-ja.alli.ai/webapi/mrc_feedbacks
このAPIを使用すれば、検索クエリごとにドキュメントから抽出された回答に与えられるフィードバックリストを得ることができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
query: 以下の回答が抽出された検索クエリです。
documentId: 回答を抽出したドキュメントのIDです。
answer: 当該クエリに対してドキュメントから抽出された回答の内容です。
answerHash: 当該クエリに対してドキュメントから抽出された回答に与えられるIDの値です。Documents検索をした時、クエリと検索結果のペアに与えられる値であり、上記のPOST Documents APIを利用して得られるものと同じ値です。
positive: true あるいは false です。trueは当該回答に対するポジティブなフィードバック、falseはネガティブなフィードバックを意味します。
count: リスト化したフィードバック件数の合計です。
Copy {
"result": [
{
"query": "QUERY_1",
"feedbacks": [
{
"documentId": "DOCUMENT_ID_1",
"answer": "ANSWER_1",
"answerHash": "ANSWER_HASH_1",
"positive": true or false
}, ...
]
}
],
"count": NUMBER
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
特定のユーザーからフィードバックリストを取得する場合は、ヘッダーにOWN-USER-IDを指定してください。特定のエージェントからフィードバックリストを取得する場合は、ヘッダーにAGENT-EMAILを指定してください。
Copy curl -X GET \
-d '{"offset": 0, "limit": 10}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/mrc_feedbacks
Response Example
Copy {
"result": [
{
"query": "cancel the policy",
"feedbacks": [
{
"documentId": "S25vd2xlZGdlQmFzZTo1ZWM1YmJiZTczNmUxNmM0NDRjZDI2ZGM=",
"answer": "You can cancel the policy in 30 days.",
"answerHash": "44094c4a281484daadf28e67a4745747",
"positive": true
},
{
"documentId": "S25vd2xlZGdlQmFzZTo1ZWM1YmJiZTczNmUxNmM0NDRjZDI2ZGM=",
"answer": "This is how you enroll the policy.",
"answerHash": "296ffa9691166c583b00365fb6839a06",
"positive": false
},
{
"documentId": "S25vd2xlZGdlQmFzZTo1ZWM1YmJiZTczNmUxNmM0NDRjZDI2ZGM=",
"answer": "You cannot get refunded upon cancelation after 30 days.",
"answerHash": "48e5273910c913dbf0fc08482f7cd22c",
"positive": true
}
]
}
],
"count": 3
}
Documents Search Feedback
POST
https://backend-ja.alli.ai/webapi/mrc_feedback
このAPIを使用すれば、検索クエリによって抽出された検索結果に対してフィードバックをしたり、削除することができます。
Request Body
200
検索結果は、以下のようなJSON形式で戻ります。
positivecount: Requestの処理後のポジティブなフィードバック数の合計です。
negativecount: Requestの処理後のネガティブなフィードバック数の合計です。
Copy {
"result": {
"mrcFeedbackSearchResult": {
"agentFeedback": {
"positiveCount": NUMBER,
"negativeCount": NUMBER
}
}
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
DOCUMENT_IDとANSWER_HASHの部分を該当するIDに変更しなければなりません。それぞれの情報を得るにはDocumentsのResponse Example 項目、もしくはDocuments FeedbacksのResponse Example の項目をご参照ください。
Copy curl https://backend-ja.alli.ai/webapi/mrc_feedback \
-d '{"query": "保険の解約はどうすればいいですか?",
"id": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U=",
"answerHash": "8430cf3b9af628abc1bb063802db39be",
"isPositive": true}' \
-H "Content-Type: application/json" \
-H "API-KEY: YOUR API KEY"
Response Example
Copy {
"result": {
"mrcFeedbackSearchResult": {
"agentFeedback": {
"positiveCount": 2,
"negativeCount": 1
}
}
},
"errors": null
}
Documents Search User Feedback
POST
https://backend-ja.alli.ai/webapi/mrc/user_feedback
このAPIを利用すると、ドキュメント検索の結果に対してユーザーフィードバックを登録することができます。
Request Body
200
変更後のユーザーフィードバックのpositiveCountとnegativeCountをレスポンスとして返します。
Copy {
"result": {
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
}
}
Request Example
Copy curl -request POST 'https://backend.alli.ai/webapi/mrc/user_feedback' \
--header 'API-KEY: YOUR_API_KEY' \
-d '{
"query": "QUERY",
"answerHash": "RESULT_ID",
"id": "DOCUMENT_ID",
"positive": true
}'
Response Example
Copy {
"result": {
"userFeedback": {
"positiveCount": 1,
"negativeCount": 0
}
}
}
Document Upload APIs
POST
https://backend-ja.alli.ai/webapi/upload_file
このAPIを利用することで、Cognitive Searchで検索対象となるファイルをローカルの保存場所からアップロードすることができます。アップロード可能なファイル形式は下記となります。
ファイル形式:.txt, .docx, .csv, .xls, .xlsx, .xlsm, .jpg, .jpeg, .png, .hwp, .hwpx, .pdf, .ppt, .pptx, .doc
外部リンクが含まれるHTMLファイルをアップロードするには、アップロードする前に関連するリンク先のHTMLも含め、zipファイルに圧縮の上、アップロードください。
Request Body
200
次の JSON 形式で結果を取得します。
Copy {
"result": {
"id": "ID",
"fileName": "DOCUMENT_NAME",
"hashtags": [],
"footer": "{FOOTER_INFORMATION}",
"folder": "FOLDER_NAME",
"agentEditor": ["AGENT_NAME"],
"agentViewer": ["VIEWER_NAME"],
"allowOtherAgentsView": true,
"allowOtherUsersView": true,
"properties": {}
}
}
Request Example
@"/location/to/your_file "にアップロードしたいファイルパスを記載ください。YOUR HASH TAGは付与したいハッシュタグに変更してください。
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -F 'file=@"/location/to/your_file"' \
-F 'hashtags="[\"api1\", \"api2\"]"' \
-F 'footerUrl="www.allganize.ai"' \
-F 'footerTitle="Allganize website"' \
-F 'folder="folder 1"' \
-F 'followFolderPermission=false' \
-F 'agentViewer="[\"agent@allganize.io\"]"' \
-F 'userViewer="{
\"variables\": {
\"CUSTOMER_ID\": [\"customer_1\"],
\"CUSTOMER_GROUP\": [\"Q2F0ZWdvcnlFbGVtZW5OAjYzNzkyZDY1NWM5ZDIxMTU5NDMwZDY1OA==\"]
}
}"' \
-H 'API-KEY: YOUR_API_KEY' https://backend-ja.alli.ai/webapi/upload_file
Response Example
Copy {
"result": {
"id": "S25vd2xlZGdlQmA23To2MGJjIsjA1YjM1Nz9iRc1YWIzYjA1ODk=",
"fileName": "policy.docx",
"hashtags": [
"api1",
"api2"
],
"footer": "{\"blocks\": [{\"key\": \"oio7\", \"text\": \"— From ocr_en.png\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 17, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 10, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://download.alli.ai/download_document/UHJvamUiddDo1ZGMxYmI1qwe0ZTk0YWNmMmY5MjRlMzU=/S12vd2xlZGdlQmFzZTo2MGJijef1YjM1Nzc4NTc1YWIzYjA1ODk=\"}}}}",
"folder": "folder 1",
"agentEditor": ["admin_1@allganize.ai", "admin_2@allganize.ai"],
"agentViewer": ["viewer_email@allganize.ai"],
"allowOtherAgentsView": true,
"allowOtherUsersView": true,
"properties": {}
}
}
Upload Documents from S3
POST
https://backend-ja.alli.ai/webapi/upload_from_s3
このAPIを利用すると、S3に保存されているファイルをCognitive Searchで利用できるようにアップロードすることができます。これらはダッシュボードの[ナレッジベース]>[ドキュメント]タブに表示されます。アップロード可能なファイル形式は、Upload Documents APIと同じです。
Request Body
200
次の JSON 形式で結果を取得します。
id:アップロードしたファイルのIDです。
fileName: アップロードしたファイルのファイル名です。
hashtags: アップロードしたファイルに付与されるハッシュタグの配列です。
footer: アップロードされたファイルに追加されたフッター(ソース情報)。これはデフォルトのファイル名かfooterTitleとfooterUrlにより設定された内容となります。
folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。
editor: ドキュメントに編集権限を持つエージェントのメールアドレスのリストです。
viewer: ドキュメントに閲覧権限を持つエージェントのメールアドレスのリストです。
Copy {
"result": {
"id": "S25vd2xlZGdlQmA23To2MGJjIsjA1YjM1Nz9iRc1YWIzYjA1ODk=",
"fileName": "policy.docx",
"hashtags": [
"api1",
"api2"
],
"footer": "{\"blocks\": [{\"key\": \"oio7\", \"text\": \"— From ocr_en.png\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 17, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 10, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://download.alli.ai/download_document/UHJvamUiddDo1ZGMxYmI1qwe0ZTk0YWNmMmY5MjRlMzU=/S12vd2xlZGdlQmFzZTo2MGJijef1YjM1Nzc4NTc1YWIzYjA1ODk=\"}}}}",
"folder": null,
"agentEditor": [
"agent1@allganize.io"
],
"agentViewer": [],
"userViewer": {
"variables": {
"CUSTOMER_ID": [
{
"id": "new_user_1",
"value": "new_user_1"
}
],
"CUSTOMER_GROUP": [
{
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNdf2MjU0OWU4OTM4N2IzMTkxN2Y0ZA==",
"value": "group_1"
},
{
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNziymRU1Nzg4YWFmODVjZTU1YjVkMg==",
"value": "group_2"
}
]
}
},
"allowOtherAgentsView": true,
"allowOtherUsersView": false,
"properties": {}
}
}r
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。
Copy curl https://backend-ja.alli.ai/webapi/upload_from_s3 -d '{
"path": "s3://YOUR_S3_FILE_PATH",
"secretKey": "YOUR_SECRET_KEY",
"accessKey": “YOUR_ACCESS_KEY",
"bucket": "YOUR_BUCKET_NAME",
"hashtags": ["HASHTAG_1", "HASHTAG_2"],
"footerTitle": "Allganize API Documentation",
"footerUrl": "docs.allganize.ai"},
"folder": "folder 1",
"followFolderPermission": false,
"agentViewer": ["viewer_email@allganize.ai"],
"userViewer": {
"variables": {
"CUSTOMER_ID": ["id_1"],
"CUSTOMER_GROUP": ["{categoryElementsId}"]
}
}}' \
-H "Content-Type: application/json" \
-H "API-KEY: YOUR_API_KEY"
Response Example
Copy {
"result": {
"id": "S25vd2xlZGdlQmA23To2MGJjIsjA1YjM1Nz9iRc1YWIzYjA1ODk=",
"fileName": "policy.docx",
"hashtags": [
"api1",
"api2"
],
"footer": "{\"blocks\": [{\"key\": \"oio7\", \"text\": \"— From ocr_en.png\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 17, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 10, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://download.alli.ai/download_document/UHJvamUiddDo1ZGMxYmI1qwe0ZTk0YWNmMmY5MjRlMzU=/S12vd2xlZGdlQmFzZTo2MGJijef1YjM1Nzc4NTc1YWIzYjA1ODk=\"}}}}",
"folder": null,
"agentEditor": [
"agent1@allganize.io"
],
"agentViewer": [],
"userViewer": {
"variables": {
"CUSTOMER_ID": [
{
"id": "new_user_1",
"value": "new_user_1"
}
],
"CUSTOMER_GROUP": [
{
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNdf2MjU0OWU4OTM4N2IzMTkxN2Y0ZA==",
"value": "group_1"
},
{
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNziymRU1Nzg4YWFmODVjZTU1YjVkMg==",
"value": "group_2"
}
]
}
},
"allowOtherAgentsView": true,
"allowOtherUsersView": false,
"properties": {}
}
}
Document処理ステータスの確認
GET
https://backend-ja.alli.ai/webapi/check_file_status
アップロードしたドキュメントは、変換および解析などの処理を行います。このAPIを使用すれば、アップロードしたドキュメントのステータスを確認することができます。
Request Body
200
次の JSON 形式で結果を取得します。
id:チェックしたドキュメントのIDです。
status: アップロードしたドキュメントの状態です。可能な値については、以下の応答例をご覧ください。
Copy {"result":
{"id": "YOUR DOCUMENT ID",
"status": "initializing"}}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Copy curl -X GET https://backend-ja.alli.ai/webapi/check_file_status \
-d '{"id": "DOCUMENT_ID"}' \
-H "API-KEY: YOUR API KEY" \
-H "Content-Type: application/json"
Response Example
Copy {"result":
{"id": "S25vd2xlZGdlQmFzZTo1ZWM1YmJiZTczNmUxNmM0NDRjZDI2ZGM",
"status": "initializing"}}
Statusは、以下のうち一つの値を持ちます。
Copy 'initializing : preparing for the processing or waiting
'parsing': parsing for retrievers
'parsing_fail'
'completed': parsing and embedding are done
Documentの削除
POST
https://backend-ja.alli.ai/webapi/delete_file
このAPIを使用すれば、アップロードしたドキュメントを削除することができます。複数のドキュメントを一括削除することもできます。
Request Body
200
Result:削除に成功した場合はtrue、失敗した場合はfalseに表示されます。
errors:エラーメッセージが表示されます。
Copy {
"result": {
"ok": BOOLEAN
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Copy curl -d '{"ids": ["DOCUMENT_ID"]}' \
-H "API-KEY: YOUR API KEY" \
-H "Content-Type: application/json" \
https://backend-ja.alli.ai/webapi/delete_file
Response Example
Copy {
"result": {
"ok": true,
},
"errors": null
}
Preview Documents
GET
https://backend-ja.alli.ai/webapi/knowledge_base_preview
このAPIを使用すると、アップロードされたドキュメントを参照できます。
Query Parameters
200
次のJSON形式で結果を取得できます。
id: リストされたドキュメントのIDです。
fileName: リストされたドキュメントのファイル名です。
hashtags: ドキュメントに追加されたハッシュタグです。
autoHashtags: ドキュメントに自動生成されたハッシュタグです。
downloadUrl: ドキュメントをダウンロードするためのURLです。
footerUrl: ドキュメントのフッターに含まれるURLです。
folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにはフォルダの名前が返されます。
editor: ドキュメントへの編集アクセス権を持つエージェントのメールアドレスのリストです。
viewer: ドキュメントへの閲覧アクセス権を持つエージェントのメールアドレスのリストです。
Copy {
"result": {
"totalPageCount": 3,
"pageNo": 1,
"css": null,
"body": null,
"highlightIndexes": [],
"exactAnswer": null,
"pdf": "PDF",
"draftjs": null,
"highlights": {
"indexes": null,
"pageIndexes": [],
"__typename": "KnowledgeBasePreviewHighlights"
},
"knowledgeBase": {
"id": "DOCUMENT_ID",
"title": "DOCUMENT_TITLE",
"__typename": "MSDocsKnowledgeBase"
},
"__typename": "KnowledgeBasePreview"
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Copy curl -d '{"id": "DOCUMENT_ID", "pageNo": 1}' \
-H "API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://backend-ja.alli.ai/webapi/knowledge_base_preview
Response Example
エラーが発生した場合(存在しないページ番号など)、"result"内の"pdf"はnullとなりますので、ご注意ください。
Copy {
"result": {
"totalPageCount": 3,
"pageNo": 1,
"css": null,
"body": null,
"highlightIndexes": [],
"exactAnswer": null,
"pdf": "PDF",
"draftjs": null,
"highlights": {
"indexes": null,
"pageIndexes": [],
"__typename": "KnowledgeBasePreviewHighlights"
},
"knowledgeBase": {
"id": "DOCUMENT_ID",
"title": "DOCUMENT_TITLE",
"__typename": "MSDocsKnowledgeBase"
},
"__typename": "KnowledgeBasePreview"
},
"errors": null
}
List Documents
GET
https://backend-ja.alli.ai/webapi/knowledge_bases
このAPIを使用すると、アップロードされたドキュメントを一覧表示できます。
Query Parameters
200
次のJSON形式で結果を取得できます。
id: リストされたドキュメントのIDです。
fileName: リストされたドキュメントのファイル名です。
hashtags: ドキュメントに追加されたハッシュタグです。
autoHashtags: ドキュメントに自動生成されたハッシュタグです。
downloadUrl: ドキュメントのダウンロードURLです。
footerUrl: ドキュメントのフッターに含まれるURLです。
folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。
editor: ドキュメントに編集者権限を持つエージェントのメールアドレスのリストです。
viewer: ドキュメントに閲覧者権限を持つエージェントのメールアドレスのリストです。
count:条件に該当するドキュメントの総数です。
Copy {
"result": {
"items": [
{
"id": "DOCUMENT_ID",
"fileName": "FILENAME",
"hashtag": ["HASHTAG_1", "HASHTAG_2"],
"autoHashtag": ["AUTOHASHTAG_1"],
"folder": "folder 2",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
}
]
"count": 1
},
"errors": null
}
Request Example
YOUR API KEYを自身のプロジェクトのAPIキーに変更する必要があります。APIキーの取得 をご参照ください。
Copy curl -X GET -d '{"status": true,
"offset": 0,
"limit": 10,
"order": "FILE_NAME_ASC",
"searchTerm": "term1 OR term2"
"hashtags": ["policy", "insurance"],
"hashtagsSearchOperator": "OR"}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/knowledge_bases
次のいずれかの値をorderパラメーターに使用できます。
Response Example
Copy {
"result": {
"items": [
{
"id": "S23wd2xlZGdlQmRzZTo1ZmFmMzYwZ3IyYjliMTI2OTAyMWVmMDQ=",
"fileName": "policy1.docx",
"hashtags": ["policy"],
"score": 1.0,
"downloadUrl": "https://download.alli.ai/download_document/UHJvamVjdDo1YzZiYjYyNDQxNmFmYzAwMDgyMTQwNDU=/S23wd2xlZGdlQmRzZTo1ZmFmMzYwZ3IyYjliMTI2OTAyMWVmMDQ=",
"footerUrl": "https://download.alli.ai/download_document/UHJvamVjdDo1YzZiYjYyNDQxNmFmYzAwMDgyMTQwNDU=/S23wd2xlZGdlQmRzZTo1ZmFmMzYwZ3IyYjliMTI2OTAyMWVmMDQ=",
"folder": "folder 2",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
},
{
"id": "S75vd2elZGdlQmFzZTo1ZmFlMjdhYmMx22E3MWM1MzA0NDI3ZWQ=",
"fileName": "insurance_policy.pdf",
"hashtags": ["policy", "insurance"],
"score": 0.89,
"downloadUrl": "https://download.alli.ai/download_document/UHJvamVjdDo1YzZiYjYyNDQxNmFmYzAwMDgyMTQwNDU=/S75vd2elZGdlQmFzZTo1ZmFlMjdhYmMx22E3MWM1MzA0NDI3ZWQ=",
"footerUrl": "www.example.com",
"folder": "folder 2",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
}
]
"count": 450
},
"errors": null
}
Document(Knowledge Base)Title Search
GET
https://backend-ja.alli.ai/webapi/search_document_by_title
このAPIを使用すると、タイトルに基づいてナレッジベースを検索することができます。この検索は、キーワードではなくトレーニングされたベクトルによって行われます。ナレッジベースの「ドキュメント」メニューでモデルをトレーニングしていることを確認してください。
Query Parameters
200
次のJSON形式で結果を取得できます。
id: ドキュメントのIDです。
fileName: ドキュメントのファイル名です。
hashtags: ドキュメントに追加されたハッシュタグです。
score: 検索結果の信頼度スコアです。
folder: ドキュメントデータベースのフォルダー内から回答が見つかった場合、ここにフォルダー名が返されます。
editor: ドキュメントに編集アクセス権限を持つエージェントのメールアドレスのリストです。
viewer: ドキュメントに閲覧アクセス権限を持つエージェントのメールアドレスのリストです。
Copy {
"result": [
{
"id": "DOCUMENT_ID",
"fileName": "FILE_NAME.docx",
"hashtags": ["hashtag1", "hashtag2"],
"score": 0.87,
"folder": "folder 2",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
}
]
}
Request Example
YOUR API KEYを自身のプロジェクトのAPIキーに変更する必要があります。APIキーの取得 をご参照ください。
Copy curl -X GET 'https://backend-ja.alli.ai/webapi/search_document_by_title' \
-H 'API-KEY: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data-urlencode “query=cpu specs” \
--data-urlencode “hashtags=company,alli”
Response Example
Copy {
"result": [
{
"id": "616a0cd34e0176b2fbed54bc",
"fileName": "SPECIFICATIONS.docx",
"hashtags": ["specs", "Alli"],
"score": 0.87,
"folder": "folder 2",
"editor": ["email_1@allganize.ai", "email_2@allganize.ai"],
"viewer": ["email_3@allganize.ai"]
}
]
}
Rename Documents (Knowledge Base)
POST
https://backend-ja.alli.ai/webapi/update_kb_name
この API を使用することで、アップロードされたドキュメントの名前を更新できます。
また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Request Body
200
次のJSON形式で結果を取得できます。
id: ファイル名が変更されたドキュメントのIDです。
filename: ドキュメントの新しいファイル名です。
Copy {
"result": {
"id": "DOCUMENT_ID",
"filename": "FILENAME"
}
}
Request Example
YOUR API KEYを自身のプロジェクトのAPIキーに変更する必要があります。APIキーの取得 をご参照ください。
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/update_kb_name' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
--data-raw '{"id": "DOCUMENT_ID", "filename": "FILENAME"}'
Response Example
Copy {
"result": {
"id": "DOCUMENT_ID",
"filename": "policy.docx"
}
}
Update Documents
POST
https://backend-ja.alli.ai/webapi/update_document
このAPIを利用することで、ドキュメントのハッシュタグ、フッタータイトル、およびフッタータイトルのリンクを更新することができます。
Request Body
200
次の JSON 形式で結果を取得します。
id: ハッシュタグが対応するドキュメントのIDです。
hashtags: 更新後のドキュメントに添付されたハッシュタグです。
footer: アップロードされたドキュメントに追加されたフッター(ソース)情報です。デフォルトの情報またはfooterTitleおよびfooterUrlパラメータで指定された情報が含まれます。
folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。
editor: ドキュメントに編集アクセス権を持つエージェントのメールアドレスのリストです。
viewer: ドキュメントに閲覧アクセス権を持つエージェントのメールアドレスのリストです。
Copy {
"result": {
"knowledgeBase": {
"id": "S25vd1iuRGdlQmFzZTo2MGJhYjQzERHjYTNiNWE0PLD3MDk1YTg=",
"hashtags": [
"hashtag1",
"hashtag2"
],
"footer": "{\"blocks\": [{\"key\": \"qn8p\", \"text\": \"— From Allganize API documentation\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [{\"offset\": 7, \"length\": 27, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"docs.allganize.ai\"}}}}",
"folder": "folder 2",
"agentsEditor": ["admin_1@allganize.ai", "admin_2@allganize.ai"],
"agentsViewer": ["viewer_email@allganize.ai"],
"userViewer": {"variables": {"CUSTOMER_GROUP": [{"id": "Q2F0ZwdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OA==", "value": "group_name"}], "CUSTOMER_ID": [{"id": "id_1", "value": "id_1"}]}},
"allowOtherAgentsView": true,
"allowOtherUsersView": true
}
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/update_document' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"hashtags": ["hashtag1", "hashtag2"],
"id": "DOCUMENT_ID",
"footerTitle": "Allganize API documentation",
"footerUrl": "docs.allganize.ai",
"folder": "folder 2",
"followFolderPermission": false,
"agentViewer": ["viewer_email@allganize.ai"],
"userViewer": {
"variables": {
"CUSTOMER_ID": ["id_1"],
"CUSTOMER_GROUP": ["{categoryElementsId}"]
}
},
"allowOtherUsersView": true
}'
Response Example
Copy {
"result": {
"knowledgeBase": {
"id": "S25vd1iuRGdlQmFzZTo2MGJhYjQzERHjYTNiNWE0PLD3MDk1YTg=",
"hashtags": [
"hashtag1",
"hashtag2"
],
"footer": "{\"blocks\": [{\"key\": \"qn8p\", \"text\": \"— From Allganize API documentation\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [{\"offset\": 7, \"length\": 27, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"docs.allganize.ai\"}}}}",
"folder": "folder 2",
"agentsEditor": ["admin_1@allganize.ai", "admin_2@allganize.ai"],
"agentsViewer": ["viewer_email@allganize.ai"],
"userViewer": {"variables": {"CUSTOMER_GROUP": [{"id": "Q2F0ZwdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OA==", "value": "group_name"}], "CUSTOMER_ID": [{"id": "id_1", "value": "id_1"}]}},
"allowOtherAgentsView": true,
"allowOtherUsersView": true
}
},
"errors": null
}
Create/Read/Update/Delete Custom Properties
Create Custom Properties
ドキュメントにカスタムプロパティを作成する場合は、propertiesパラメータを使用してください。
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/update_document' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"id": "DOCUMENT_ID",
"properties": {"testVar": "testValue", "testNumVar": 1234}
}'
その後、以下のようなレスポンスを受け取ります。
Copy {
"result": {
"knowledgeBase": {
"id": "YOUR_DOCUMENT_ID",
"properties": {
"testKey": "testValue",
"testNumVar": 1234
},
}
},
"errors": null
}
Get Custom Properties
特定のドキュメントのカスタムプロパティのリストを取得したい場合は、「Get Single Document」APIを使用することができます。
Update Customer Properties
ドキュメントのカスタムプロパティを更新したい場合は、単純にプロパティの値を更新してください。既存のキーを送信しない場合、そのプロパティは削除されますのでご注意ください。
Copy curl -X POST 'https://backend-ja.alli.ai/webapi/update_document' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"id": "DOCUMENT_ID",
"properties": {"testVar": "newTestValue"}
}'
その後、以下のようなレスポンスを受け取ります。
Copy {
"result": {
"knowledgeBase": {
"id": "YOUR_DOCUMENT_ID",
"properties": {
"testKey": "newTestValue"
},
}
},
"errors": null
}
Delete Custom Properties
ドキュメントのカスタムプロパティをすべてまたは一部削除したい場合は、特定のプロパティに null 値を渡すことができます。
Copy {
"result": {
"knowledgeBase": {
"id": "YOUR_DOCUMENT_ID",
"properties": null,
}
},
"errors": null
}
その後、以下のようなレスポンスを受け取ります。
Copy {
"result": {
"knowledgeBase": {
"id": "YOUR_DOCUMENT_ID",
"properties": {},
}
},
"errors": null
}
Knowledge Base Toggle Status
POST
https://backend-ja.alli.ai/webapi/toggle_documents
この API を使用することで、多くのドキュメントのステータスを一度に変更できます。
Request Body
200
次の JSON 形式で結果を取得します。
KnowledgeBases : ステータスが切り替えられたドキュメントのリスト
id: ナレッジベースのID
status: ナレッジベースの新しいステータス (ブール値) true はステータスがオンになっていることを意味します。
Copy {
"result": {
"knowledgeBases": [
{
"id": "YOUR_FIRST_DOCUMENT_ID",
"status": true or false
},
{
"id": "YOUR_SECOND_DOCUMENT_ID",
"status": true or false
}
]
},
"errors": null
}
Request Example
YOUR API KEYを自身のプロジェクトのAPIキーに変更する必要があります。APIキーの取得 をご参照ください。
Copy curl -X 'POST'
-H 'API-KEY: YOUR_API_KEY'
-d '{
"ids":[YOUR_FIRST_DOCUMENT_ID,
YOUR_SECOND_DOCUMENT_ID, ETC],
"use": true
}'
https://backend-ja.alli.ai/webapi/toggle_documents
Response Example
Copy {
"result": {
"knowledgeBases": [
{
"id": "YOUR_FIRST_DOCUMENT_ID",
"status": true
},
{
"id": "YOUR_SECOND_DOCUMENT_ID",
"status": false
}
]
},
"errors": null
}
Knowledge Base Auto Hashtag (Classification)
POST
https://backend-ja.alli.ai/webapi/kb_auto_hashtag
このAPIを使用すると、ドキュメントの分類キーワードを含むハッシュタグリストを取得できます。
Request Body
200
次のJSON形式で結果が取得できます。
updated:
id : ハッシュタグに対応するドキュメントのID。
autoHashtags: Documentに対して自動生成されたハッシュタグのリストを含むJSONオブジェクトの配列。
state: エージェントが自動生成されたハッシュタグを確認したかどうかによる、ハッシュタグの状態。 以下のいずれか:"SUGGESTED", "APPROVED", "DECLINED".
bestConfidence:この自動生成ハッシュタグの信頼度を0から1の数値で表す。
autohashtag:
id: ハッシュタグのID
hashtag: ハッシュタグの文字列値(ダッシュボードに表示される)
Copy {
"result": {
"updated": [
{
"id": "DOCUMENT_ID",
"autoHashtags": [
{
"state": "STATE",
"bestConfidence": NUMBER,
"autoHashtag": {
"id": "KNOWLEDGE_BASE_AUTO_HASHTAG_ID",
"hashtag": "HASHTAG_VALUE"
}
}
]
}
],
"errors": null
},
"errors": null
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Example の項目、Documents FeedbacksのResponse Example の項目をご参照ください。
Copy curl -X GET -d '{"ids": ["S25vd2xlZGdlQmFzZTo1ZmY3Y2U0YzZiNzk4MjM0YTAwNGRkNGE="]}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/knowledge_base_auto_hashtag
Response Example
Copy {
"result": {
"updated": [
{
"id": "S25vd2xlZGdlQmFzZTo1ZmY3Y2U0YzZiNzk4MjM0YTAwNGRkNGE=",
"autoHashtags": [
{
"state": "SUGGESTED",
"bestConfidence": 0.9866862297058105,
"autoHashtag": {
"id": "QXV0b0hhc2h0YWc6NWZmNjk2ZGQyYTZmMjBhZjUxMTY3ZTU1",
"hashtag": "CLASSIFICATION_RESULT"
}
},
{
"state": "SUGGESTED",
"bestConfidence": 0.9445914626121521,
"autoHashtag": {
"id": "QXV0b0hhc2h0YWc6NWZmNjk2ZWYyYTZmMjBhZjUxMTY3ZWQ1",
"hashtag": "CLASSIFICATION_RESULT"
}
}
]
}
],
"errors": null
},
"errors": null
}
Knowledge Base Auto Hashtag Feedback (Classification)
POST
https://backend-ja.alli.ai/webapi/kb_auto_hashtag_feedback
このAPIを使用すると、ドキュメントの分類キーワードを含むハッシュタグリストを取得できます。
Request Body
200
次のJSON形式で結果が取得できます。
result: JSONオブジェクトの配列で、それぞれが自動ハッシュタグに対応します。
id: ハッシュタグのID
state: エージェントからのハッシュタグのフィードバック。"suggested"(提案済み)または"declined"(拒否済み)のいずれかになります。
Copy {
"result": [
{
"id": "KNOWLEDGE_BASE_AUTO_HASHTAG_ID",
"state": "STATE"
},
{
"id": "KNOWLEDGE_BASE_AUTO_HASHTAG_ID_2",
"state": "STATE"
}
]
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。ハッシュタグIDに応じて置き換えてください。ハッシュタグIDの取得については、「ナレッジベースの自動ハッシュタグ(分類)」 セクションをご覧ください。
Copy curl -X POST -d '{
"autoHashtagFeedbacks": [
{"id": "HASHTAG_ID_1", "state": "approved"},
{"id": "HASHTAG_ID_2", "state": "declined"}
]
}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend.alli.ai/webapi/kb_auto_hashtag_feedback
Response Example
Copy {
"result": [
{
"id": "S25vd2xlZGdlQmFzZUF1dG9IYXNodGFnOjVmZjhmZmJlYzJkNmUyNjJkOTVlZTQyYg==",
"state": "approved"
},
{
"id": "S25vd2xlZGdlQmFzZUF1dG9IYXNodGFnOjVmZjhmZTdmYzJkNmUyNjJkOTVlZTI5OQ==",
"state": "declined"
}
]
}
Select Answer
POST
https://backend-ja.alli.ai /webapi/faq/select_answer
このAPIを利用することで、特定のQ&Aを顧客が選択したものとして処理することができます。
Path Parameters
Request Body
200 404: Not Found
次のJSON形式で結果が得られます。下記は成功の場合です。
Copy {"result": "Success"}
無効なFAQ IDを記載した場合
Copy {"result": [], "error": "Record does not exist."}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
また、id(FAQ ID)も変更しなければなりません。 FAQ IDの取得については、Search from Q&A を確認してください。
Copy curl -X POST -d '{
"id": "FAQ_ID",
"hashId": "Hash ID from Q&A search result"
}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/faq/select_answer
Response Example
Copy {
"result": "Success"
}
Agent Management
POST
https://backend-ja.alli.ai/webapi/agent_management
このAPIを使用するとプロジェクトからエージェントを作成および削除することが可能です。
登録されるエージェントの権限は「エージェント」権限となります。
Request Body
200 400 404: Not Found
id: 削除/作成されたエージェントのIDです。
status: 「登録」か「削除」かの結果を示します。
Copy {
"result": {
"id" : "QWdlbnQ6NWZkMmFjMzIwODQ4MzY1ZDI4NWFjMGUw",
"status": "deleted"
},
"errors": null
}
作成しようとしているエージェントにすでにメールが登録されている場合。
Copy {
"result": [],
"errors": "Agent with provided email already exists."
}
存在しないエージェントを削除しようとした場合。
Copy {
"result": [],
"errors": "The record does not exist."
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl https://backend-ja.alli.ai/webapi/agent \
-d '{"email": "1234@gmail.com",
"deleteFlag": false,
"password": "Password_4321"}'
"locale": "ja"}' \
-H "Content-Type: application/json" \
-H "API-KEY: YOUR_API_KEY"
Response Example
Copy {
"result": {
"id" : "QWdlbnQ6NWZkMmFjMzIwODQ4MzY1ZDI4NWFjMGUw",
"status": "created"
},
"errors": null
}
Get All hashtags
GET
https://backend-ja.alli.ai/webapi/hashtags
このAPIを利用するとFAQとMRCの両方からすべてのハッシュタグを取得することが可能です。
200
使用回数とともに各ハッシュタグを返します。
Copy {
"result": {
"sample_tag1": 2,
"sample_tag2": 1,
}
}
Request Example
YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得 の項目をご参照ください。
Copy curl -X GET \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/hashtags
Response Example
Copy {
"result": {
"sample_tag1": 2,
"sample_tag2": 1,
}
}
Q&A Query History
GET
https://backend-ja.alli.ai/webapi/faq_histories
REST APIとAlliダッシュボードの両方を介して行われた過去のQ&A検索を返します。
Query Parameters
200
検索結果についてはそれぞれ下記の情報を保有しています。
agent: クエリを実行したエージェントのidです。
question: クエリで実際にされた質問内容です。
answers: クエリに対して提供されるすべての回答です。各回答には、参照されたQ&Aのid、confidence,、effective confidenceが含まれます。
count:表示したクエリの数が返されます。
Copy {
"result": {
"histories": [
{
"agent": {
"id": "QWdlbnQ6NjA0NmMyNWJmNTFjMmVlYjc4Mjg3Zjcy"
},
"question": "What is life?",
"answers": [
{
"faq": {
"id": "RkFROjYwNDZjMmUxM2MzYmQ5MjVmMzgxMGNkOQ=="
},
"effectiveConfidence": 0.9999999999999927,
"confidence": 0.9999999999999927
}
]
}
],
"count": 1
},
"errors": null
}
Request Example
Copy curl -X GET \
-d { "startDate":"2021-02-19","endDate":"2021-02-23", \
"order": "DESC","searchTerm":"life", "limit": 1, "offset": 0 } \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/faq_histories
Response Example
Copy {
"result": {
"histories": [
{
"agent": {
"id": "QWdlbnQ6NjA0NmMyNWJmNTFjMmVlYjc4Mjg3Zjcy"
},
"question": "What is life?",
"answers": [
{
"faq": {
"id": "RkFROjYwNDZjMmUxM2MzYmQ5MjVmMzgxMGNkOQ=="
},
"effectiveConfidence": 0.9999999999999927,
"confidence": 0.9999999999999927
}
]
}
],
"count": 1
},
"errors": null
}
Documents Query History
GET
https://backend-ja.alli.ai/webapi/mrc_histories
REST APIとAlliダッシュボードの両方を介して行われた過去のドキュメント検索を返します。
Query Parameters
200
検索結果についてはそれぞれ下記の情報を保有しています。
agent: クエリを実行したエージェントのidです。
question: クエリで実際にされた質問内容です。
answers: クエリに対して提供されるすべての回答です。各回答には、その回答の参照先として使用されるknowledgeBase(filenameとid)、実際のanswer、answerFormat、ナレッジベースに関連付けられたhashtags、および回答に対してのfeedbackAvailableが含まれます。
カウントフィールドに表示したクエリの数が返されます。
Copy {
"result": {
"histories": [
{
"agent": {
"id": "QWdlbnQ6NWZiNzc5MGIwZjE3Zjc5ZmNiNzVlYzFh"
},
"question": "program memory of c004",
"answers": [
{
"knowledgeBase": {
"id": "S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=",
"fileName": "specification_en.pdf"
},
"answer": "{\"blocks\": [{\"key\": \"kn13\", \"type\": \"unstyled\", \"text\": \"Type capacity program memory program memory - C004, B04KR: 80KB\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"2vjf\", \"text\": \" \", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"45cb\", \"text\": \"— From specification_en.pdf\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 27, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 20, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://staging-download.alli.ai/download_document/UHJvamVjdDo1ZmI3NzkwYjBmMTdmNzlmY2I3NWVjMWM=/S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=\"}}}}",
"answerHash": "6648c76e9be27864557f84ab7822cde8",
"answerFormat": "DRAFTJS",
"hashtags": [],
"feedbackAvailable": true,
"columnFilterValues": []
},
...
{
"knowledgeBase": {
"id": "S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=",
"fileName": "specification_en.pdf"
},
"answer": "{\"blocks\": [{\"key\": \"87us\", \"type\": \"unstyled\", \"text\": \"Type capacity reload memory reload memory - C004, B04KR: 2048KB\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"p0wr\", \"text\": \" \", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"qpau\", \"text\": \"— From specification_en.pdf\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 27, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 20, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://staging-download.alli.ai/download_document/UHJvamVjdDo1ZmI3NzkwYjBmMTdmNzlmY2I3NWVjMWM=/S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=\"}}}}",
"answerHash": "9537b6560701930d079f39ced8be1b3e",
"answerFormat": "DRAFTJS",
"hashtags": [],
"feedbackAvailable": true,
"columnFilterValues": []
}
]
}
],
"count": 1
},
"errors": null
}
Request Example
Copy curl -X GET \
-d { "startDate":"2021-02-19","endDate":"2021-02-23", \
"order": "DESC","searchTerm":"life", "limit": 1, "offset": 0 } \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/mrc_histories
Response Example
Copy {
"result": {
"histories": [
{
"agent": {
"id": "QWdlbnQ6NWZiNzc5MGIwZjE3Zjc5ZmNiNzVlYzFh"
},
"question": "program memory of c004",
"answers": [
{
"knowledgeBase": {
"id": "S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=",
"fileName": "specification_en.pdf"
},
"answer": "{\"blocks\": [{\"key\": \"kn13\", \"type\": \"unstyled\", \"text\": \"Type capacity program memory program memory - C004, B04KR: 80KB\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"2vjf\", \"text\": \" \", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"45cb\", \"text\": \"— From specification_en.pdf\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 27, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 20, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://staging-download.alli.ai/download_document/UHJvamVjdDo1ZmI3NzkwYjBmMTdmNzlmY2I3NWVjMWM=/S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=\"}}}}",
"answerHash": "6648c76e9be27864557f84ab7822cde8",
"answerFormat": "DRAFTJS",
"hashtags": [],
"feedbackAvailable": true,
"columnFilterValues": []
},
...
{
"knowledgeBase": {
"id": "S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=",
"fileName": "specification_en.pdf"
},
"answer": "{\"blocks\": [{\"key\": \"87us\", \"type\": \"unstyled\", \"text\": \"Type capacity reload memory reload memory - C004, B04KR: 2048KB\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"p0wr\", \"text\": \" \", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [], \"entityRanges\": [], \"data\": {}}, {\"key\": \"qpau\", \"text\": \"— From specification_en.pdf\", \"type\": \"unstyled\", \"depth\": 0, \"inlineStyleRanges\": [{\"offset\": 0, \"length\": 27, \"style\": \"ITALIC\"}], \"entityRanges\": [{\"offset\": 7, \"length\": 20, \"key\": 0}], \"data\": {}}], \"entityMap\": {\"0\": {\"type\": \"LINK\", \"mutability\": \"MUTABLE\", \"data\": {\"url\": \"https://staging-download.alli.ai/download_document/UHJvamVjdDo1ZmI3NzkwYjBmMTdmNzlmY2I3NWVjMWM=/S25vd2xlZGdlQmFzZTo2MDUyODM0ODFiYzgxNDcwZTEzNGRjNDQ=\"}}}}",
"answerHash": "9537b6560701930d079f39ced8be1b3e",
"answerFormat": "DRAFTJS",
"hashtags": [],
"feedbackAvailable": true,
"columnFilterValues": []
}
]
}
],
"count": 1
},
"errors": null
}
View User Information
GET
https://backend-ja.alli.ai/webapi/users
このAPIを利用すると、ユーザーのOWN-USER-ID、CUSTOMER GROUP、およびメールアドレスが確認できます。
Query Parameters
200
下記のJSON形式で結果が得られます。
Copy {
"result": [
{
"id": "1"
"email": "example_1@email.com",
"customerGroup": {
"id": "B3D0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OA==",
"value": "IT",
}
},
{
"id": "2"
"email": "example_2@email.com",
"customerGroup": {
"id": "X2F0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OC==",
"value": "QA",
}
}
],
"totalCount": 10
"count": 2
}
Request Example
Copy curl -L -X GET 'https://backend-ja.alli.ai/webapi/users' \
-H 'API-KEY: YOUR_API_KEY'
Response Example
Copy {
"result": [
{
"id": "1"
"email": "example_1@email.com",
"customerGroup": {
"id": "B3D0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OA==",
"value": "IT",
}
},
{
"id": "2"
"email": "example_2@email.com",
"customerGroup": {
"id": "X2F0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5ZDIxMTU5NDMwZDY1OC==",
"value": "QA",
}
}
],
"totalCount": 10
"count": 2
}
View Individual User Information
GET
https://backend-ja.alli.ai/webapi/user/{OWN-USER-ID}
このAPIを利用すると、ユーザーのOWN-USER-ID、CUSTOMER GROUP、およびメールアドレスが確認できます。
Query Parameters
200
下記のJSON形式で結果が得られます。
Copy {
"result": {
"id": "123"
"email": "abc@email.com",
"customerGroup": {
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5sXIxMTU5NDMwZDY1OA==",
"value": "IT",
}
}
}
Request Example
{OWN-USER-ID}を自分のユーザーIDで置き換えてください。ユーザー情報を取得するAPIを使用して、すべてのユーザーのIDを取得することができます。
Copy curl -L -X GET 'https://backend-ja.alli.ai/webapi/user/{OWN-USER-ID}' \
-H 'API-KEY: YOUR_API_KEY'
Response Example
Copy {
"result": {
"id": "123"
"email": "abc@email.com",
"customerGroup": {
"id": "Q2F0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5sXIxMTU5NDMwZDY1OA==",
"value": "IT",
}
}
}
Update User Information
POST
https://backend-ja.alli.ai/webapi/user/{OWN-USER-ID}/customer_variables/{variableName}
このAPIを利用すると、個々のユーザーのOWN-USER-ID、CUSTOMER GROUPが更新できます。
Query Parameters
Request Body
200
下記のJSON形式で結果が得られます。
Copy {
"result": {
"id": "123"
"email": "sdf@sdf.ca",
"customerGroup": {
"id": "123",
"value": "123",
}
}
}
Request Example
{variableName} と {id} を該当する値で置き換えてください。{variableName} には更新したい項目 ("CUSTOMER_GROUP" または "CUSTOMER_ID") を入力し、{id} には変更したい ID の値を入力してください。必要な ID は、ユーザー情報を取得するための API を使用して確認できます。
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/user/{OWN-USER-ID}/customer_variable/{variableName}' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"id": "{id}"
}'
Response Example
Copy {
"result": {
"name": "CUSTOMER_ID",
"type": "STRING"
"id": "60091782",
"value": "60091782"
}
}
CUSTOMER GROUP Query
GET
https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_elements
登録されたCUSTOMER GROUPを確認するには、CUSTOMER GROUPのリストを取得するAPIを使用してください。
200
下記のJSON形式で結果が得られます。
Copy {
"result": [
{
"id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOa==",
"value": "IT",
},
{
"id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOb==",
"value": "QA",
},
]
}
Request Example
Copy curl -L -X GET 'https://backend.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_elements' \
-H 'API-KEY: YOUR_API_KEY'
Reaponse Example
Copy {
"result": [
{
"id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOa==",
"value": "IT",
},
{
"id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOb==",
"value": "QA",
},
]
}
Create CUSTOMER GROUP
POST
https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_element
このAPIを利用すると、CUSTOMER GROUPを作成出来ます。
Request Body
200
下記のJSON形式で結果が得られます。
Copy {
"result": {
"id": "category_element_id"
"value": "sample_category_element"
}
}
Request Example{variableName}
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/category_element' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"value": "sample_category_element"
}'
Response Example
Copy {
"result": {
"id": "category_element_id"
"value": "sample_category_element"
}
}
Update CUSTOMER GROUP
POST
https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/category_element/{categoryElementId}
このAPIを利用すると、CUSTOMER GROUPを更新出来ます。
Path Parameters
Request Body
200
下記のJSON形式で結果が得られます。
Copy {
"result": {
"id": "category_element_id"
"value": "sample_category_element"
}
}
Request Example
{categoryElementId}をご自身のCUSTOMER GROUPのIDで置き換えてください。CUSTOMER GROUPクエリAPIを使用して取得することができます。
Copy curl -L -X POST 'https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_element/{categoryElementId}' \
-H 'Content-Type: application/json' \
-H 'API-KEY: YOUR_API_KEY' \
-d '{
"value": "sample_category_element"
}'
Response Example
Copy {
"result": {
"id": "category_element_id"
"value": "sample_category_element"
}
}
Delete CUSTOMER GROUP
DELETE
https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/category_element/{categoryElementId}
このAPIを利用すると、CUSTOMER GROUPを更新出来ます。
Path Parameters
Request Example
{categoryElementId}をご自身のCUSTOMER GROUPのIDで置き換えてください。CUSTOMER GROUPクエリAPIを使用して取得することができます。
Copy curl -L -X DELETE 'https://backend-ja.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_element/{categoryElementId}' \
-H 'API-KEY: YOUR_API_KEY'
Response Example
API Classifications
請求目的のAPI分類とマッピングを表示します。
こちら からExcelファイルをダウンロードしてください。