0

I created a webhook I let ran on my forge application. Webhook is "system": "derivative", on "event": "extraction.finished".

After a few weeks, hook was not triggered anymore. When I query it to check what was going:

  • webhook is still present
  • But, I now have "status": "inactive" (it was active at creation time)

I got no feedback why this hook was disabled (only way to figure it out is by being reported my main app was broken from users).

What can deactivate a webhook? is it expected?

Current workaround I have so far is re-create the webhook, which comes back with active status. Unfortunately, this is definitely a short-term solution since I do not know when it will move to inactive again.

Thank you,

dmulter
  • 2,608
  • 3
  • 15
  • 24
Fabien
  • 41
  • 7
  • I'd think your callback function for Webhook was not responsive for some certain reasons e.g. your test server stopped or the callback function handled an exception, yet did not send a response status. While when your other codes still posted job of Model Derivative. When webhook tried a couple of times but no any response, it will disable this webhook. IF your confirm the callback is working well, please send us the Webhook ID, I will check on backend if there is any clue. (email to forge.help@autodesk.com if you do not want to show the ID in public) – Xiaodong Liang Jul 04 '18 at 14:31
  • @XiaodongLiang : Mail sent. Are there any plans to have backend access on the hooks we own to check this? Thank you. – Fabien Jul 04 '18 at 21:06
  • We don’t have audit logs yet, it would probably be implemented in the future for user to check its callback activities on his own. Right now, the only way is checking with us. Sorry for the inconvenience. In addition, there is a possibility we would release PATCH endpoint, so that you can reactivate a disabled hook. In that case, there won’t need to recreate the hook after PATCH endpoint is available. – Xiaodong Liang Jul 05 '18 at 07:59

2 Answers2

1

Webhook status can be set to inactive if callbackUrl is failing too often (cf. comment from Xiaodong Liang "When webhook tried a couple of times but no any response, it will disable this webhook").

(In my case there was a place in my callbackUrl that was returning 500.)

Thanks

Fabien
  • 41
  • 7
0

I would recommend this class of Autodesk University: Seamless integration with Forge Webhooks. This class talks about some notes on Webhook such as SLA:

Working on formal SLA

Delivery Guarantees
  At least once
  Ordering is not guaranteed

Responsibility of Callback URLs
  Callback URLs have fixed time window in which to respond (~10 secs)
      Best Practice - Return 202 and process asynchronously
  3 Retries done, 15 minutes apart
  Final retry 24 hours later
  If none succeed, we will disable the WebHook

Latency
   HTTP Latency: Ideally suited to coarse grained events

In addition,I'd recommend another note of Webhook: signature. I have some practice and this is the blog: https://forge.autodesk.com/blog/practice-payload-signature-webhook

Xiaodong Liang
  • 2,051
  • 2
  • 9
  • 14