dljoyork
Community Participant

trigger certificate

As a Catalog subaccount admin, I sometimes have students who complete one of our courses outside of the days allotted.  This means that they don't get a certificate.  Is it possible to trigger Catalog to create the certificate? I've tried editing the section date and resaving the catalog and course in Catalog admin.  Will it trigger if the student goes back and "completes"  the module requirements again after I've changed the dates?  Or is there another way?

14 Replies
jsowalsk
Advocate

@dljoyork The only way I know people will be allotted certificates is if they complete the module requirements not necessary by the end dates of the course.

0 Kudos
KathyPalm
Community Participant

Hello!

Have you confirmed that the system recorded them as complete?
We find it very helpful to check using the API as we have had some user error with the completion settings. 

You can check with the API call:

https://YourURLhere/api/v1/courses/###/users/###/progress

You will get a response back like this:

"requirement_count": 4,
"requirement_completed_count": 4,
"next_requirement_url": null,
"completed_at": "2022-09-14T10:55:07Z"

If they haven't completed, then they don't have a date/time stamp

What we found then was that once they show as complete on the API call, usually the next day we could see their certificate in the Catalog admin panel. My understanding from support is that there is no direct trigger we can do, but the main thing is to confirm that the user has completed the requirements. Then Catalog should pick it up the next day. If it isn't visible in 48 hours after the timestamp, then I would recommend putting in a support case for that particular incident.

@KathyPalm This is great information! Can you look up the completion by a specific user or listing and user? If so, what is the API call?

0 Kudos
KathyPalm
Community Participant

@jsowalsk For this call you need both the Canvas course ID and user ID, so I believe you can only look it up if you know the specific course and user. I don't think you can use the listing ID here, but you would need to check from the listing which course it is.

 

In the Canvas Live API the call is under "Course" and called "Get User Progress" and looks like this:

/v1/courses/{course_id}/users/{user_id}/progress

 

I usually use the API call in my browser, you can replace the bold with your own values:

https://x.instructure.com/api/v1/courses/CourseID/users/UserID/progress

x.instructure.com should be your URL for your environment

CourseID is the course ID, in numbers, such as 101

and UserID is the user ID, also in numbers, such as 102

 

Hope this helps! We have found it very useful for troubleshooting certificates.

Hi @KathyPalm,

Just to clarify for other users, the course ID is the canvas course ID that can be found in a catalog listing and the user ID is the canvas user ID that can be found in catalog analytics or canvas correct? Is there a way to look up completion in bulk instead of user by user? Also, can this script be used if a user said they completed the course but the catalog analytics are not showing completion?

 

0 Kudos
KathyPalm
Community Participant

Hi @jsowalsk,

Yes exactly! Good clarification 😃 Canvas Course ID and Canvas User ID.

So far we've only been troubleshooting individual certificates so I hadn't thought to look for a bulk call, but there is one! That's very exciting.

 

It's also under courses, called "Get bulk user progress"

/v1/courses/{course_id}/bulk_user_progress

 

https://x.instructure.com/api/v1/courses/CanvasCourseID/bulk_user_progress

 

0 Kudos

@KathyPalm Awesome! So, to clarify, it is just by Canvas course by bulk and not Canvas User ID? For example, in Catalog analytics you can search by Catalog user ID/name and it brings up all the courses for that user and their analytics.

0 Kudos
KathyPalm
Community Participant

@jsowalsk Exactly so, bulk by Canavs course ID.

I took another look and while there is not a straight forward call perhaps for bulk results by Canvas user ID, you can do a call to list all courses for a user, and add the criteria to include progress. You get a LOT of information back, so this one may not feel so user friendly, but once you know what you are looking for it is probably quick enough to scroll through, depending on what you want to use this call for.

List courses for a user:
/v1/users/{user_id}/courses

https://x.instructure.com/api/v1/users/CanvasUserID/courses?include[]=course_progress

Thanks for asking! I hadn't thought to look for this option yet. 😃

0 Kudos

@KathyPalm Thank you! If you figure out a better call let me know.

0 Kudos
dljoyork
Community Participant

Thanks to both of you!  I will have to try the API call. I just look in module progress to verify completion, if it's not showing up in Catalog analytics.  In this case, after I had changed the section date for this student in course settings and resaved the listing and catalog, I asked the student to click through the module again.  That seemed to trigger the certificate, at least for him.  It still says "no certificate" for me in Catalog analytics.  The student's problem was resolved, even if I don't know exactly what did it.

@dljoyork You will need to ask Instructure support to get the analytics synced to show completion.

0 Kudos
KathyPalm
Community Participant

Good it's fixed for the student at least!
We placed a ticket yesterday to support for a similar issue, we couldn't see the certficiate but they had in fact completed.

In our case it turned out that the student can see it, but as we cannot see it in the admin panel we are waiting for more information on that from support.

0 Kudos
kmarengo
Community Participant

Is there a way to manually trigger the certificate of completion

0 Kudos

@kmarengo No unfortunately, there isnt.

0 Kudos