Chatwork API

API 文件 -> 目前是 Preview 版本申請網址

認証方法

動作設定 -> API 發行

取得 API TOKEN

Endpoint

使用 REST

Base URL : https://api.chatwork.com/v1

Request

一定得要使用 HTTPS。(HTTP不給連)

X-ChatWorkToken : API TOKEN (必要)

Resource 更新 刪除 對應到 PUTDELETE
不支援的 Client 可以用 ?method=PUT?method=DELETE

重要 API Token 沒有使用期限,擁有完全存取(Full access)權限。請注意務必不要公開給第三方。以及Token要放在Header裡


Response

請求成功與否可以從,header 和 body 判別。內容會以JSON 形式回傳。

例如 GET /my/status

成功

Response Header
1
2
HTTP/1.1 200 OK
Content-Type: application/json
Responese Body
1
2
3
4
5
6
7
8
{
"unread_room_num": 2,
"mention_room_num": 1,
"mytask_room_num": 3,
"unread_num": 12,
"mention_num": 1,
"mytask_num": 8
}

失敗

Response Header
1
2
HTTP/1.1 401 Unauthorized
Content-Type: application/json
Responese Body(API Token 錯誤)
1
2
3
4
{
"errors": ["Invalid API token"]
// 失敗情況下,會有 errors 這個 key。並說明為何錯誤
}

API 使用限制 (5分 100次,之後有可能增加)

1
2
3
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 44
X-RateLimit-Reset: 1390941626 // 下次reset時間,(Unix time)

Endpoint

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
get /me 個人資訊
get /my/status 未讀訊息
get/my/tasks?assigned_by_account_id=78&status=done
assigned_by_account_id 給予任務的 Account ID
status open, done
get /contacts 自分のコンタクト一覧を取得

get /rooms 房間列表資訊
post /rooms 創立房間(包括成員權限)

get /rooms/{room_id} 單一房間資訊
put /rooms/{room_id} 更新房間資訊(不包括成員權限)
delete /rooms/{room_id} 刪除房間

get /rooms/{room_id}/members 某房間成員列表資訊
put /rooms/{room_id}/members 設定某房間成員權限

get /rooms/{room_id}/messages チャットのメッセージ一覧を取得。パラメータ未指定だと前回取得分からの差分のみを返します。(最大100件まで取得)
post /rooms/{room_id}/messages チャットに新しいメッセージを追加

get /rooms/{room_id}/messages/{message_id} メッセージ情報を取得

get /rooms/{room_id}/tasks チャットのタスク一覧を取得 (※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)
post /rooms/{room_id}/tasks チャットに新しいタスクを追加

get /rooms/{room_id}/tasks/{task_id} タスク情報を取得

get /rooms/{room_id}/tasks/files チャットのファイル一覧を取得 (※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)

get /rooms/{room_id}/tasks/files/{file_id} ファイル情報を取得

Message 符號

[To:{account_id}]
[rp aid={account_id} to={room_id}-{message_id}]
[qt][qtmeta aid={account_id} time={timestamp}]...[/qt]
[qt][qtmeta aid={account_id}]...[/qt]
[info]...[/info]
[info][title]...[/title]...[/info]
[hr]
[picon:{account_id}]
[piconname:{account_id}]