Integrate SIS with Canvas LMS

833 views
Skip to first unread message

Manoj Lasantha

unread,
Mar 6, 2016, 7:50:04 AM3/6/16
to Canvas LMS Users
Hello Folks,

I am doing a POC for how to integrate SIS (Oracle PeopleSoft In our case) with Canvas LMS. I went through the API docs and figured out how the API works. The authentication is based on OAuth2 which is necessarily an user must be involved. My case is little be different. I have to update LMS once any course has been created in the SIS. For that i do not have any user token. My thinking was that LMS has a Key based authentication which allows SIS to call endpoints directly.

Has any one done such thing before? Any help appreciate. 

Thanks

Graham Ballantyne

unread,
Mar 7, 2016, 12:37:36 AM3/7/16
to canvas-l...@googlegroups.com
Have you looked at the SIS CSV import functionality (https://canvas.instructure.com/doc/api/sis_imports.html and https://canvas.instructure.com/doc/api/file.sis_csv.html)? That's the standard way of doing imports from a SIS, and it's how we deal with our PeopleSoft system. You'll still need to use an access token for an admin user. 


--

---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Graham Ballantyne
IT Services
Simon Fraser University

Cody Cutrer

unread,
Mar 7, 2016, 11:40:40 AM3/7/16
to canvas-l...@googlegroups.com
Manoj,

You'll still need an access token, but for an SIS integration like that the best practice is to create a dedicated admin user in Canvas for your SIS, and manually generate an access token for that user on their profile page, skipping the whole OAuth flow and registering of an application.

Cody Cutrer
Software Engineer
Instructure

--
Message has been deleted

Manoj Lasantha

unread,
Mar 12, 2016, 4:31:13 AM3/12/16
to Canvas LMS Users
Cody,

Thank you for your prompt reply. It was great. 

I was able to generate the token manually and try the API. It works like a charm. I am proceeding on POC.

Manoj Lasantha

unread,
Mar 12, 2016, 4:33:30 AM3/12/16
to Canvas LMS Users, gra...@sfu.ca
Hi Graham,

Thanks for the prompt reply. I was able to generate the access token and call the API. But i have not checked the CSV import feature yet. 

Do you use SAIP in your integration? 

Thanks

Graham Ballantyne

unread,
Mar 12, 2016, 11:47:48 AM3/12/16
to Manoj Lasantha, Canvas LMS Users
I don't believe we do, no. We don't integrate directly with our PeopleSoft system; there's a batch process that feeds information from PS into our identity management system, and our Canvas enrollment process gets is information from that system and generates the appropriate CSVs.


meshe...@gmail.com

unread,
Jul 25, 2018, 9:20:06 PM7/25/18
to Canvas LMS Users
Hi Manoj, 
Could you advise the process of generating token? For the tasks such as sis Import, the files are executed offline and we really don't need to look into the call back url. But the token generation request requires the callback URL. Any idea please. 

Regards, 
Raju

Graham Ballantyne

unread,
Jul 25, 2018, 9:59:05 PM7/25/18
to canvas-l...@googlegroups.com
For SIS imports you just need a regular access token generated for an admin user in that user’s settings. 

– 
Graham B
allantyne 
Senior Software Engineer | IT Services 
Simon Fraser University | Strand Hall 1001 
8888 University Dr., Burnaby, B.C. V5A 1S6 
604-837-6698  | gra...@sfu.ca

Meshed Group

unread,
Jul 26, 2018, 3:48:18 AM7/26/18
to canvas-l...@googlegroups.com
Hi Graham, 
Thank you for your quick reply. Where can we check the records created with sis import in canvas system? I am not quiet sure whether the record is inserted in the canvas system or not, but I am getting success response as below: 
{  
    "id":7,
    "created_at":"2018-07-26T01:45:44Z",
    "started_at":null,
    "ended_at":null,
    "updated_at":"2018-07-26T01:45:44Z",
    "progress":0,
    "workflow_state":"created",
    "data":{  
        "import_type":"instructure_csv"
    },
    "batch_mode":null,
    "batch_mode_term_id":null,
    "multi_term_batch_mode":null,
    "override_sis_stickiness":null,
    "add_sis_stickiness":null,
    "clear_sis_stickiness":null,
    "diffing_data_set_identifier":null,
    "diffed_against_import_id":null,
    "diffing_drop_status":null,
    "skip_deletes":false,
    "change_threshold":null,
    "user":{  
        "id":2,
        "name":"raju",
        "sortable_name":"raju",
        "short_name":"raju",
        "sis_user_id":null,
        "integration_id":null,
        "sis_import_id":null,
        "login_id":"raju"
    }
}


Regards, 
Raju

To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-users+unsubscribe@googlegroups.com.

Graham Ballantyne

unread,
Jul 26, 2018, 9:44:42 AM7/26/18
to canvas-l...@googlegroups.com
That response is a SisImport object (https://canvas.instructure.com/doc/api/sis_imports.html). SIS imports happen asychronously since they can often contain hundreds, if not thousands, of users. It's just telling you that your SIS import was received and that it'll start working on it. The "progress" field is 0, which means that it hasn't started yet (which is what you'd expect in a freshly-submitted import).

You can check to see if your import has succeeded in a couple of ways:
- in the UI: https://<canvas>/accounts/<account_id>/sis_import will show you the status of the last SIS import
- with the API: GET https://<canvas>/api/v1/<account_id>/sis_imports/<sis_import_id> (see https://canvas.instructure.com/doc/api/sis_imports.html#method.sis_imports_api.show for the docs; the sis_import_id field is the "id" field in the response you got when submitting the import – "7" in your example).

– 
Graham Ballantyne 
Senior Software Engineer | IT Services 
Simon Fraser University | Strand Hall 1001 
8888 University Dr., Burnaby, B.C. V5A 1S6 
604-837-6698  | gra...@sfu.ca

Meshed Group

unread,
Jul 26, 2018, 11:02:18 PM7/26/18
to canvas-l...@googlegroups.com
Hi Graham, 
Thank you for the details. Based on your experience, could you advise if the sis-import covers all the functionalities?

Regards, 
Raju

Graham Ballantyne

unread,
Jul 27, 2018, 2:00:45 AM7/27/18
to canvas-l...@googlegroups.com
I’m not quite sure I understand. Can you elaborate more on what it is you want to accomplish?

– 
Graham Ballantyne 
Senior Software Engineer | IT Services 
Simon Fraser University | Strand Hall 1001 
8888 University Dr., Burnaby, B.C. V5A 1S6 
604-837-6698  | gra...@sfu.ca

Meshed Group

unread,
Jul 27, 2018, 2:02:52 AM7/27/18
to canvas-l...@googlegroups.com
Hi Graham, 
I need to create user, add course, add enrollments, add assignments, add grading rules, and pull the course outcome. 

Regards, 
Raju

Graham Ballantyne

unread,
Jul 27, 2018, 2:06:30 AM7/27/18
to canvas-l...@googlegroups.com
Creating users, courses, and enrolments can be done through SID imports (https://canvas.instructure.com/doc/api/file.sis_csv.html). The others can be accomplished through the REST API  (https://canvas.instructure.com/doc/api/index.html)


– 
Graham Ballantyne 
Senior Software Engineer | IT Services 
Simon Fraser University | Strand Hall 1001 
8888 University Dr., Burnaby, B.C. V5A 1S6 
604-837-6698  | gra...@sfu.ca

Meshed Group

unread,
Jul 27, 2018, 2:20:36 AM7/27/18
to canvas-l...@googlegroups.com
Thanks Graham. 

Appreciate your support.


Regards, 
Raju

Meshed Group

unread,
Aug 6, 2018, 11:53:41 PM8/6/18
to canvas-l...@googlegroups.com
Hi Team, 
Could you help me to list the endpoints required to perform below operations: 
1. Getting students assignment marks for specific assignment and all assignments. 
2. Getting the course wise grade of the student. 

Many thanks. 

Regards, 
Raju
Reply all
Reply to author
Forward
0 new messages