目次
API 連携
Chat&Messenger API を使う事で、外部システム、プログラムと簡単に連携する事ができます。
API 連携により、次のような処理が可能になります。
- 社内システムと連携し、業務データをチャットルームに通知
- システムエラーを検知し関係者に通知
- 社内グループウェアからWeb会議連携
- スケジュールや会議室の予約情報を取得し、他システムと連携
API 連携はクラウド / オンプレミス 共に Enterprise 以上のプランが必要です。
API Token と API インターフェイス
管理画面から API Token の取得
API 連携を行う場合、最初に API Token を取得してください。
API Token は、パスワードと同じで取り扱いにご注意ください。
取得した apiToken / serverURL を、以下「API インターフェイス」の通り JavaScript / curl に引き渡してください。
API インターフェイス
API インターフェイスとして、JavaScript / curl コマンドラインが利用できます。以下のサンプルは共に、会議室の登録情報をJSON形式で取得する事ができます。
正規SSL適用でない環境では serverURLはHTTP 8080 ポートになります。
JavaScript
let config = {
"apiToken": "QIQVOSvRJHrQElDwj20x******",
"serverURL": "https://*****************"
}
let client = new CAMAPIClient(config);
let response = await client.getConferenceRooms();
curl コマンドライン
curl -H "x-cam-apiToken:token******" ${serverURL}/getConferenceRooms
任意のHTTPアクセスプログラム
任意のHTTPアクセスプログラムでも連携可能です。
API サンプル画面
API 実行を簡単に試せるサンプルURLがあります。テストでご利用の場合、お問い合わせからご連絡お願いします。
API
※ 利用用途の高いものから段階的に拡充予定です
sendMessage
メッセージを送信します。
サンプル
メッセンジャーでユーザIDを指定して送信
let response = await getAPIClient().sendMessage(
"messenger", // messenger を指定したダイレクトメッセージを指定
"Hello!", // 送信するメッセージ
false, // 封書は off
["user1@xxx.com", "user2@xxx.com"] // 宛先 Email アドレス
);
curl -H "x-cam-apiToken:token******" -d message="{\"panelName\":\"messenger\",\"message\":\"Hello\",\"isOpened\":false,\"generalPurposes\":{\"users\":\"user1@xxx.com,user2@xxx.com\"}}" ${serverURL}/sendMessage
チャットルームを指定して送信
let response = await getAPIClient().sendMessage(
"ルーム名",
"Hello!",
false,
["user1@xxx.com", "user2@xxx.com"] // メンションとして Email アドレス指定
);
curl -H "x-cam-apiToken:token******" -d message="{\"panelName\":\"ルーム名\",\"message\":\"Hello\",\"isOpened\":false,\"generalPurposes\":{\"users\":\"user1@xxx.com,user2@xxx.com\"}}" ${serverURL}/sendMessage
引数
send |
|
users |
|
message |
|
seal |
|
sendMessages
json ファイルから一括でメッセージを送信します。
json ファイルは文字コードUTF8で保存してください。
サンプル
curl -H "x-cam-apiToken:token******" -d @messages.json ${serverURL}/sendMessages
messages=[
{"message":"こんにちは 1","property":{"users":"user1@test.com,user2@test.com"}},
{"message":"こんにちは 2","property":{"users":"user1@test.com,user2@test.com"}},
{"message":"こんにちは 3","property":{"users":"user1@test.com,user2@test.com"}},
{"message":"こんにちは 4","property":{"users":"user1@test.com,user2@test.com"}},
]
messages=[
{"send": "test", "message":"テスト 1"}
]
createQuickCall
クイックWeb会議 URLを作成します。
サンプル
クイック会議URLを作成
let response = await getAPIClient().createQuickCall(
1624368868714, // クイック会議の期限(UnixTimeミリ)
"password!", // クイック会議のパスワードを指定
);
引数
expiredDate |
|
password |
|
updateChatRoom
チャットルムを作成・更新する
サンプル
let chatRoom = {
"id":"1564831284702237059",
"name":"秘密会議"
"createUserId":"11u1pu9d32p8vuvjoZdd",
"adminUserId":"11u1pu9d32p8vuvjoZdd",
"isPublic":false,
"memberUids":{
"11u1pu9d32p8vuvjoZdd":true,
"1lmn7hoh3s1ja26fsazw":true,
"hhx10sfdv1jyou4la1ny":true,
"3400w9rfvs504c35dt99":true,
"309d32p8vuvjo5euuuwx":true
},
}
let response = await getAPIClient().updateChatRoom(chatRoom);
let errors = response['errors'];
if (errors) {
console.log(errors);
return;
}
console.log(response["chatRoom"]);
引数
chatRoom |
|
getConferenceMaster
会議室のマスタ一覧を取得します。
サンプル
let response = await getAPIClient().getConferenceMaster();
let errors = response['errors'];
if (errors) {
console.log(errors);
return;
}
console.log(response["conferenceRooms"]);
引数
無し
getConferenceRoomStatus
会議室の予約状況一覧を取得する
サンプル
let response = await getAPIClient().getConferenceRoomStatus("201908");
let errors = response['errors'];
if (errors) {
console.log(errors);
return;
}
console.log(response["conferenceRoomStatus"]);
引数
yyyyMMdd |
|