Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

DRAFT * DRAFT * DRAFT

In this Section




Overview

Application Requirements

Each request must provide a valid API Key. You may request your own API Key by emailing either iam-data-admin@ucdavis.edu or middleware-api@ucdavis.edu.

Getting Started

The easiest way to start learning about this interface is to try it out. This section shows how to use the curl command line tool to execute sample queries.

Sample JSON Request
	curl -i -H "Accept: application/json" https://iet-ws-test.ucdavis.edu/api/iam/ids/search?externalId=1234567890&key=myKey&v=1.0

The response to all of the above requests have a Content-Type of text/javascript.  An example response for the the following request is shown below:

Sample JSON Response
{
  "responseData" : {
    "results" : [
{
 "iamId": "",
 "mothraId": "",
 "ppsId" : "",
"studentId": "",
"bannerPIdM": "",
"externalId": ""


},
{ ...<More results>.... }
 ],
  "responseDetails" : null,
  "responseStatus" : 0
}

JSON Reference

Unlike the core JavaScript interface, the JSON interface is exposed through a uniform URL that contains CGI arguments. Your application can use an HTTP stack of its choosing. In order to use the JSON interface:

  • You must construct a properly formatted URL with all necessary CGI arguments.
  • You must send an HTTP referer header that accurately identifies your application.
  • You must process the JSON-encoded response.

Request Format

URL Base Addresses

The following URL patterns are supported by the IAM Identity Store Core People API:

Supported URL Patterns
https://iet-ws.ucdavis.edu/api/iam/ids/{iamid}

https://iet-ws.ucdavis.edu/api/iam/ids/search

URL Arguments

This section describes the arguments that can be used for search requests.

The value of a CGI argument must always be properly escaped. This can be done via the functional equivalent of JavaScript's encodeURIComponent() method.

Required URL Arguments

The following table lists the required URL arguments.

Argument

Example

Description

key

key=your-key

This argument supplies the application's key. You can sign up for an API key <INSERT LINK HERE>.
It must be a valid key associated with your application. The key is required for this API to implement quality of service rules for this API. If your application is making too many requests it will be throttled to ensure resources are not overloaded during times of peak usage. Also, by supplying a key we can identify and contact you should something go wrong with your application.

v

v=1.0

This argument supplies protocol version number. The only valid value at this point in time is 1.0.

Supported URL arguments

The following table lists the supported URL arguments for each supported URL pattern.

At least one argument should be provided to perform a search. If multiple search criteria are provided an 'AND' search will be performed to match on all arguments.

Response Format

Each response follow this general format:

{
  "responseData" : {
    "results" : []
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 0 | error-code
}

In the JSON fragment above, note that the responseData property contains a results array and an optional cursor.

Results Array: guaranteed fields

The results array always contains the parameters listed in this section, even if the value is empty.

Property

Description

iamId

Unique University ID created by IAM system. Replaces MOTHRAID.

mothraId

Legacy unique ID from mothra system.

ppsId

PPS employee ID

studentId

Banner student ID

bannerPIdM

Banner alternative ID for faculty/instructors and students

externalId

Unique ID from external systems

results[]

results[] contains an array of bulk load result objects, one for each result. Each time the API executes, this property is cleared, and each time a API completes, the array is populated. If there are no results to report, the .length property of this array will be set to 0. Therefore, results will never be null, and you can always safely check for results.length == 0.

The responseStatus property contains a value of 0 on success and a custom error status code on failure. If there is a failure, responseDetails contains a diagnostic string.

Troubleshooting

If you encounter problems with your code:
  • Make sure your API key is valid.
  • Look for typos. Remember that JavaScript is a case-sensitive language.
  • Use a JavaScript debugger. In Firefox, you can use the JavaScript console or the Firebug. In IE, you can use the Microsoft Script Debugger.
  • If you need to examine the JSON string returned from the server, you can use JSON Lint to make a single, long string human readable.
  • Email either iam-data-admin@ucdavis.edu or middleware-api@ucdavis.edu. with a description of your problem and a trace of the request and response.
  • No labels