Chatwork API でメッセージを送信する

バッチ処理の完了などを Chatwork に送る案件があったので、Chatwork API を弄ってみた。

API トークンを取得する

Chatwork API を使用するにはトークンを取得しないといけない。

  1. Chatwork にログインする

  2. 右上のユーザー名をクリックしてメニューを開き、[サービス連携]を選択する

  3. [API Token]を選択する

  4. [パスワード]を入力し、[表示]ボタンをクリックする

  5. トークンが表示されるので、内容をコピーする

ルーム ID を取得する

チャット名を選択したときにブラウザのアドレス欄に表示される URL の rid 以降の部分がルーム ID となる。

Chatwork API でメッセージを送信する

curl で メッセージを送信するには、以下の書式で Chatwork API を叩く

1
2
3
4
/usr/bin/curl -X POST \
-H "X-ChatWorkToken: <API-Token>" \
-d "body=[info][title]<タイトル>[/title]<メッセージ>[/info]" \
"https://api.chatwork.com/v2/rooms/<ルームID>/messages

PHP だとこんな感じ。

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
<?php
header("Content-type: text/html; charset=utf-8");

$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$room_id = 00000000;
$url = "https://api.chatwork.com/v2/rooms/{$room_id}/messages";

$params = [
'body' => 'テスト'
];

$options = [
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => array('X-ChatWorkToken: '. $api_key),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params, '', '&'),
];

$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response);

var_dump($result);