When calling the launch endpoint, using an id
that has been previously used will retrieve the details of that Space and not create a new one. On the other hand, if you want to create a new Space for new lessons, then use a unique id
each time. Therefore, should you wish to reuse the same Space for multiple lessons, simply call the launch endpoint using the same id
. For example, you might have a course called biology 101 that is run in the first term. A good identifier for this course could be biology-101-term1-20xx
and by calling the launch endpoint with this id
throughout the term, lessons will take place in the same Space.
Another option would be to have a concatenation of the teacher and the students name or id as id
. An example id
could be AliceSmith-BobJones-ChrisLi
. In this case, the association is with the teacher and the students and not strictly to the course. This works well for one-on-one tutoring; if the teacher or student changes, a new Space is created and the teacher will have a fresh start. The choice is yours as to which approach works best for your use case.
If you programmatically set the id
to be a concatenation of the teacher and all students, new students who join a course will change the id
and a new Space will be created. This may or may not be the desired effect.
id
, uuid
, launch_id
,room_id
slug
... All these terms can be confusing and it is easy to get them mixed up. Let's clear up the different terms and how/where to use each of them appropriately.
id
id
parameter.id
must be unique for an organisation but not necessarily across the whole of Lessonspace.id
would be some sort of relationship identifying the users of the space, for example english_teacher123
.name
parameter is passed in when creating the Space, the name
field will be the same as id
of the generated Space.id
will be retrieved.id
as a query parameter where the parameter is launch_id
.room_id
room_id
parameter which is a UUID.slug
attribute of the space
object.slug
attribute is used by the Organisation Session List endpoint as a query parameter where the parameter is space
.slug
space
object also has its own id
attribute which is a UUID. Currently, this is the same as the slug
attribute.slug
attribute instead of the id
unless when dealing with the id
from the launch endpoint.