SSL Requirements for Rachio WebHook Endpoint

I am writing code to use the WebHook notification feature of the Rachio API. I have successfully registered a WebHook using a URL on the test site webhook.site and have seen HTTP POST requests transmitted back by the Rachio Cloud. So I know I can correctly register and deregister a webhook, and I can see the exact payload that Rachio transmits.

But when I point the webhook to my own URL, I am not seeing any calls come from Rachio cloud.

Questions:

  1. Am I required to use https, or can use a http endpoint as the target URL for the webhook?

  2. If https is required, will it work if I do not have a valid SSL certificate (all I currently have is a test certificate, and it is not secure).

  3. If an event happens and the Rachio Cloud invokes my webhook call but it fails, is there any way for me to see what error message is being recorded? If I can’t do that, can someone from Rachio technical support do that for me?

As is, I’m rather shooting in the dark… any suggestions on what I should do to continue this development work would be most appreciated!

Thanks,

Brad

I know nothing about this, but:

I don’t know, but a quick test shows that webhook.site does accept and display a http request (on port 80), so if a Rachio http request to webhook.site does not appear, you probably need https.

I have no idea, but a packet capture at the destination should show whether the TCP connection gets opened and whether the TLS handshake is aborted because the client can’t verify your certificate. If this is the case, get a free https://letsencrypt.org/ cert, which on most systems can easily be made to auto-renew.

AFAIK no, but where the handshake fails should be an adequate clue as to what needs fixing.

Probably, but don’t hold your breath for anything more informative than ‘certificate verification failed’.

Stewart, thank you VERY much for this reply. I had not thought to try non-SSL calls (http://) to the webhook site, but as you noted, it definitely supports that. So I switched my sandbox app so that it registered a non-SSL URL in the Rachio WebHook and I started getting the callbacks as I expected.

To provide a bit more detail:

I’m writing this code in ASP.Net Core, and started with a basic web application right out of the Visual Studio wizard. It included a call to app.UseHttpsRedirection() which was causing the incoming calls from Racho to the http:/ endpoint to get redirected to the https:/ endpoint which would then fail the SSL checks. So I had to comment out the app.UserHttpsRedirection() call. Once I did that, the Racho WebHook callbacks to my http:/ endpoint started working.

I’ve never had to personally setup anything on SSL, so I guess it is now time for me to learn out to use letsencrypt.org to get a certificate and then learn how to use that certificate in the ASP.Net Core stack…