Back to top

安否確認サービス2 API仕様

安否確認サービス2のAPI仕様について解説します。

APIの実行方法

全体に共通したAPIの実行方法について解説します。

API認証トークンの発行

APIの使用に必要なAPI認証トークンは、システム設定の『API認証トークンの発行』で発行し、取得することができます。

API認証トークンの発行にはシステム管理者権限が必要になります。 API認証トークンをお持ちではなく、システム管理者でもない場合は、貴社のシステム管理者の方までお問い合わせ下さい。

なお、API認証トークンは1社につき1つまでとなっています。

API認証トークンを破棄した場合は、それまでのAPI認証トークンは使用できなくなりますのでご注意ください。

リクエスト方法

上記で取得したAPI認証トークンを、 Authorization HTTPヘッダに含めてリクエストを実行します。

以下のように、 Token の後にAPI認証トークンをご使用ください。

Authorization: Token [取得したAPI認証トークン]

指定方法が正しくない場合、 401 Unauthorized を返却します。

使用回数制限について

安否確認サービス2APIは、お申込み人数の10倍が1日あたりの最大使用回数となっております。

各日0時に消費した使用回数は回復します。

1日の使用最大回数を超えてリクエストを実行した場合は、 429 Too Many Requests を返却します。

なお、各レスポンスヘッダには、 残りの使用回数を X-RateLimit-Remaining として、 使用回数が回復するまでの秒数を X-RateLimit-Reset として記載します。

以下は使用回数制限を超過してリクエストした場合のレスポンス例です。

HTTP/1.1 429 Too Many Requests
Connection: keep-alive
Content-Length: 231
Content-Type: application/json
(中略)
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 32072

{
    "error": {
        "errors": [],
        "message": "使用上限に達しています。時間を置いてから再度実行してください。",
        "url": ""
    }
}

ユーザーを管理する

ユーザーを新規追加する

ユーザー追加
POST/v1/member

処理概要

  • ユーザー情報を新しく登録します。

  • fullname, username, passwordが必須です。いずれかがない場合、400を返します。

  • username, emailの重複はできません。重複するリクエストの場合、400を返します。

Example URI

