NEWS

機能追加

Webhook送信先でのエラー発生時、エラー内容をJSON形式で通知できるようになりました

MovableType.net のフォーム機能や MovableType.net フォーム では、Webhookを利用してデータを送信することができます。

このWebhookを利用して送信した先でエラーが発生して終了した場合、エラーが管理者(フォームの設定の「通知先メールアドレス」)に通知され一定回数を再送を試みる仕様になっており、エラーの状態はステータスコードのみで判断していました。

しかし、Google Sheetsをはじめ一部のウェブアプリケーションの実行環境では、エラーで終了した場合にもステータスコードが200しか返さないことがあるため、JSON形式でステータスコードを通知することができるように対応を行いました。

通知する場合には、HTTPヘッダーの Content-Typeapplication/json を指定して、httpStatusCode を含むJSON形式データを返してください。httpStatusCode200〜299 の場合には成功として、それ以外の数字の場合にはエラーとして処理されます。

スプリクトへの記述例は次のようになります。

{"httpStatusCode":500}

また、任意のキーを自由に追加することもできます。返されたJSON形式のデータはフォームの管理者(フォームの設定の「通知先メールアドレス」)に通知されるメールに記載されます。

{"httpStatusCode":500,"message":"データベースへの接続でエラーが発生しました"}

2024年5月2日より前の活用ブログのプログラムを利用している場合

活用ブログの記事「Webhook を利用してフォームの送信データを Google スプレッドシートに送る方法」のプログラムでは、上に書いた方法で詳細なエラーメッセージを返せるように書き換えています。

以前のプログラムでは、1つのGoogleアカウントで複数のフォームのデータをWebhookを使って保存しようとすると、エラーが発生してデータが保存されない問題が発生することがありました。

記事に掲載しているプログラムを更新していますので、2024年5月2日より前に設定している場合には、お手数ですがご確認のうえ、更新をお願いします。更新の際には設置した環境にあわせて secret の値を変更する必要がありますので、変更漏れのないようにご注意ください。

hayase11:00