在席情報を更新する(ログイン名を指定)

目次

在席情報を更新する(ログイン名を指定)

ログイン名を指定して在席情報を更新します。

URL

クラウド版

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

パッケージ版

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

  • 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/code/LOGIN_NAME
Linux環境
http://IP_ADDRESS_OR_HOST_NAME/cgi-bin/INSTALL_IDENTIFER/grn.cgi/api/v1/presence/users/code/LOGIN_NAME
パスパラメーター
パラメーター名 説明
LOGIN_NAME 取得する在席情報のログイン名
指定する値をURLエンコードしてください。
たとえば「user one」というログイン名の場合は、「user%20one」を指定します。

HTTPメソッド

PATCH

利用できるバージョン

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

必要なアクセス権

  • 在席情報の変更権限

リクエスト

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

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

ヘッダー
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/code/c000001' \
  -H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=' \
  -H 'Content-Type: application/json' \
  -d '{
      "status": {
      "code": "attend"
      },
      "notes": "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/code/c000001', 'PATCH', body);

制限事項

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