チャモJavaScript API機能は、JavaScriptからチャモの情報を制御する機能です。
顧客情報との連携や、チャモを使った高度な開発などを簡単に行うことができます。

ご利用にあたっては管理画面の「高度な設定」よりAPI機能を有効化していただく必要がございます。

なお、チャモの読み込み前にAPIを呼び出しても動作しませんので、多くのAPIは

_chaq.onChamoLoad = function() {
    // チャモAPI
};

といった形で記述して頂く必要があります。使用例もご参照ください。

ユーザー名を設定

ユーザー名を設定します。設定されたユーザー名は管理画面側で確認可能です。

$chamo.api.user.setName(name);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.setName('山田様');
};

メールアドレスを設定

メールアドレスを設定します。設定されたメールアドレスは管理画面側で確認可能です。

$chamo.api.user.setEmail(email);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.setEmail('yamada@hogehoge.com');
};

電話番号を設定

電話番号を設定します。設定された電話番号は管理画面側で確認可能です。

$chamo.api.user.setTel(tel);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.setTel('03-1234-5678');
};

顧客IDを設定

顧客IDを設定します。設定された顧客IDは管理画面側で確認可能です。

$chamo.api.user.setCustomerid(customerid);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.setCustomerid('ABC000123');
};

メモを設定

メモを設定します。設定されたメモは管理画面側で確認可能です。

$chamo.api.user.setMemo(memo);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.setMemo('会員登録済み');
};

既存のメモに内容を追加

メモに内容を追加します。

$chamo.api.user.appendMemo(memo);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.appendMemo('購入済み');
};

ユーザー情報を設定

ユーザー情報をまとめて設定します。

$chamo.api.user.set(info);
// infoに設定できるのは以下の値です。

{
    visitorName       : name,
    visitorEmail      : email,
    visitorTel        : tel,
    visitorCustomerid : customerid,
    visitorMemo       : memo
}

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.user.set({
        visitorName       : '山田',
        visitorCustomerid : 'ABC12345',
        visitorMemo       : '購入済みです'
    });
};

これは下記と同じです。

_chaq.onChamoLoad = function() {
    $chamo.api.user.setName('山田');
    $chamo.api.user.setCustomerid('ABC12345');
    $chamo.api.user.setMemo('購入済みです');    
};

タグを追加

タグを追加します。引数には、文字列(String)または配列(Array)を取ります。

$chamo.api.chat.addTags(tags);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.chat.addTags('メニュー表示済');
};

以下のように配列を引数にとることも可能です。

_chaq.onChamoLoad = function() {
    $chamo.api.chat.addTags(['メニュー表示済','回答済']);
};

タグを削除

タグを削除します。

$chamo.api.chat.removeTags(tags);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.chat.removeTags('メニュー表示済');
};

以下のように配列を引数にとることも可能です。

_chaq.onChamoLoad = function() {
    $chamo.api.chat.removeTags(['メニュー表示済','回答済']);
};

現在設定されているタグを取得

現在設定されているタグを取得します。

$chamo.api.chat.getTags();

使用例

_chaq.onChamoLoad = function() {
    var myTags = $chamo.api.chat.getTags();
    console.log(myTags);
};

アカウントの状態を取得

チャット受付中(online)か、フォーム表示(offline)かを取得します。

$chamo.api.chat.getState();

使用例

_chaq.onChamoLoad = function() {
    var state = $chamo.api.chat.getState();
    if (state === 'online') {
        alert('現在、チャット受付中です。');
    } else if (state === 'offline') {
        alert('現在、フォーム表示中です。');
    }
};

未読メッセージ件数を取得

ユーザーが未読のメッセージ数を取得します。

管理画面「チャットデザイン設定」のその他の設定で、メッセージ受信時、自動でチャットウィンドウを開かない設定になっている時のみ有効です。

$chamo.api.chat.getUnreadNum();

使用例

_chaq.onChamoLoad = function() {
    var num = $chamo.api.chat.getUnreadNum();
    alert('未読メッセージが' + num + '件あります。');
};

チャモを非表示にする

$chamo.api.widget.hide();
<button class="btn btn-primary" onclick="$chamo.api.widget.hide();">非表示</button>

チャモを表示する

$chamo.api.widget.show();
<button class="btn btn-primary" onclick="$chamo.api.widget.show();">表示</button>

チャモを拡大する

チャモが非表示になっている場合は、表示も行います。

$chamo.api.widget.expand();
<button class="btn btn-primary" onclick="$chamo.api.widget.expand();">拡大</button>

チャモを縮小する

チャモが非表示になっている場合は、表示も行います。

$chamo.api.widget.minimize();
<button class="btn btn-primary" onclick="$chamo.api.widget.minimize();">最小化</button>

オペレーターからのメッセージを送信する

管理画面上では「API送信」と表示されます。

[+] を使うことで選択肢を送信することも可能です。

$chamo.api.operator.sendMessage(message);
<button class="btn btn-primary" onclick="$chamo.api.operator.sendMessage('APIからのメッセージ');">メッセージ送信</button>

<button class="btn btn-primary" onclick="$chamo.api.operator.sendMessage('選択肢の送信[+]選択肢1[+]選択肢2');">メッセージ送信</button>

ユーザーからメッセージがあった際のコールバック関数を追加

ユーザーからメッセージがあった際のコールバック関数を追加します。

コールバック関数にはメッセージ内容が渡されます。

$chamo.api.event.onUserSend( callback, name);

使用例

_chaq.onChamoLoad = function() {
    $chamo.api.event.onUserSend(function(mes) {
    	console.log(mes);
    },'myEvent');
};