Chatwork Webhook設定
アカウント名をクリック -> 「サービス連携」をクリック。
![chatwork アカウントメニュー](https://halfpower.work/wp-content/uploads/2023/08/1-2.png)
「Webhook」をクリック。
![chatwork サービス連携メニュー](https://halfpower.work/wp-content/uploads/2023/08/2-3.png)
「新規作成」をクリック。
![chatwork webhook](https://halfpower.work/wp-content/uploads/2023/08/3-3.png)
![chatwork Webhook新規作成](https://halfpower.work/wp-content/uploads/2023/08/6-1.png)
Webhook名:適当に入力。
Webhook URL:POSTさせたいURLを入力。
イベント:挙動は下記参照
アカウントイベント
コンタクトの申請、X
他人がメッセージの送信時、O
メッセージの編集、X
コンタクトの削除、X
ルームイベント(個人)
メッセージ作成チェックボックスON時
自分も含めメッセージを送信時、O
メッセージ更新チェックボックスON時
自分も含めメッセージを更新時、O
コンタクトの削除、X
ルームイベント(グループ)
グループ追加、O
メッセージ作成チェックボックスON時
自分も含めグループ内の誰かがメッセージの送信時、O
メッセージ更新チェックボックスON時
自分も含めグループ内の誰かがメッセージを更新時、O
グループ削除、O
ちなみに自分が属していないルームIDを指定するとエラーになる。
![chatwork Webhook設定エラーメッセージ](https://halfpower.work/wp-content/uploads/2023/08/5-1.png)
ステータスを無効にしたら通知されない。
![chatwork Webhook編集](https://halfpower.work/wp-content/uploads/2023/08/4-2.png)
Laravel側
use Illuminate\Http\Response;
class xxxxController extends Controller
{
public function yyyy(Request $request)
{
$values = $request->all();
// 何らかの処理
return response(null, Response::HTTP_OK);
}
}
Laravel側注意点
1.GETではなくPOSTで通知されるので、POSTのルートを設定しましょう。
2.Webhook通知はCSRFを無効にする必要があるので
\app\Http\Middleware\VerifyCsrfToken.phpの$exceptに通知されるURLを記述しましょう。
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/xxxx/yyyy'
];
}