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

目次

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

Garoonユーザー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 更新する在席情報のGaroonユーザー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 数値 Garoonユーザー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) )を確認してください。