We're interested in using the callbacks available during content migration listed in this documentation:
Importing Extended Tool Configurations - Canvas LMS REST API Documentation
The configuration for setting up callbacks looks like this:
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>cartridge_basiclti_link</SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>blti</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imsbasiclti_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imsbasiclti_v1p0</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>lticm</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticm_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticm_v1p0</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>lticp</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticp_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticp_v1p0</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token">xmlns</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticc_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticc_v1p0</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xmlns:</SPAN>xsi</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow noopener noreferrer">http://www.w3.org/2001/XMLSchema-instance</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token"><SPAN class="namespace token">xsi:</SPAN>schemaLocation</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticc_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticc_v1p0</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imsbasiclti_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imsbasiclti_v1p0</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0p1.xsd" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0p1.xsd</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticm_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticm_v1p0</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/imslticp_v1p0" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/imslticp_v1p0</A><SPAN> </SPAN><A class="jive-link-external-small" href="http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd" rel="nofollow noopener noreferrer">http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd</A><SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">blti:</SPAN>extensions</SPAN> <SPAN class="attr-name token">platform</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>canvas.instructure.com<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">lticm:</SPAN>options</SPAN> <SPAN class="attr-name token">name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>content_migration<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">lticm:</SPAN>property</SPAN> <SPAN class="attr-name token">name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>export_start_url<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><A href="https://example.com/export/" target="test_blank" rel="nofollow noopener noreferrer">https://example.com/export/</A><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN><SPAN class="namespace token">lticm:</SPAN>property</SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN><SPAN class="namespace token">lticm:</SPAN>property</SPAN> <SPAN class="attr-name token">name</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>import_start_url<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">></SPAN></SPAN><A href="https://example.com/import/" target="test_blank" rel="nofollow noopener noreferrer">https://example.com/import/</A><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN><SPAN class="namespace token">lticm:</SPAN>property</SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN><SPAN class="namespace token">lticm:</SPAN>options</SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN><SPAN class="namespace token">blti:</SPAN>extensions</SPAN><SPAN class="punctuation token">></SPAN></SPAN><BR /><SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>cartridge_basiclti_link</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
We've done that with our tool. Now we're trying to figure out what the JSON object should look like mentioned in this portion of the documentation:
If any action needs to performed by the tool it MUST respond with a success HTTP status code and the body MUST include two urls, one for checking the progress of the export and one to retrieve the JSON to be returned to the tool upon import. In the event there is nothing to be exported respond with an empty JSON object as the body or a 4xx status code. Any status codes aside from 200 and 201 in responses will be treated as though there is nothing to be returned upon import.
Is there an example of the JSON object that we should respond with?
Thanks!
Justin