We have an active integration that, for the most part, is working well. But we’ve noticed a pretty strange issue when it comes to how our Widget (App Component) gets wired up for Tasks that have been duplicated or are recurring in nature (which uses duplication to do the recurrence).
This is the scenario:
Setup: User successfully uses our integration to establish a link between their Task and our service. We use the Modal App Component to gather the necessary input and create the linkage/record in our database. When viewing the Task in Asana, calls to render our widget with an expected
attachment come through great and we can return a properly constructed widget. So far so good.
The problem: When that Task is duplicated (or recurs), Asana seems to generate a brand new
attachment ID that we’ve never seen before and assumes the link still exists. It then fetches our API with that ID, which results in a 404 (because it’s not in our database, because it was never linked). To the customer, this is what happens:
Here is a side-by-side of the original Task (working) and the duplicate Task (not working):
I believe there are two issues that are problematic:
- The incoming request on the duplicate Task is for an attachment ID that we never were informed about. How can we respond to it? In addition, the duplicate Task itself has no data in it that links it to the original Task, so it’s not possible for us to trace it back and retroactively stitch up the link with this new attachment ID.
- It’s odd that a 404 response appears as “authentication required” to the customer. It is not. The docs technically don’t say a 404 is allowed, so perhaps you’re doing the best you can do, but the only other options we have are 200, 418, and 500, none of which are appropriate here?
Is this a gap in the platform, or are we doing something very wrong?