入電した電話番号を顧客管理アプリを検索して登録されている電話番号と一致した場合、
一覧に該当レコードが表示される事は確認できています。
電話システムの会社から提示された連携方法は電話システムの設定に下記URLを設定するURL連携でした。
連携例:https://{sub-domain}.cybozu.com/k/{appId}/?query=電話番号=“入電した電話番号”
改善点1:着信相手が誰かは分かるが、過去の問い合わせ内容などの関連レコードは詳細画面を開かないと確認できなので、最初から詳細画面を開きたい。
改善点2:ブラウザのタブまたはウインドウが着信の度に新規作成されてしまうので、設定などで新規または更新を選べる(切り替えられる)ようにしたい。
そのシステムを管理されているところへ問い合わせるのが一番かと思いますが、改善点1であればindex.showイベントでkintone.app.getQueryCondition()を実行してレコードの取得APIを行い、結果が1件だった時に取得したレコードのidを使ったURLへ推移し詳細画面を表示するといった処理で可能かもしれません。
mis-hashimotoさん、返信ありがとうございます。これからキントーンを導入するのに最初から高い壁にぶち当たって困惑しています。教えていただいた内容は、電話システム(外部)からのトリガーを受信した時にキントーン側で実装して動かす処理という事で良いでしょうか。開発は行ったことがあるのですが、なにぶんキントーンとJavaScriptについては初心者なのでいまいち分かってないところがあります。
はま さま
ご認識の通りです。CTIサービスはFullfree等でしょうか?入電時にURLへ推移するものとすると、電話番号で絞り込みをされたレコード一覧画面が開くかと思います。それを利用してkintone側で絞り込み条件を取得してレコードの取得(API)を行い、結果が1件だった場合にAPIで取得したレコードのIDを組み込んだURLに推移させるイメージでしょうか。以下のような形になるかと思います。
(() => {
'use strict';
kintone.events.on('app.record.index.show', (event) => {
let appId = event.appId;
let query = kintone.app.getQueryCondition();
if (!query) return event;
let getRecordsParam = {
app: appId,
query: query,
fields: ['$id']
};
kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', getRecordsParam).then((resp) => {
if (resp.records.length === 1) location.href = `${location.protocol}//${location.host}/k/${appId}/show#record=${resp.records[0]['$id'].value}`;
}).catch((error) => console.error(error));
return event;
});
})();
とはいえ、上のコードでは単純に絞り込みをして結果が1件だった時でも動いてしまうので、完全な対策とは言えないかもしれません。
当方ではCTIサービスはカイクラを使用しています。こちらも詳細を見るにはいくつか操作が必要ですが、複数のアプリと連携できるので重宝しています。納得のいくサービスを探すのも一つかもしれません。
mis-hashimotoさん
丁寧にご回答いただきありがとうございます。現在CUSTOMINEのお試しをしているのですが、そちらで如何になりそうです。
CUSTOMINE実装方法
①すること:一覧で画面に表示されているレコードを取得する。 条件:一覧画面を表示した時&現在の一覧が指定の一覧ならば ※指定の一覧は電話システムから呼ばれる専用の一覧を作成し、一般的には利用できない様にしときます。
②すること:レコード詳細画面に遷移する 条件:いずれかのアクションの実行が完了した時 ①を指定
一瞬一覧が見えますが、詳細画面を開くことができました。
因みに電話システムはコラボスフォンを予定しています。
system
(system)
Closed
6
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。