问题描述
我正在使用Autodesk Forge API将各种模型从各种格式转换为SVF文件,并尝试使用Webhooks API来侦听发布到Model Derivative服务的作业的转换完成事件。
我已经成功创建了Webhook,并通过调用get Hooks API端点验证了它的存在。以下是我收到的基本回复。
{
"hookId": "<my-hook-id>","tenant": "<my tennant>","callbackUrl": "<ngrok url>","createdBy": "...","event": "extraction.finished","createdDate": "2020-11-05T05:48:39.016+0000","system": "derivative","creatorType": "Application","status": "active","scope": {
"workflow": "<my-workflow-key>"
},"urn": "<webhook-urn>","__self__": "..."
}
在我的ngrok端点上,我有一个基本的Node ExpressJS服务器正在运行。服务器设置为响应我指定的回调URL中的所有方法。我还通过邮递员验证了我的回调URL是有效且有效的,并且已成功接收POST请求并返回有效的2XX响应。
然后,我将如下所示的翻译作业发布到Model Derivative API,该作业成功启动并处理了该作业。我可以通过Model Derivative API手动调用以检查作业的状态来验证这一点,但是我的webhook回调端点从未收到任何有关转换完成事件的通知。
{
"input": {
"urn": "<Input Urn>"
},"output": {
"destination": {
"region": "us"
},"formats": [
{
"type": "svf","views": ["3d"]
}
],"misc": {
"wokflow": "<my-workflow-key>"
}
}
}
关于Webhook事件似乎从未被触发的原因,或者是否可以从Autodesks / Forges端尝试触发Webhook事件的任何其他方式,我是否可能遗漏了任何明显的信息?
解决方法
工作负载中似乎有一个错字:wokflow
应该是workflow
。
请注意,您还可以使用https://webhook.site之类的在线工具测试传入的Webhook请求。