updatePersons

Method description

updatePersons is the method used to write new content into the identified 'person' recordin itslearning. This is an additive operation.

Preconditions for use

None.

Message Schema

Input parameters / request message elements

Name

Description

Data type

Allowed values

M/O

<personIdPairSet>

Wrapper for a list of personIdPair elements

M

<personIdPair>

Wrapper for a set of one <sourceId><identifier> and one <person> element

M

<sourceId><identifier>

The syncID of the person to be inserted

Text

Max 64 chars

M

<person>

The Person data to be stored in the new record. Refer to Managing persons for full details on the person object

Object

M

Please refer to the WSDL for the full element structure, only key elements are described here

Response message elements

Name

Description

Data type

<updatePersonsResponse>

Empty response element

Empty

Comments

You should provide the request with all mandatory fields for a person, not only the fields you want to update. If the syncID already exists in itslearning, the person with the syncId will be updated instead.

For each <identifier> in the request you will get a status in the <statusinfoSet><status> in the response. The order of the <statusInfoset><status> corresponds to the the order of the <identifier> in the request.

Example

Description

I want to update the following two persons in itslearning

  • syncID=333222

  • syncID=333444

Example request message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0" xmlns:ims1="http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0" xmlns:ims2="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0" xmlns:ims3="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<soapenv:Header>
<ims:syncRequestHeaderInfo>
<ims:messageIdentifier>1234567890</ims:messageIdentifier>
</ims:syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims1:updatePersonsRequest>
<ims1:personIdPairSet>
<ims1:personIdPair>
<ims1:sourcedId>
<ims2:identifier>333222</ims2:identifier>
</ims1:sourcedId>
<ims1:person>
<ims3:formatName xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ims3:name>
<ims3:partName>
<ims3:namePartType>First</ims3:namePartType>
<ims3:namePartValue>Marilyn</ims3:namePartValue>
</ims3:partName>
<ims3:partName>
<ims3:namePartType>Last</ims3:namePartType>
<ims3:namePartValue>Monroe</ims3:namePartValue>
</ims3:partName>
<ims3:partName>
<ims3:namePartType>Nick</ims3:namePartType>
<ims3:namePartValue>The Blonde Bombshell</ims3:namePartValue>
</ims3:partName>
</ims3:name>
<ims2:email>marilyn@mail.com</ims2:email>
<ims3:userId>
<ims2:userIdValue>marmon</ims2:userIdValue>
<ims2:passWord>123</ims2:passWord>
</ims3:userId>
<ims3:address/>
<ims3:demographics>
<ims3:bday>1926-06-01</ims3:bday>
</ims3:demographics>
<ims3:institutionRole>
<ims3:institutionRoleType>Student</ims3:institutionRoleType>
<ims3:primaryRoleType>true</ims3:primaryRoleType>
</ims3:institutionRole>
<ims3:tel>
<ims3:telType>Mobile</ims3:telType>
<ims3:telValue>7412689</ims3:telValue>
</ims3:tel>
<ims3:tel>
<ims3:telType>Voice</ims3:telType>
<ims3:telValue>55567645</ims3:telValue>
</ims3:tel>
</ims1:person>
</ims1:personIdPair>
<ims1:personIdPair>
<ims1:sourcedId>
<ims2:identifier>333444</ims2:identifier>
</ims1:sourcedId>
<ims1:person>
<ims3:formatName xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ims3:name>
<ims3:partName>
<ims3:namePartType>First</ims3:namePartType>
<ims3:namePartValue>Johnny</ims3:namePartValue>
</ims3:partName>
<ims3:partName>
<ims3:namePartType>Last</ims3:namePartType>
<ims3:namePartValue>Cash</ims3:namePartValue>
</ims3:partName>
<ims3:partName>
<ims3:namePartType>Nick</ims3:namePartType>
<ims3:namePartValue>The Man in Black</ims3:namePartValue>
</ims3:partName>
</ims3:name>
<ims2:email>johcas@mail.com</ims2:email>
<ims3:userId>
<ims2:userIdValue>johcas</ims2:userIdValue>
<ims2:passWord>123</ims2:passWord>
</ims3:userId>
<ims3:address/>
<ims3:demographics>
<ims3:bday>1999-03-22</ims3:bday>
</ims3:demographics>
<ims3:institutionRole>
<ims3:primaryRoleType>true</ims3:primaryRoleType>
</ims3:institutionRole>
<ims3:tel>
<ims3:telType>Mobile</ims3:telType>
<ims3:telValue>187233</ims3:telValue>
</ims3:tel>
<ims3:tel>
<ims3:telType>Voice</ims3:telType>
<ims3:telValue>54777623</ims3:telValue>
</ims3:tel>
</ims1:person>
</ims1:personIdPair>
</ims1:personIdPairSet>
</ims1:updatePersonsRequest>
</soapenv:Body>
</soapenv:Envelope>

Example response message

In this example, the second update failed because of missing mandatory data (institutionRoleType)

<s:Envelope>
<s:Header>
<h:syncResponseHeaderInfo>
<messageIdentifier>1234567890</messageIdentifier>
<statusInfoSet>
<statusInfo>
<codeMajor>success</codeMajor>
<severity>status</severity>
<messageIdRef>1234567890</messageIdRef>
</statusInfo>
<statusInfo>
<codeMajor>failure</codeMajor>
<severity>error</severity>
<codeMinor>
<codeMinorField>
<codeMinorName>personmanagement</codeMinorName>
<codeMinorValue>incompletedata</codeMinorValue>
</codeMinorField>
</codeMinor>
<messageIdRef>1234567890</messageIdRef>
<description>
<language>en-US</language>
<text>Some mandatory part of the data has been detected as missing by itslearning (ns0:InstitutionRoleType)</text>
</description>
</statusInfo>
</statusInfoSet>
</h:syncResponseHeaderInfo>
<o:Security s:mustUnderstand="1">
<u:Timestamp u:Id="_0">
<u:Created>2011-02-16T13:34:10.465Z</u:Created>
<u:Expires>2011-02-16T13:39:10.465Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<updatePersonsResponse/>
</s:Body>
</s:Envelope>