Cognitive Search API

Cognitive Search APIは、ユーザーの自由入力による問い合わせや質問に対して、機械読解(MRC)APIで該当のドキュメントから直接回答を探し出してユーザーに提示します。

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を用います。 エージェントのメール情報は、ダッシュボードの[設定] > [エージェント メニュー]で確認できます。以下に例を示します。

-H 'AGENT-EMAIL: agent_1@email.com'

ユーザー情報 ユーザー情報の場合はリクエスト ヘッダーにOWN-USER-ID を用います。ユーザー ID は新しいものでも既存のものでもかまいません。新しいユーザー ID が提供された場合、Alli はその ID で新しいユーザーを作成します。同じOWN-USER-IDのヘッダーを持つAPI 呼び出しについては、同じユーザーからの呼び出しと見なされます。

同時にユーザーのメール アドレスを更新する場合は、USER-EMAILのリクエスト ヘッダーでメール アドレスを指定できます。以下に例を示します。

-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メソッドを使用した場合、以下のような形式のエラーメッセージが戻ります。

{“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ペアを検索して提示します。

Headers

Request Body

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>設定メニューから変更することができます。

{"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キーの取得の項目をご参照ください。

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

{"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は、複雑なテーブルなどが含まれたドキュメントからもユーザーの質問に対する回答を抽出することができます。

Headers

Request Body

検索結果は、以下のような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のダッシュボードで設定されている場合)  検索結果の数と閾値は、ダッシュボードの設定に従います。ドキュメント > 設定で設定を確認してください。

 {
    "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キーの取得の項目をご参照ください。

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

{
  "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の詳細を取得することができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

question: 対象となるQ&Aの質問です。

answer : 対象となるQ&Aの回答です。

id: 対象となるFAQのIDです。Requestで使用したものと同じ値です。

userFeedback: 対象となるQ&Aに対するユーザーフィードバックです。

agentFeedback: 対象となるQ&Aに対するエージェントフィードバックです。

lastUpdatedDate, createdDate: 対象となるQ&Aの更新日と作成日です。

hashtags: 対象となる質問に付与された全てのハッシュタグです。

{
    "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キーの取得の項目をご参照ください。

curl -X GET \
-d '{"id": "iuHjHBhjHGbhjm==", "format": "text"}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/single_faq

Response Example

{
    "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を利用すれば特定のドキュメントの詳細を取得することができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

id:ドキュメントのidです。

documentName:ドキュメントファイルの名称です。

createDate:ドキュメントがアップロードされた日付です。

hashtags:ドキュメントに紐づけられたハッシュタグです。

agentFeedback:ドキュメントに対してエージェントからフィードバックされたgood/Badそれぞれの数です。

userFeedback:ドキュメントに対してユーザーからフィードバックされたgood/Badそれぞれの数です。

      "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キーの取得の項目をご参照ください。

curl -X GET \
-d '{"id": "S25vd2xlZGdlQmFzZTo1ZjMzODFkZmNhYWJjYWUyMjkzYjFhY2U="}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/single_document

Response Example

{"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ペアに与えられるフィードバックリストを得ることができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

query: 以下のQ&Aに対し、フィードバック情報を持っている検索クエリです。

feedbacks: 当該クエリに従属したフィードバック情報です。

faq_idとpositiveを含みます。

faqId: 当該クエリに対し、フィードバックが与えられたQ&AのIDです。

positive: true あるいは false です。trueはQ&Aに対するポジティブなフィルタリング、falseはネガティブなフィードバックを意味します。

count: リスト化したフィードバックの数です。

{
  "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を指定しない場合、すべてのフィードバックが返されます。

curl -X GET \
-d '{"offset": 0, "limit": 10}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/faq_feedbacks

Response Example

{
  "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にフィードバックを与えたり、与えられたフィードバックを削除することができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

id: フィードバック情報を与えたり、取り消したQ&AのIDです。

Requestで使用したものと同じ情報です。

positiveCount: Requestの処理後のポジティブなフィードバック数の合計です。

negativeCount: Requestの処理後のネガティブなフィードバック数の合計です。

{
    "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の項目をご参照ください。

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

{
    "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チャットボットを使用して回答に対して適切か不適切をユーザーが送信するものです)。

Headers

Request Body

対象のFAQに対する現在のユーザーフィードバック(positiveCountとnegativeCountの両方)を返します。

{
    "result": {
        "userFeedback": {
            "positiveCount": 1,
            "negativeCount": 0
        }
    }
}

Request Example

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

{
    "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 をアップロードできます。

Headers

Request Body

result:アップロード成功時にsuccessと表示します。

notUploaded:質問のいずれかがアップロードされていないか、既存のQ&Aが更新されていない場合、詳細がここにリストされます。

question: アップロードされていないまたは更新されていないQ&AのQの部分になります。state:Q&Aが「類似の質問」の内容の重複によりアップロードされていない場合は「dup」、同じ質問内容により既存のQ&Aが更新された場合は「up」と表示されます。

{
    "result": "success",
    "notUploaded": [
        {
            "question": "QUESTION_1",
            "state": "dup"
        },
        {
            "question": "QUESTION_2",
            "state": "up"
        }
    ]
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

curl -F 'file=@/location/to/your_file' 
\-H 'API-KEY: YOUR_API_KEY'
https://backend-ja.alli.ai/webapi/upload_faq_file

Response Example

{
    "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を更新することができます。

Headers

Request Body

status: 登録されたQ&Aのステータスです。「created」とはQ&Aが新しく登録されたことを指します。また、「updated」は既存のQ&Aが新しい回答で更新されたことを指します。

id: 登録されたQ&AのIDを指します。

{
    "result": {
        "status": "created",
        "id": "Q&A_ID"
    },
    "errors": null
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

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

{
    "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

status:Q&Aが正常に削除された場合は「deleted」となります。

{
    "result": {
        "status": "deleted"
    },
    "errors": null
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

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

{
    "result": {
        "status": "deleted"
    },
    "errors": null
}

List Q&As

GET https://backend-ja.alli.ai/webapi/faqs

このAPIを使用することで、ナレッジベースのQ&Aを一覧で取得することができます。

Headers

Request Body

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が作成された日付。

{
    "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キーの取得の項目をご参照ください。

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

{
    "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を利用すれば、ユーザーからの質問の中で回答されていない質問、つまり、「未回答質問」のリストを得ることができます。

Headers

Request Body

検索結果は、以下のような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です。ヒストリー情報はユーザーが当該質問をした時のログ情報です。

{
	"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キーの取得の項目をご参照ください。

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

{
  "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

未回答の質問リストに未回答の質問を新たに登録します。

Headers

Request Body

結果は次の JSON 形式で取得されます。

id: 登録された未回答の質問のID。

{
    "result": {
        "candidates": [
            {
                "id": "CANDIDATE_ID_1"
            },
            {
                "id": "CANDIDATE_ID_2"
            }
        ]
    },
    "errors": null
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

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

{
    "result": {
        "candidates": [
            {
                "id": "RkFRQ2FuZGlkYXRlOjVmOGE1ZDA0ODgxNzc0OWNjMWUwMzRiNg=="
            },
            {
                "id": "iGBiuGIGIugBIGBIugBIuBGiHBiJUhbhIBgIbKHJBJCYUBLHKGJfBJbIb=="
            }
        ]
    },
    "errors": null
}

Documents Feedbacks

GET https://backend-ja.alli.ai/webapi/mrc_feedbacks

このAPIを使用すれば、検索クエリごとにドキュメントから抽出された回答に与えられるフィードバックリストを得ることができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

query: 以下の回答が抽出された検索クエリです。

documentId: 回答を抽出したドキュメントのIDです。

answer: 当該クエリに対してドキュメントから抽出された回答の内容です。

answerHash: 当該クエリに対してドキュメントから抽出された回答に与えられるIDの値です。Documents検索をした時、クエリと検索結果のペアに与えられる値であり、上記のPOST Documents APIを利用して得られるものと同じ値です。

positive: true あるいは false です。trueは当該回答に対するポジティブなフィードバック、falseはネガティブなフィードバックを意味します。

count: リスト化したフィードバック件数の合計です。

{
  "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を指定してください。

curl -X GET \
-d '{"offset": 0, "limit": 10}' \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/mrc_feedbacks

Response Example

{
  "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を使用すれば、検索クエリによって抽出された検索結果に対してフィードバックをしたり、削除することができます。

Headers

Request Body

検索結果は、以下のようなJSON形式で戻ります。

positivecount: Requestの処理後のポジティブなフィードバック数の合計です。

negativecount: Requestの処理後のネガティブなフィードバック数の合計です。

{
    "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の項目をご参照ください。

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

{
    "result": {
        "mrcFeedbackSearchResult": {
            "agentFeedback": {
                "positiveCount": 2,
                "negativeCount": 1
            }
        }
    },
    "errors": null
}

Documents Search User Feedback

POST https://backend-ja.alli.ai/webapi/mrc/user_feedback

このAPIを利用すると、ドキュメント検索の結果に対してユーザーフィードバックを登録することができます。

Headers

Request Body

変更後のユーザーフィードバックのpositiveCountとnegativeCountをレスポンスとして返します。

{
    "result": {
        "userFeedback": {
            "positiveCount": 1,
            "negativeCount": 0
        }
    }
}

Request Example

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

{
    "result": {
        "userFeedback": {
            "positiveCount": 1,
            "negativeCount": 0
        }
    }
}

Document Upload APIs

POST https://backend-ja.alli.ai/webapi/upload_file

このAPIを利用することで、Cognitive Searchで検索対象となるファイルをローカルの保存場所からアップロードすることができます。アップロード可能なファイル形式は下記となります。 ファイル形式:PDF、TXT、MS Word、PowerPoint、Excel、HTM、HTML 外部リンクが含まれるHTMLファイルをアップロードするには、アップロードする前に関連するリンク先のHTMLも含め、zipファイルに圧縮の上、アップロードください。

Headers

Request Body

次の JSON 形式で結果を取得します。

{
    "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キーの取得の項目をご参照ください。

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

{
    "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と同じです。

Headers

Request Body

次の JSON 形式で結果を取得します。

id:アップロードしたファイルのIDです。

fileName: アップロードしたファイルのファイル名です。

hashtags: アップロードしたファイルに付与されるハッシュタグの配列です。

footer: アップロードされたファイルに追加されたフッター(ソース情報)。これはデフォルトのファイル名かfooterTitleとfooterUrlにより設定された内容となります。

folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。

editor: ドキュメントに編集権限を持つエージェントのメールアドレスのリストです。

viewer: ドキュメントに閲覧権限を持つエージェントのメールアドレスのリストです。

{
    "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キーの取得の項目をご参照ください。

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

{
    "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を使用すれば、アップロードしたドキュメントのステータスを確認することができます。

Headers

Request Body

次の JSON 形式で結果を取得します。

id:チェックしたドキュメントのIDです。

status: アップロードしたドキュメントの状態です。可能な値については、以下の応答例をご覧ください。

{"result": 
    {"id": "YOUR DOCUMENT ID", 
    "status": "initializing"}}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Exampleの項目、Documents FeedbacksのResponse Exampleの項目をご参照ください。

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

{"result": 
    {"id": "S25vd2xlZGdlQmFzZTo1ZWM1YmJiZTczNmUxNmM0NDRjZDI2ZGM", 
    "status": "initializing"}}

Statusは、以下のうち一つの値を持ちます。

'initializing : preparing for the processing or waiting
'converting': converting the files
'conversion_complete'
'conversion_fail'
'parsing': parsing for retrievers
'parsing_fail'
'completed': parsing and embedding are done

Documentの削除

POST https://backend-ja.alli.ai/webapi/delete_file

このAPIを使用すれば、アップロードしたドキュメントを削除することができます。複数のドキュメントを一括削除することもできます。

Headers

Request Body

Result:削除に成功した場合はtrue、失敗した場合はfalseに表示されます。

errors:エラーメッセージが表示されます。

{
    "result": {
        "ok": BOOLEAN
    },
    "errors": null
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。また、DOCUMENT_IDを該当するIDに変更しなければなりません。DocumentsのResponse Exampleの項目、Documents FeedbacksのResponse Exampleの項目をご参照ください。

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

{
    "result": {
        "ok": true,
    },
    "errors": null
}

Preview Documents

GET https://backend-ja.alli.ai/webapi/knowledge_base_preview

このAPIを使用すると、アップロードされたドキュメントを参照できます。

Query Parameters

Headers

次のJSON形式で結果を取得できます。

id: リストされたドキュメントのIDです。

fileName: リストされたドキュメントのファイル名です。

hashtags: ドキュメントに追加されたハッシュタグです。

autoHashtags: ドキュメントに自動生成されたハッシュタグです。

downloadUrl: ドキュメントをダウンロードするためのURLです。

footerUrl: ドキュメントのフッターに含まれるURLです。

folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにはフォルダの名前が返されます。

editor: ドキュメントへの編集アクセス権を持つエージェントのメールアドレスのリストです。

viewer: ドキュメントへの閲覧アクセス権を持つエージェントのメールアドレスのリストです。

{
  "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の項目をご参照ください。

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となりますので、ご注意ください。

{
  "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

Headers

次のJSON形式で結果を取得できます。

id: リストされたドキュメントのIDです。

fileName: リストされたドキュメントのファイル名です。

hashtags: ドキュメントに追加されたハッシュタグです。

autoHashtags: ドキュメントに自動生成されたハッシュタグです。

downloadUrl: ドキュメントのダウンロードURLです。

footerUrl: ドキュメントのフッターに含まれるURLです。

folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。

editor: ドキュメントに編集者権限を持つエージェントのメールアドレスのリストです。

viewer: ドキュメントに閲覧者権限を持つエージェントのメールアドレスのリストです。

count:条件に該当するドキュメントの総数です。

{
  "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キーの取得をご参照ください。

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

{
  "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
}

GET https://backend-ja.alli.ai/webapi/search_document_by_title

このAPIを使用すると、タイトルに基づいてナレッジベースを検索することができます。この検索は、キーワードではなくトレーニングされたベクトルによって行われます。ナレッジベースの「ドキュメント」メニューでモデルをトレーニングしていることを確認してください。

Query Parameters

Headers

次のJSON形式で結果を取得できます。

id: ドキュメントのIDです。

fileName: ドキュメントのファイル名です。

hashtags: ドキュメントに追加されたハッシュタグです。

score: 検索結果の信頼度スコアです。

folder: ドキュメントデータベースのフォルダー内から回答が見つかった場合、ここにフォルダー名が返されます。

editor: ドキュメントに編集アクセス権限を持つエージェントのメールアドレスのリストです。

viewer: ドキュメントに閲覧アクセス権限を持つエージェントのメールアドレスのリストです。

{
  "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キーの取得をご参照ください。

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

{
  "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の項目をご参照ください。

Headers

Request Body

次のJSON形式で結果を取得できます。

id: ファイル名が変更されたドキュメントのIDです。

filename: ドキュメントの新しいファイル名です。

{
    "result": {
        "id": "DOCUMENT_ID",
        "filename": "FILENAME"
    }
}

Request Example

YOUR API KEYを自身のプロジェクトのAPIキーに変更する必要があります。APIキーの取得をご参照ください。

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

{
    "result": {
        "id": "DOCUMENT_ID",
        "filename": "policy.docx"
    }
}

Update Documents

POST https://backend-ja.alli.ai/webapi/update_document

このAPIを利用することで、ドキュメントのハッシュタグ、フッタータイトル、およびフッタータイトルのリンクを更新することができます。

Headers

Request Body

次の JSON 形式で結果を取得します。

id: ハッシュタグが対応するドキュメントのIDです。

hashtags: 更新後のドキュメントに添付されたハッシュタグです。

footer: アップロードされたドキュメントに追加されたフッター(ソース)情報です。デフォルトの情報またはfooterTitleおよびfooterUrlパラメータで指定された情報が含まれます。

folder: ドキュメントデータベースのフォルダから回答が見つかった場合、ここにフォルダ名が返されます。

editor: ドキュメントに編集アクセス権を持つエージェントのメールアドレスのリストです。

viewer: ドキュメントに閲覧アクセス権を持つエージェントのメールアドレスのリストです。

{
    "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の項目をご参照ください。

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

{
    "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パラメータを使用してください。

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}
    }'

その後、以下のようなレスポンスを受け取ります。

{
    "result": {
        "knowledgeBase": {
            "id": "YOUR_DOCUMENT_ID",
            "properties": {
                "testKey": "testValue",
                "testNumVar": 1234
            },
        }
    },
    "errors": null
}

Get Custom Properties

特定のドキュメントのカスタムプロパティのリストを取得したい場合は、「Get Single Document」APIを使用することができます。

Update Customer Properties

ドキュメントのカスタムプロパティを更新したい場合は、単純にプロパティの値を更新してください。既存のキーを送信しない場合、そのプロパティは削除されますのでご注意ください。

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"}
    }'

その後、以下のようなレスポンスを受け取ります。

{
    "result": {
        "knowledgeBase": {
            "id": "YOUR_DOCUMENT_ID",
            "properties": {
                "testKey": "newTestValue"
            },
        }
    },
    "errors": null
}

Delete Custom Properties

ドキュメントのカスタムプロパティをすべてまたは一部削除したい場合は、特定のプロパティに null 値を渡すことができます。

{
    "result": {
        "knowledgeBase": {
            "id": "YOUR_DOCUMENT_ID",
            "properties": null,
        }
    },
    "errors": null
}

その後、以下のようなレスポンスを受け取ります。

{
    "result": {
        "knowledgeBase": {
            "id": "YOUR_DOCUMENT_ID",
            "properties": {},
        }
    },
    "errors": null
}

Knowledge Base Toggle Status

POST https://backend-ja.alli.ai/webapi/toggle_documents

この API を使用することで、多くのドキュメントのステータスを一度に変更できます。

Headers

Request Body

次の JSON 形式で結果を取得します。

KnowledgeBases : ステータスが切り替えられたドキュメントのリスト

id: ナレッジベースのID

status: ナレッジベースの新しいステータス (ブール値) true はステータスがオンになっていることを意味します。

{
  "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キーの取得をご参照ください。

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

{
  "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を使用すると、ドキュメントの分類キーワードを含むハッシュタグリストを取得できます。

Headers

Request Body

次のJSON形式で結果が取得できます。

updated:

id : ハッシュタグに対応するドキュメントのID。

autoHashtags: Documentに対して自動生成されたハッシュタグのリストを含むJSONオブジェクトの配列。

state: エージェントが自動生成されたハッシュタグを確認したかどうかによる、ハッシュタグの状態。 以下のいずれか:"SUGGESTED", "APPROVED", "DECLINED".

bestConfidence:この自動生成ハッシュタグの信頼度を0から1の数値で表す。

autohashtag:

id: ハッシュタグのID

hashtag: ハッシュタグの文字列値(ダッシュボードに表示される)

{
    "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の項目をご参照ください。

curl -X GET -d '{"ids": ["S25vd2xlZGdlQmFzZTo1ZmY3Y2U0YzZiNzk4MjM0YTAwNGRkNGE="]}' \
-H 'API-KEY: YOUR_API_KEY' \
https://backend-ja.alli.ai/webapi/knowledge_base_auto_hashtag

Response Example

{
    "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を使用すると、ドキュメントの分類キーワードを含むハッシュタグリストを取得できます。

Headers

Request Body

次のJSON形式で結果が取得できます。

result: JSONオブジェクトの配列で、それぞれが自動ハッシュタグに対応します。

id: ハッシュタグのID

state: エージェントからのハッシュタグのフィードバック。"suggested"(提案済み)または"declined"(拒否済み)のいずれかになります。

{
    "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の取得については、「ナレッジベースの自動ハッシュタグ(分類)」セクションをご覧ください。

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

{
    "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

次のJSON形式で結果が得られます。下記は成功の場合です。

{"result": "Success"}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。 また、id(FAQ ID)も変更しなければなりません。 FAQ IDの取得については、Search from Q&Aを確認してください。

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

{
    "result": "Success"
}

Agent Management

POST https://backend-ja.alli.ai/webapi/agent_management

このAPIを使用するとプロジェクトからエージェントを作成および削除することが可能です。 登録されるエージェントの権限は「エージェント」権限となります。

Headers

Request Body

id: 削除/作成されたエージェントのIDです。

status: 「登録」か「削除」かの結果を示します。

{
    "result": {
        "id" : "QWdlbnQ6NWZkMmFjMzIwODQ4MzY1ZDI4NWFjMGUw",
        "status": "deleted" 
    },
    "errors": null
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

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

{
    "result": {
        "id" : "QWdlbnQ6NWZkMmFjMzIwODQ4MzY1ZDI4NWFjMGUw",
        "status": "created" 
    },
    "errors": null
}

Get All hashtags

GET https://backend-ja.alli.ai/webapi/hashtags

このAPIを利用するとFAQとMRCの両方からすべてのハッシュタグを取得することが可能です。

Headers

使用回数とともに各ハッシュタグを返します。

{
  "result": {
    "sample_tag1": 2,
   "sample_tag2": 1,
  }
}

Request Example

YOUR API KEYをプロジェクトのAPIキーに変更しなければなりません。APIキーの取得の項目をご参照ください。

curl -X GET \
-H "API-KEY: YOUR API KEY" \
https://backend-ja.alli.ai/webapi/hashtags

Response Example

{
  "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

Headers

検索結果についてはそれぞれ下記の情報を保有しています。

agent: クエリを実行したエージェントのidです。

question: クエリで実際にされた質問内容です。

answers: クエリに対して提供されるすべての回答です。各回答には、参照されたQ&Aのid、confidence,、effective confidenceが含まれます。

count:表示したクエリの数が返されます。

{
    "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

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

{
    "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

Headers

検索結果についてはそれぞれ下記の情報を保有しています。

agent: クエリを実行したエージェントのidです。

question: クエリで実際にされた質問内容です。

answers: クエリに対して提供されるすべての回答です。各回答には、その回答の参照先として使用されるknowledgeBase(filenameとid)、実際のanswer、answerFormat、ナレッジベースに関連付けられたhashtags、および回答に対してのfeedbackAvailableが含まれます。

カウントフィールドに表示したクエリの数が返されます。

{
    "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

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

{
    "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

Headers

下記のJSON形式で結果が得られます。

{
  "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

curl -L -X GET 'https://backend-ja.alli.ai/webapi/users' \
-H 'API-KEY: YOUR_API_KEY'

Response Example

{
  "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

Headers

下記のJSON形式で結果が得られます。

{
  "result": {
    "id": "123"
    "email": "abc@email.com",
    "customerGroup": {
      "id": "Q2F0ZWdvcnlFbGVtZW50OjYzNzcyZDY1NWM5sXIxMTU5NDMwZDY1OA==",
      "value": "IT",
    }
  }
}

Request Example

{OWN-USER-ID}を自分のユーザーIDで置き換えてください。ユーザー情報を取得するAPIを使用して、すべてのユーザーのIDを取得することができます。

curl -L -X GET 'https://backend-ja.alli.ai/webapi/user/{OWN-USER-ID}' \
-H 'API-KEY: YOUR_API_KEY'

Response Example

{
  "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

Headers

Request Body

下記のJSON形式で結果が得られます。

{
  "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 を使用して確認できます。

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

{
  "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を使用してください。

Headers

下記のJSON形式で結果が得られます。

{
  "result": [
    {
      "id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOa==",
      "value": "IT",
    },
    {
      "id": "RkFROjVkZDQ4ZWFhN2E4ZGM2M2Y4OGNhZmUzOb==",
      "value": "QA",
    },
  ]
}

Request Example

curl -L -X GET 'https://backend.alli.ai/webapi/customer_variable/{variableName}/customer_group/category_elements' \
-H 'API-KEY: YOUR_API_KEY'

Reaponse Example

{
  "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を作成出来ます。

Headers

Request Body

下記のJSON形式で結果が得られます。

{
  "result": {
    "id": "category_element_id"
    "value": "sample_category_element"
  }
}

Request Example{variableName}

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

{
  "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

Headers

Request Body

下記のJSON形式で結果が得られます。

{
  "result": {
    "id": "category_element_id"
    "value": "sample_category_element"
  }
}

Request Example

{categoryElementId}をご自身のCUSTOMER GROUPのIDで置き換えてください。CUSTOMER GROUPクエリAPIを使用して取得することができます。

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

{
  "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

Headers

下記のJSON形式で結果が得られます。

{}

Request Example

{categoryElementId}をご自身のCUSTOMER GROUPのIDで置き換えてください。CUSTOMER GROUPクエリAPIを使用して取得することができます。

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ファイルをダウンロードしてください。

最終更新