在席情報を更新する(ユーザー ID を指定)

目次

在席情報を更新する(ユーザー ID を指定)

ユーザー ID を指定して在席情報を更新します。

URL

クラウド版

https://sample.cybozu.com/g/api/v1/presence/users/USER_ID

パッケージ版

環境に合わせてそれぞれ以下を置き換えてください。

  • IP_ADDRESS_OR_HOST_NAME:Garoon のインストール先の IP アドレスまたはホスト名
  • INSTALL_IDENTIFER:Garoon のインストール識別子
Windows 環境
http://IP_ADDRESS_OR_HOST_NAME/scripts/INSTALL_IDENTIFER/grn.exe/api/v1/presence/users/USER_ID
Linux 環境
http://IP_ADDRESS_OR_HOST_NAME/cgi-bin/INSTALL_IDENTIFER/grn.cgi/api/v1/presence/users/USER_ID
パスパラメーター
パラメーター名 説明
USER_ID 更新する在席情報のユーザー ID

HTTP メソッド

PATCH

利用できるバージョン

  • クラウド版 Garoon
  • パッケージ版 Garoon 5.0 以降

必要なアクセス権

  • 更新する在席情報に対する変更権限

リクエスト

パラメーター
パラメーター名 説明
status.code 文字列 在席情報のステータスコード
次のいずれかの値を指定します。
  • attend:在席
  • absence:不在
  • 管理者またはアプリケーション管理者が追加したステータス
  • 空の文字列
指定しない場合は、空の文字列で更新されます。
notes 文字列 メモ
改行文字は「\n」です。
指定しない場合は、空の文字列で更新されます。
リクエストの例
URL

https://sample.cybozu.com/g/api/v1/presence/users/1

ヘッダー
1
2
3
4
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU=",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は Garoon REST APIの共通仕様 を参照してください。

ボディ
1
2
3
4
5
6
{
  "status": {
    "code": "attend"
  },
  "notes": "This is presence note."
}

レスポンス

プロパティ
プロパティ名 説明
user.id 数値 ユーザー ID
user.code 文字列 ユーザーのログイン名
パッケージ版 Garoon の場合、ログイン名を公開する設定が必要です。
詳細は ユーザー情報の項目を変更する (External link) を参照してください。
user.name 文字列 ユーザーの表示名
updatedAt 文字列 在席情報の更新日時
形式は ISO8601 の UTC タイムゾーンです。
notes 文字列 メモ
改行文字は「\n」です。
status オブジェクト 在席情報のステータス
status.name 文字列 在席情報のステータス名
status.code ごとに内容が異なります。
また、値の言語は API を実行するユーザーの言語設定に応じます。次に示すのは、日本語に設定した場合の値です。
  • 「attend」の場合:在席
  • 「absence」の場合:不在
  • 管理者またはアプリケーション管理者が追加したステータス:追加したステータス
  • 空の文字列の場合:登録がありません
status.code 文字列 在席情報のステータスコード
  • attend
  • absence
  • 管理者またはアプリケーション管理者が追加したステータス
  • 空の文字列
レスポンスの例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "user": {
    "id": "1",
    "code": "c000001",
    "name": "Noboru Satoh(Satoh Noboru); Sales Department"
  },
  "updatedAt": "2017-09-26T06:25:18Z",
  "notes": "This is presence note.",
  "status": {
    "name": "At desk",
    "code": "attend"
  }
}

サンプルコード

curl を使ったリクエスト
1
2
3
4
5
6
7
8
9
curl -X PATCH 'https://sample.cybozu.com/g/api/v1/presence/users/1' \
  -H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=' \
  -H 'Content-Type: application/json' \
  -d '{
      "status": {
      "code": "attend"
      },
      "note"s: "This is presence note."
  }'
Garoon REST API リクエストを送信する API を使ったリクエスト
1
2
3
4
5
6
7
8
const body = {
  status: {
    code: 'attend'
  },
  notes: 'This is presence note.'
};

await garoon.api('/api/v1/presence/users/1', 'PATCH', body);

制限事項

  • API を実行するユーザーが操作可能なユーザーの在席情報のみ更新できます。
    他のユーザーの在席情報を更新する場合は、API を実行するユーザーを代理人に設定してください。
    代理人を設定する方法は、Garoon ヘルプ( クラウド版 (External link) パッケージ版 (External link) )を確認してください。
  • 「ステータスの自動設定」で「ログイン時に在席を設定する」が有効になっていると、Garoon にログインしているときのユーザーの status.code は、attend に自動更新されます。
    API を使って在席情報を制御する場合には、「ログイン時に在席を設定する」を無効にしてください。
    設定方法の詳細は、在席確認の一般設定( クラウド版 (External link) パッケージ版 (External link) )を確認してください。