スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

Webhook テスト通知の送信について

November 2020 編集されました カテゴリ: API共通

アプリの環境設定にWebhook送信先エンドポイントのURLを設定し

「テスト通知を送信」ボタンをクリックしましたが

エンドポイント側のWebサーバのアクセスログにはアクセスのログは残っておらず

テスト通知が送られていないように見えます。

(ブラウザから同じURLへアクセスした場合はアクセスログが残りますのでURL自体の間違いはなさそうです)


テスト通知の送信を行うのにエンドポイントのURL以外で何か

設定する必要はあるでしょうか。

ベストアンサー

  • @福島 幸宏

    状況の確認ありがとうございました。

    弊社の送信ログを見たところ、証明書の不整合エラーとなっていることがわかりました。

    調査の結果、自己証明書を利用しておられる前提でお話をさせていただきます。

    ---

    繰り返しになり申し訳ありませんが、自己証明書のURLと実際のURLが一致していないため、証明書エラーが発生しております。

    弊社の基盤はセキュリティ上このような事例に対応しておらず、実際にアプリを公開していただき、サービスを提供し始めるときも証明書を必ずチェックするようにしています。


    ただし、サンドボックスの設定はその限りではなく、http://example.comのようなSSL設定なしのURLを登録し、送信できるようにしています。

    ですので、Webhookの送信先をhttp://から始まるURLでお試しいただくことは可能でしょうか?


    一度上記の対応をしていただいて、それでも成功しないようであれば再度状況をコメントしていただけますでしょうか?

    よろしくお願いいたします。

答え

  • @福島 幸宏

    まずはじめに、Webhookの詳細仕様についてはこちらをご覧ください。

    上記のページにもありますように、Webhookでは、イベントが発生した際に、以下の情報をWebhook送信先エンドポイントに対してPOSTします。


    ですので、

    ブラウザから同じURLへアクセスした場合はアクセスログが残りますのでURL自体の間違いはなさそうです

    これは推測ではございますが、ブラウザからアクセスできるということはGETのみを受け付けるようになっていませんでしょうか?

    特定のフレームワークなど利用している場合は405 Method Not Allowedとなる場合があります。このとき、Webhookを受信したサーバーは弊社へ405をかえし、Webhook失敗となります。


    アクセスログに残るかどうかというのは環境がわからないのでなんとも言えず申し訳ありませんが、たとえばAPサーバーでアクセスログを出力している場合は残らず、WEBサーバーでアクセスログを出力している場合はWEBサーバー側のログに残っている可能性があります。


    一度Methodの確認をしていただいて、それでも成功しないようであれば再度状況をコメントしていただけますでしょうか?

    よろしくお願いいたします。

  • 回答ありがとうございます。

    Methodについてですが、テスト用アプリにてPOST送信を行いましたが

    問題なく、アクセスすることができました。また、エンドポイント側で

    リクエストのMethodをログにて確認しましたが、間違いなくPOSTでのリクエストでした。


    また、ログについては、Webサーバ単体での検証なのでほかの場所に出るということは

    ないかと思います。