Postado originalmente em 11/06/2013 no Valence Developer Blog por Sarah-Beth Bianchi.
Na receita do Livro de receitas da API desta semana, demonstramos como adicionar um novo usuário ao Ambiente de aprendizagem usando as APIs do Brightspace. Nesse cenário, um aluno se matriculou e pode fazer login no portal da instituição, que atua como um sistema de informações do aluno e um mecanismo de logon único para o LMS. Quando o usuário entra no portal, precisamos verificar se o usuário existe no LMS. Se o usuário não existir, devemos adicioná-lo ao LMS, inscrevê-lo em seus cursos e, em seguida, prosseguir com a autenticação - tudo em um processo invisível para o usuário. Esse cenário pressupõe que o portal transmita os dados apropriados para a criação e o registro do usuário.
Sempre que um aluno faz login no portal, precisamos verificar se esse usuário já existe no LMS pesquisando o OrgDefinedId ou o UserName por meio do APIs do usuário. Vejamos um exemplo de um aluno com o nome de usuário NCage:
GET /d2l/api/lp/1.0/users/?userName=NCage200 OK{"OrgId":6606,"UserId":10222,"FirstName":"Nicolas","MiddleName": null,"LastName":"Cage","UserName":"NCage","ExternalEmail":"NCage@test.com","OrgDefinedId":"NCage","UniqueIdentifier":"NCage","Activation":{"IsActive":true},"DisplayName":"Nicolas Cage"}
Esse usuário já existe no LMS, portanto, o sistema deve prosseguir com a autenticação do usuário.
Agora vamos ver um exemplo em que um aluno não existe no LMS:
GET /d2l/api/lp/1.0/users/?userName=IElba404 Não encontrado{"Erros":[{"Mensagem": "Recurso não encontrado"}]}
Nesse caso, precisamos adicionar este novo usuário:
POST /d2l/api/lp/1.. 0/users/{"OrgDefinedId": "IElba","FirstName": "Idris","MiddleName": "","LastName": "Elba","ExternalEmail": "IElba@test.com","UserName": "IElba","RoleId": 578,"IsActive": true,"SendCreationEmail": "true"}200 OK{"OrgId":6606,"UserId":20216,"FirstName":"Idris","MiddleName":"","LastName":"Elba","UserName":"IElba","ExternalEmail":"IElba@test.com","OrgDefinedId":"IElba","UniqueIdentifier":"IElba","Activation":{"IsActive":true},"DisplayName":" Idris Elba"}
Ponta: Se você não estiver familiarizado com o RoleId que deve atribuir ao usuário, poderá recuperar uma lista de RoleId:
GET /d2l/api/lp/1.0/roles/200 OK[{"Identificador":"578","DisplayName":"Usuário final","Código":"Usuário final"},{"Identificador":"579","DisplayName":"Criador de recursos","Código":null},{"Identificador":"580","DisplayName":"Administrador","Código":null}]
Depois que o usuário é adicionado ao LMS, podemos recuperar uma lista de todos os registros desse usuário. Por exemplo, podemos recuperar esta lista para o usuário que acabamos de adicionar:
GET /d2l/api/lp/1.0/enrollments/users/20216/orgUnits/200 OK{"PagingInfo": {"Bookmark": "6609","HasMoreItems": false},"Items": [{"OrgUnit": {"Id": 6606,"Type": {"Id": 1,"Code": "Organização","Name": "Organização"},"Name": "Dev","Code": null},"Role": {"Id": 578,"Code": "Usuário final","Name": "Usuário final"}}}]}
Agora vamos inscrever o usuário em seu primeiro curso:
POST /d2l/api/lp/1.0/enrollments/{"OrgUnitId": 6609,"UserId": 20216,"RoleId": 578}200 OK{"OrgUnitId":6609,"UserId":20216,"RoleId":578,"IsCascading":false}
Isso conclui os conceitos básicos da criação de um novo usuário usando as APIs do Valence Learning Framework.