Batch transactions in CUPI

Version 1
    This document was generated from CDN thread

    Created by: Aki Namioka on 19-08-2010 08:21:19 PM
    How do I do a batch transaction in CUPI, e.g. to provision a large number of users at the same time?

    Subject: RE: Batch transactions in CUPI
    Replied by: David Wanagel on 19-08-2010 08:21:19 PM
    Here are the basic essentials for batch jobs, we can start with this and then answer other questions as they come up.  I have a java unit test written that runs a series of batch job operations that I can send if it would help as an example.
     
    First create a list of users that conform to the User.xsd, then POST that list of users to a URI like the following:
     
    POST http://<server>/vmrest/users/batch?op=POST&templateAlias=voicemailusertemplate
     
    If the POST is successful, the response from the POST is a URI that identifies the batch job (batch jobs run asynchronously).  The status of a batch job can be retrieved using the returned URI as follows:
     
    GET http://<server>/<uri returned from POST>/status
     
    The status will be a batch job status object as defined in BatchJob.xsd.  When the batch job status indicates the job is done, the results can be retrieved using a uri as follows:
     
    GET http://<server>/<uri returned from POST>
     
    The returned results will be a set of BatchResults as defined in BatchJob.xsd.  When donw with the batch job, it is good practice to delete the batch results using a uri as follows:
     
    DELETE http://<server>/<uri returned from POST>

    Subject: RE: Batch transactions in CUPI
    Replied by: zane england on 19-08-2010 08:21:21 PM
    Is it possible to pull a list of users that have sync'd via LDAP and import via a the same process?

    Subject: RE: Batch transactions in CUPI
    Replied by: David Wanagel on 19-08-2010 08:21:21 PM
    Due to internal implementation issues that we could not tackle in the 7.1(3) or 8.0 timeframe we do not currently have the ability to configure or manage LDAP imports via the API.
     
    To detect whether a user has been LDAP integrated, it is possible to check the LdapCcmPkid field on the User.  If it is not empty, the user is LDAP integrated.  But this would be a per user check, there is no direct way to pull just the users that are LDAP integrated.