Laravel8 chatworkのwebhook連携方法

Chatwork Webhook設定

アカウント名をクリック -> 「サービス連携」をクリック。

chatwork アカウントメニュー

「Webhook」をクリック。

chatwork サービス連携メニュー

「新規作成」をクリック。

chatwork webhook
chatwork Webhook新規作成

Webhook名:適当に入力。
Webhook URL:POSTさせたいURLを入力。
イベント:挙動は下記参照

アカウントイベント

コンタクトの申請、X
他人がメッセージの送信時、O
メッセージの編集、X
コンタクトの削除、X

ルームイベント(個人)

メッセージ作成チェックボックスON時
 自分も含めメッセージを送信時、O
メッセージ更新チェックボックスON時
 自分も含めメッセージを更新時、O
コンタクトの削除、X

ルームイベント(グループ)

グループ追加、O
メッセージ作成チェックボックスON時
 自分も含めグループ内の誰かがメッセージの送信時、O
メッセージ更新チェックボックスON時
 自分も含めグループ内の誰かがメッセージを更新時、O
グループ削除、O

ちなみに自分が属していないルームIDを指定するとエラーになる。

chatwork Webhook設定エラーメッセージ

ステータスを無効にしたら通知されない。

chatwork Webhook編集

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'
    ];
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です