Thanks @muh . James write is helpful. I was brainstorming ideas with my team and reading through the API documentation and I also wonder about using the List user page views API call. I don't think it's a perfect solution but if we parse through the results we can probably find the last module they were interacting with.
That would be a reasonable solution. But if you want really accurate and up-to-date data, here is another solution using Canvasbadge LTI. By enabling this LTI, you can set auto issue a badge to user when he/she complete a module. And then use this API (https://www.canvabadges.org/api/v1/badges/public/[userID]/[canvas domain].json) to verify the the badge status, which is also the Module completion status. Still this is not a perfect solution, but just for your reference.
That's interesting as well. HOw does the CanvasBadge LTI know when module is complete? Does it poll the Canvas API for that status?
That makes sense. That's the other API we're considering. We can let the user know what modules they have completed which is useful. We'd really like to be able to take them to the last place they left off which isn't necessarily the last thing they completed. i.e. they might have gone back to completed module for review or they might have left without finishing. That's why the page views API holds some promise. We'll pull that data and then look for the urls that are interested in the context of the tool we're building.
Thanks again for the help and the links!