POST https://api.cloud.anpikakunin.com/v1/member
Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Body
{
  "username": "yamada",
  "password": "qawer@nasd",
  "fullname": "山田太郎",
  "fullnameRuby": "ヤマダ タロウ",
  "email": "test@example.com",
  "tel": "05038166666",
  "priority": 100,
  "memo": "APIから追加"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "ユーザー名"
    },
    "password": {
      "type": "string",
      "description": "パスワード"
    },
    "fullname": {
      "type": "string",
      "description": "氏名"
    },
    "fullnameRuby": {
      "type": "string",
      "description": "氏名の読み"
    },
    "email": {
      "type": "string",
      "description": "メールアドレス(format: email)"
    },
    "tel": {
      "type": "string",
      "description": "電話番号"
    },
    "priority": {
      "type": "number",
      "description": "表示順"
    },
    "memo": {
      "type": "string",
      "description": "メモ"
    }
  },
  "required": [
    "username",
    "password",
    "fullname"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 32072
Body
{
  "username": "yamada",
  "password": "qawer@nasd",
  "fullname": "山田太郎",
  "fullnameRuby": "ヤマダ タロウ",
  "email": "test@example.com",
  "tel": "05038166666",
  "priority": 100,
  "memo": "APIから追加",
  "message": "ユーザー追加に成功しました。"
}
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 98
X-RateLimit-Reset: 32069
Body
{
    "error": {
        "errors:" [],
        "message": "リクエスト形式が正しくありません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを新規追加する-post"
    }
}

{
    "error": {
        "errors:" [],
        "message": "すでに使用しているユーザー名です",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを新規追加する-post"
    }
}

{
    "error": {
        "errors:" [],
        "message": "すでに使用しているメールアドレスです",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを新規追加する-post"
    }
}

ユーザーを編集・削除する

ユーザー編集
PUT/v1/member/{username}

処理概要

  • ユーザー情報を編集します。

  • URLにusernameが必須です。ユーザーが見つからない場合、404を返します。

  • 変更がない場合、304を返します。

Example URI

PUT https://api.cloud.anpikakunin.com/v1/member/Administrator
URI Parameters
HideShow
username
string (required) Example: Administrator

ユーザー名

Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Body
{
  "fullname": "山田太郎",
  "fullnameRuby": "ヤマダ タロウ",
  "email": "test@example.com",
  "tel": "05038166666",
  "priority": 100,
  "memo": "APIから編集"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "fullname": {
      "type": "string",
      "description": "氏名"
    },
    "fullnameRuby": {
      "type": "string",
      "description": "氏名の読み"
    },
    "email": {
      "type": "string",
      "description": "メールアドレス(format: email)"
    },
    "tel": {
      "type": "string",
      "description": "電話番号"
    },
    "priority": {
      "type": "number",
      "description": "表示順"
    },
    "memo": {
      "type": "string",
      "description": "メモ"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 31000
Body
{
  "username": "yamada",
  "password": "qawer@nasd",
  "fullname": "山田太郎",
  "fullnameRuby": "ヤマダ タロウ",
  "email": "test@example.com",
  "tel": "05038166666",
  "priority": 100,
  "memo": "APIから編集",
  "message": "ユーザー編集に成功しました。"
}
Response  304
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 31000
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 31000
Body
{
    "error": {
        "errors:" [],
        "message": "リクエスト形式が正しくありません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを編集・削除する-put"
    }
}

{
    "error": {
        "errors:" [],
        "message": "すでに使用しているメールアドレスです",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを編集・削除する-put"
    }
}

ユーザー削除
DELETE/v1/member/{username}

処理概要

  • ユーザーを削除します。

  • URLにusernameが必須です。ユーザーが見つからない場合、404を返します。

Example URI

DELETE https://api.cloud.anpikakunin.com/v1/member/Administrator
URI Parameters
HideShow
username
string (required) Example: Administrator

ユーザー名

Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Response  204
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 86
X-RateLimit-Reset: 29000
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 31000
Body
{
  "error": {
    "errors": [
      "システム管理者であるユーザーは削除できません",
      "責任者として指定されている地震発生時の設定があるため削除できません",
      "責任者として指定されている津波発生時の設定があるため削除できません",
      "責任者として指定されている特別警報発生時の設定があるため削除できません",
      "責任者として指定されている予約送信の設定があるため削除できません"
    ],
    "message": "削除対象のユーザーに依存する設定があるため削除できません",
    "url": "https://anpi.cstap.com/docs/api.html#ユーザーを管理する-ユーザーを編集・削除する-delete"
  }
}

ユーザーの所属部署を管理する

ユーザーの所属部署を更新する

ユーザーの所属部署更新
PUT/v1/member/{username}/department

処理概要

  • ユーザーの所属部署情報を更新します。

  • URLにusernameが必須です。ユーザーが見つからない場合、404を返します。

  • departmentCodesが必須です。パラメーターがない場合、400を返します。

  • 所属が変更されない場合、304を返します。

Example URI

PUT https://api.cloud.anpikakunin.com/v1/member/Administrator/department
URI Parameters
HideShow
username
string (required) Example: Administrator

ユーザー名

Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Body
{
  "departmentCodes": [
    "[\"dev\"",
    "\"cs\"]"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "departmentCodes": {
      "type": "array",
      "description": "部署コード"
    }
  },
  "required": [
    "departmentCodes"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 32072
Body
{
  "departmentCodes": [
    "dev",
    "cs"
  ],
  "message": "ユーザーの所属部署情報の更新に成功しました。"
}
Response  304
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 32072
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 98
X-RateLimit-Reset: 32069
Body
{
    "error": {
        "errors": [],
        "message": "リクエストの形式が正しくありません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属部署を管理する-ユーザーの所属部署を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "存在しない部署コードが指定されています",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属部署を管理する-ユーザーの所属部署を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "部署コードが重複しています",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属部署を管理する-ユーザーの所属部署を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "利用できない部署コードが指定されています",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属部署を管理する-ユーザーの所属部署を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "更新対象のユーザーが存在しません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属部署を管理する-ユーザーの所属部署を更新する-put"
    }
}

ユーザーの所属地域を管理する

ユーザーの所属地域を更新する

ユーザーの所属地域更新
PUT/v1/member/{username}/area

処理概要

  • ユーザーの所属地域情報を更新します。

  • URLにusernameが必須です。ユーザーが見つからない場合、404を返します。

  • areaCodesが必須です。パラメーターがない場合、400を返します。

  • 所属が変更されない場合、304を返します。

Example URI

PUT https://api.cloud.anpikakunin.com/v1/member/Administrator/area
URI Parameters
HideShow
username
string (required) Example: Administrator

ユーザー名

Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Body
{
  "areaCodes": [
    "[\"350\"",
    "\"351\"]"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "areaCodes": {
      "type": "array",
      "description": "地域コード"
    }
  },
  "required": [
    "areaCodes"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 32072
Body
{
  "areaCodes": [
    "350",
    "351"
  ],
  "message": "ユーザーの所属地域情報の更新に成功しました。"
}
Response  304
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 32072
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 32069
Body
{
    "error": {
        "errors": [],
        "message": "リクエストの形式が正しくありません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属地域を管理する-ユーザーの所属地域を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "不正な地域コードが含まれています",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属地域を管理する-ユーザーの所属地域を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "地域コードが重複しています",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属地域を管理する-ユーザーの所属地域を更新する-put"
    }
}

{
    "error": {
        "errors": [],
        "message": "更新対象のユーザーが存在しません",
        "url": "https://anpi.cstap.com/docs/api.html#ユーザーの所属地域を管理する-ユーザーの所属地域を更新する-put"
    }
}

部署を管理する

部署を更新する

部署更新
PUT/v1/department

処理概要

  • 1つのリクエストで部署全体を更新します。

  • 部署が変更されない場合、304を返します。

  • リクエストにエラーがある場合、400を返します。

使用方法

リクエストボディのプロパティdepartmentは、次のようなオブジェクトの配列であり、 その1つ1つが部署を表します。

{
  "currentCode": "top",
  "code": "top",
  "name": "すべて",
  "parentCode": ""
}

それぞれのプロパティの意味は次の通りです。

  • currentCode: 現在存在する部署のコードを指定する。

  • code: 更新後の部署コードを指定する。

  • name: 更新後の部署名を指定する。

  • parentCode: 親部署コードを指定する。

リクエストされたdepartmentプロパティ値から部署構造を構築し、 部署全体を構築された部署構造に置き換えます。

入力にエラーがある場合、400が返却され、errorsプロパティにエラーの詳細が含まれます。

次の方法に従い、リクエストされた各部署の追加・編集・削除が判別されます。

  • 追加: currentCodeが空白のもの。

  • 編集: currentCodeが入力されているもの。

  • 削除: 現在存在する部署のうち、currentCodeに一致する部署が存在しないもの。

※ 次の点にご注意ください。

  • 最上位部署は必ず含める必要があります。

  • 未所属ユーザ部署を含めてはいけません。

Example URI

PUT https://api.cloud.anpikakunin.com/v1/department
Request
HideShow
Headers
Content-Type: application/json
Accept: application/json
Authorization: Token eyXxxxxxx.....
Body
{
  "department": [
    {
      "currentCode": "top",
      "code": "all",
      "name": "すべて",
      "parentCode": ""
    },
    {
      "currentCode": "",
      "code": "A",
      "name": "A",
      "parentCode": "all"
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 32072
Body
{
  "department": [
    {
      "currentCode": "top",
      "code": "all",
      "name": "すべて",
      "parentCode": ""
    },
    {
      "currentCode": "",
      "code": "A",
      "name": "A",
      "parentCode": "all"
    }
  ],
  "message": "部署の編集に成功しました。"
}
Response  304
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 32072
Response  400
HideShow
Headers
Content-Type: application/json
Accept: application/json
X-RateLimit-Remaining: 98
X-RateLimit-Reset: 32069
Body
{
    "error": {
        "errors": [],
        "message": "値はすべて文字列である必要があります。",
        "url": "https://anpi.cstap.com/docs/api.html#部署を管理する-部署を更新する-put"
    }
}

{
    "error": {
        "errors": [
            "存在しない現部署が指定されています。",
            "部署コードが空白なものが含まれています。",
            "部署コードにスラッシュ(/)を含めることはできません。",
            "部署コードと親部署コードを同一にすることはできません。"
        ],
        "message": "入力に誤りがあるため、部署の編集に失敗しました。",
        "url": "https://anpi.cstap.com/docs/api.html#部署を管理する-部署を更新する-put"
    }
}

Generated by aglio on 03 Oct 2017