ビジネスチャット、テレビ会議、ファイル共有、スケジュール管理を統合したグループウェア。IP Messenger 互換。

API 連携で社内業務を自動化

API 連携

Chat&Messenger API を使う事で、外部システム、プログラムと簡単に連携する事ができます。
API 連携により、次のような処理が可能になります。

  • 社内システムと連携し、業務データをチャットルームに通知
  • システムエラーを検知し関係者に通知
  • スケジュールや会議室の予約情報を取得し、他システムと連携
API 連携はクラウド / オンプレミス 共に Enterprise 以上のプランが必要です。

API Token と API インターフェイス

管理画面から API Token の取得

API 連携を行う場合、最初に API Token を取得してください。
API Token は、パスワードと同じで取り扱いにご注意ください。
取得した apiToken / serverURL を、以下「API インターフェイス」の通り JavaScript / curl に引き渡してください。

API インターフェイス

API インターフェイスとして、JavaScript / curl コマンドラインが利用できます。以下のサンプルは共に、会議室の登録情報をJSON形式で取得する事ができます。

JavaScript

let config = {
	"apiToken": "QIQVOSvRJHrQElDwj20x******",
	"serverURL": "https://*****************"
}
let client = new CAMAPIClient(config);
let response = await client.getConferenceRooms();

curl コマンドライン

curl -H "x-cam-apiToken:token******" https://*******/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 アドレス 
    	);
    
  • チャットルームを指定して送信
    let response = await getAPIClient().sendMessage(
    	"任意のチャットルーム名", 
    	"Hello!", 
    	false,
            ["user1@xxx.com", "user2@xxx.com"]	// メンションとして Email アドレス指定 
    );
    

引数

send
  • 送信対象を指定する
  • メッセンジャーの場合は、messenger を指定、チャットの場合は、ルーム名を指定する
users
  • send が messenger の場合は、宛先ユーザに。チャットルームの場合は、全体共有した上でメンションで通知される
  • Email アドレスから該当ユーザを検索する
  • 複数送信の場合、Email の区切り文字は , を指定
message
  • 送信メッセージを指定する
  • テキストを改行させる場合は、改行コード \n を挿入します。
seal
  • true / false を指定。開封確認で送信する

updateChatRoom

チャットルムを作成・更新する

サンプル

let chatRoom = { 
   "id":"1564831284702237059",
   "name":"秘密会議"
   "createUserId":"11u1pu9d32p8vuvjoZdd",
   "adminUserId":"11u1pu9d32p8vuvjoZdd",
   "isMessageThread":true,
   "isPublic":false,
   "memberUids":{ 
      "11u1pu9d32p8vuvjoZdd":true,
      "1lmn7hoh3s1ja26fsazw":false,
      "hhx10sfdv1jyou4la1ny":false,
      "3400w9rfvs504c35dt99":false,
      "309d32p8vuvjo5euuuwx":false
   },
}
let response = await getAPIClient().updateChatRoom(chatRoom);
let errors = response['errors'];
if (errors) {
	console.log(errors);
	return;
}
console.log(response["chatRoom"]);

引数

chatRoom
  • チャットルムを作成・更新する JSON
  • id は新規の場合は不要

ユーザ情報の取得

セキュリティの都合、お問い合わせ頂いてから情報提供いたします。

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
  • 引数の指定が無い場合は、会議室のマスタ一覧が取得される。
  • 引数 yyyyMMdd に月、または日付をすると、該当会議室の予約状況が取得できます。例) 201908 or 20190801
  • 予約状況は conferenceRooms.reservedSchedules に格納されています。