アンケートの回答を KARTE に送る

KARTE には、アンケート集計機能があります。
通常は、アンケート用の接客テンプレートを利用してユーザーの回答内容を KARTE に送信しますが、Widget API を使用してアンケート回答機能を実装することができます。

アンケート回答機能の概要

KARTE のアンケート回答は、アンケート回答イベント(_answer_question)を発生させることで行います。
構造としては、1つのアンケート回答イベントに、複数項目の回答が含まれます。

アンケート回答のためのカスタマイズ

_answer_question を送信するために、下記の widget API を使用してください。

  • addChoiceAnswer
  • addFreeAnswer
  • sendAnswers

順序としては、addChoiceAnsweraddFreeAnswer で各項目の回答を追加したあと、すべての回答終了時に、sendAnswers でKARTEにアンケート回答イベントを送信します。

widget.addChoiceAnswer('1', ['くま', 'ねこ']);
widget.addFreeAnswer('2', 'くまとねこが好きです。');
widget.sendAnswers();

機能の制限

  • 接客サービス詳細画面でのアンケート結果に出力されるのは10問までです。
  • 1つのアクションで、アンケート回答イベント(_answer_question)は1回しか送信できません。
    つまり、アンケート1に対する回答、アンケート2に対する回答のように、回答ごとにイベントを送信することはできません。getAnsweredQuestionIds 等で、回答済の質問の状態を取得してからのイベント送信をおすすめします。
  • 1つの question_id に対する回答としては、choices か free_answers のどちらかしか指定できません。API としては、後から追加した値が優先されます。

注意点

送られるイベントデータは、下記のような形式(スキーマ)になっています。
ただし、こちらのイベントデータを独自に作成した場合、形式が違っていたりした場合に正しくアンケート集計できなくなりますので、上記のAPIをご利用ください。

{
  `${接客サービスID}`: {
    questions: [`${question_id1}`, ...],  // 回答に含まれるquestion_idのリスト
    `question_${question_id1}`: {
      choices: [String],
      free_answer: String
    }
  },
  url: "https://example.com/",
  canonical_url: "https://example.com/"
}