Are webhooks broken right now?

I’m using the webhooks UI to test against my local system and signatures are passing. Everything is working.

When I go to reenable or test my production webhooks though, the patreon webhook UI is not being helpful:

I click to test here, but I don’t get a status code back or any information at all about what’s going on. If I try to reenable my webhooks, it just increments the failure counter. Yet I’m able to hit my server directly. Something seems off or at the very least, I’m not getting any information.

I’ve even updated my server code to throw an error any time it’s hit. Every time I tell the webhook interface to test or resume, I don’t see any activity against my server.

Hey there! Thanks for reaching out. Can you send me your campaign ID, and I can try to dig into what’s going on?

We have some monitoring on Webhooks, and I haven’t seen anything wrong yet, but I can try to check for you.

1 Like

For sure, it’s: 1979990

Thanks for your patience here. I dug into our logs, and it looks like we attempted to make calls to your webhook multiple times, and it failed each time. Can you confirm the URL you’re looking at on your end? What URL are you expecting to be hit?

1 Like

/webhooks/patreon

The problem I’m having is that my logging isn’t showing errors either and your UI isn’t telling me even the status code that came back.

@phildini - Any updates?

Hey Omega, thanks for your patience. This is what we see in the DB, it looks like we tried to hit your webhooks and failed a bunch, can you confirm these are the right URIs?

corp-replica> select webhook_id, campaign_id, `trigger`, uri, num_consecutive_times_failed, last_attempted_at, created_at from webhooks where campaign_id = 1979990 and deleted_at is null;
+------------+-------------+----------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------------------+---------------------+----------------------------+
| webhook_id | campaign_id | trigger                                                                                                        | uri                                   | num_consecutive_times_failed | last_attempted_at   | created_at                 |
+------------+-------------+----------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------------------+---------------------+----------------------------+
| 9056       | 1979990     | members:create members:delete members:pledge:create members:pledge:delete members:pledge:update members:update | HTTPS://API.ARTMOI.ME/WEBHOOK/PATREON | 31                           | 2019-01-31 16:56:07 | 2018-11-30 14:17:58.984122 |
| 10064      | 1979990     |                                                                                                                | HTTPS://API.ARTMOI.ME/WEBHOOK/PATREON | 0                            | <null>              | 2019-01-31 16:48:34.868043 |
+------------+-------------+----------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------------------+---------------------+----------------------------+

@phildini

Yup, those are correct. I even have another patreon pointed to our live “beta” with similar URIs.

The information here is really hardly different to what you show in your webhook tester UI. One thing that sticks out however is that when I try to invoke a manual test hit against the endpoint, I don’t get any status code information back (204, 404, 500, etc). With my other patreon webhook accounts, I do get at least some report back of the status code you guys received back.

I’m not saying this to say I want to debug using your UI, what I’m saying is that between the fact that your UI is doing something different and the fact that I’m not tracking any hits against that endpoint, I feel like there might be something in your system that’s resulting in it misreporting failures (and possibly not even attempting?).