Terra Dotta Software API Documentation
Back to Terra Dotta Software API Documentation Return to Public Site
Top
Top
Using our original call:
(the following XML packet is formatted for readability)
We can modify the call to return the data in SOAP format by specifying
(the following XML packet is formatted for readability)
We can modify the call to return the data in JSON format by specifying
(the following JSON packet is formatted for readability)
The data returned using JSON encoding is wrapped within the callback function,
Example 1: Following is an example of using ColdFusion to call the API and returning the data in a SOAP envelope:
Run Example 1 Top
(if your installation does not have any data, this example will not return anything)
Run Example 2 Top
(if your installation does not have any data, this example may not return anything)
Back to Terra Dotta Software API Documentation Top
getProgramSearchElements
Returns a list of search form elements to be used to create a custom program search page.URL
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements
The value for {site root} would represent your installation URL. The values returned from this function are in the following table.
- Table 1: Input arguments for getProgramSearchElements
- Table 2: Return values for getProgramSearchElements
- Example 1: Calling getProgramSearchElements with ColdFusion
- Example 2: Calling getProgramSearchElements with JavaScript
Top
Standard Input Parameters (jump to call specific input arguments) | |||
---|---|---|---|
Argument | Type | Required | Meaning |
ResponseEncoding | String | Optional | The data format to be returned by the API call. The value for ResponseEncoding can be one of the following values:
(case insensitive) |
CallBack | Boolean | Optional | Used with JSON only to specify if a callback function will be used or not. |
CallBackName | String | Optional | Used with JSON only to specify the callback function to use. |
Call-specific Input Parameters (jump to standard input arguments) | |||
Argument | Type | Required | Meaning |
program_name | Boolean | Optional | Returns program name field information. |
city | Boolean | Optional | Returns the available list of program cities. |
country | Boolean | Optional | Returns the available list of program countries |
region | Boolean | Optional | Returns the available list of program regions. |
terms | Boolean | Optional | Returns the available list of program terms. |
partner | Boolean | Optional | Returns the available list of program partner institutions. |
parameters | Boolean | Optional | Whether or not to return program parameters. Unless PARAM_IDS argument is specified, all parameters are returned. |
param_ids | List | Optional | Return only the parameters specified as a comma-delimited List. If used, PARAMETERS argument must be set to yes. |
program_type | Boolean | Optional | List of available program types. |
itemsort | Boolean | Optional | Available options to for sorting the search results. |
sortorder | Boolean | Optional | Available options for ordering the sorted data. |
Top
Return Value | Type | Meaning |
---|---|---|
display_name | String | The value that is displayed describing the search element. |
form_name | String | The expected form field name for the search element. |
param_type | String | The program parameter type when the PARAMETERS argument is enabled. |
options | Object | Object containing names and values of the requested search object. |
Using our original call:
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements
We would receive a packet of data in XML format (the default), that might resemble the following:
(the following XML packet is formatted for readability)
<elements>
<recordcount>19</recordcount>
<element>
<display_name>Program Name</display_name>
<form_name>program_name</form_name>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>program_type_id</form_name>
<options>
<option>
<name>Outgoing with SideTrips and OneStep</name>
<value>1</value>
</option>
<option>
<name>Inbound Exchange</name>
<value>2</value>
</option>
<option>
<name>Scholarship</name>
<value>3</value>
</option>
</options>
</element>
<element>
<display_name>Term</display_name>
<form_name>pt</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Academic Year</name>
<value>Academic Year</value>
</option>
<option>
<name>BOGUS</name>
<value>BOGUS</value>
</option>
<option>
<name>Year (SH)</name>
<value>Year (SH)</value>
</option>
</options>
</element>
<element>
<display_name>City</display_name>
<form_name>pi</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accra</name>
<value>Accra</value>
</option>
<option>
<name>Adelaide</name>
<value>Adelaide</value>
</option>
</options>
</element>
<element>
<display_name>Country</display_name>
<form_name>pc</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Argentina</name>
<value>Argentina</value>
</option>
<option>
<name>Australia</name>
<value>Australia</value>
</option>
</options>
</element>
<element>
<display_name>Region</display_name>
<form_name>pr</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Africa</name>
<value>Africa</value>
</option>
<option>
<name>Asia</name>
<value>Asia</value>
</option>
<option>
<name>Ascending</name>
<value>asc</value>
</option>
<option>
<name>Descending</name>
<value>desc</value>
</option>
</options>
</element>
<element>
<display_name>Eligibility</display_name>
<form_name>p_10000</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>1 First Year</name>
<value>1 First Year</value>
</option>
<option>
<name>2 Sophomore</name>
<value>2 Sophomore</value>
</option>
</options>
</element>
<element>
<display_name>Instruction language</display_name>
<form_name>p_10001</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Armenian</name>
<value>Armenian</value>
</option>
<option>
<name>Chinese</name>
<value>Chinese</value>
</option>
</options>
</element>
<element>
<display_name>Target Language</display_name>
<form_name>p_10002</form_name>
<param_type>SELCT</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Arabic</name>
<value>Arabic</value>
</option>
<option>
<name>Dutch</name>
<value>Dutch</value>
</option>
</options>
</element>
<element>
<display_name>Minimum GPA</display_name>
<form_name>p_10006</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.0</name>
<value>2.0</value>
</option>
<option>
<name>2.5</name>
<value>2.5</value>
</option>
</options>
</element>
<element>
<display_name>Housing Options</display_name>
<form_name>p_10008</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Apartment</name>
<value>Apartment</value>
</option>
<option>
<name>Dormitory</name>
<value>Dormitory</value>
</option>
<option>
<name>Homestay</name>
<value>Homestay</value>
</option>
</options>
</element>
<element>
<display_name>Satisfies diversity req</display_name>
<form_name>p_10009</form_name>
<param_type>YESNO</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Yes</name>
<value>Yes</value>
</option>
<option>
<name>No</name>
<value>No</value>
</option>
</options>
</element>
<element>
<display_name>Max Credits Offered</display_name>
<form_name>p_10010</form_name>
<param_type>MAXIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>03</name>
<value>03</value>
</option>
<option>
<name>06</name>
<value>06</value>
</option>
</options>
</element>
<element>
<display_name>Area of Study</display_name>
<form_name>p_10090</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Aboriginal Studies</name>
<value>Aboriginal Studies</value>
</option>
<option>
<name>African Studies</name>
<value>African Studies</value>
</option>
</options>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>p_10131</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>A</name>
<value>A</value>
</option>
<option>
<name>B</name>
<value>B</value>
</option>
<option>
<name>C</name>
<value>C</value>
</option>
</options>
</element>
<element>
<display_name>Mappings test param</display_name>
<form_name>p_10132</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accounting</name>
<value>Accounting</value>
</option>
<option>
<name>Aerospace Engineering</name>
<value>Aerospace Engineering</value>
</option>
</options>
</element>
<element>
<display_name>Min Val Test</display_name>
<form_name>p_10133</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.7</name>
<value>2.7</value>
</option>
<option>
<name>2.75</name>
<value>2.75</value>
</option>
</options>
</element>
</elements>
<recordcount>19</recordcount>
<element>
<display_name>Program Name</display_name>
<form_name>program_name</form_name>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>program_type_id</form_name>
<options>
<option>
<name>Outgoing with SideTrips and OneStep</name>
<value>1</value>
</option>
<option>
<name>Inbound Exchange</name>
<value>2</value>
</option>
<option>
<name>Scholarship</name>
<value>3</value>
</option>
</options>
</element>
<element>
<display_name>Term</display_name>
<form_name>pt</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Academic Year</name>
<value>Academic Year</value>
</option>
<option>
<name>BOGUS</name>
<value>BOGUS</value>
</option>
<option>
<name>Year (SH)</name>
<value>Year (SH)</value>
</option>
</options>
</element>
<element>
<display_name>City</display_name>
<form_name>pi</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accra</name>
<value>Accra</value>
</option>
<option>
<name>Adelaide</name>
<value>Adelaide</value>
</option>
</options>
</element>
<element>
<display_name>Country</display_name>
<form_name>pc</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Argentina</name>
<value>Argentina</value>
</option>
<option>
<name>Australia</name>
<value>Australia</value>
</option>
</options>
</element>
<element>
<display_name>Region</display_name>
<form_name>pr</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Africa</name>
<value>Africa</value>
</option>
<option>
<name>Asia</name>
<value>Asia</value>
</option>
<option>
<name>Ascending</name>
<value>asc</value>
</option>
<option>
<name>Descending</name>
<value>desc</value>
</option>
</options>
</element>
<element>
<display_name>Eligibility</display_name>
<form_name>p_10000</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>1 First Year</name>
<value>1 First Year</value>
</option>
<option>
<name>2 Sophomore</name>
<value>2 Sophomore</value>
</option>
</options>
</element>
<element>
<display_name>Instruction language</display_name>
<form_name>p_10001</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Armenian</name>
<value>Armenian</value>
</option>
<option>
<name>Chinese</name>
<value>Chinese</value>
</option>
</options>
</element>
<element>
<display_name>Target Language</display_name>
<form_name>p_10002</form_name>
<param_type>SELCT</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Arabic</name>
<value>Arabic</value>
</option>
<option>
<name>Dutch</name>
<value>Dutch</value>
</option>
</options>
</element>
<element>
<display_name>Minimum GPA</display_name>
<form_name>p_10006</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.0</name>
<value>2.0</value>
</option>
<option>
<name>2.5</name>
<value>2.5</value>
</option>
</options>
</element>
<element>
<display_name>Housing Options</display_name>
<form_name>p_10008</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Apartment</name>
<value>Apartment</value>
</option>
<option>
<name>Dormitory</name>
<value>Dormitory</value>
</option>
<option>
<name>Homestay</name>
<value>Homestay</value>
</option>
</options>
</element>
<element>
<display_name>Satisfies diversity req</display_name>
<form_name>p_10009</form_name>
<param_type>YESNO</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Yes</name>
<value>Yes</value>
</option>
<option>
<name>No</name>
<value>No</value>
</option>
</options>
</element>
<element>
<display_name>Max Credits Offered</display_name>
<form_name>p_10010</form_name>
<param_type>MAXIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>03</name>
<value>03</value>
</option>
<option>
<name>06</name>
<value>06</value>
</option>
</options>
</element>
<element>
<display_name>Area of Study</display_name>
<form_name>p_10090</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Aboriginal Studies</name>
<value>Aboriginal Studies</value>
</option>
<option>
<name>African Studies</name>
<value>African Studies</value>
</option>
</options>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>p_10131</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>A</name>
<value>A</value>
</option>
<option>
<name>B</name>
<value>B</value>
</option>
<option>
<name>C</name>
<value>C</value>
</option>
</options>
</element>
<element>
<display_name>Mappings test param</display_name>
<form_name>p_10132</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accounting</name>
<value>Accounting</value>
</option>
<option>
<name>Aerospace Engineering</name>
<value>Aerospace Engineering</value>
</option>
</options>
</element>
<element>
<display_name>Min Val Test</display_name>
<form_name>p_10133</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.7</name>
<value>2.7</value>
</option>
<option>
<name>2.75</name>
<value>2.75</value>
</option>
</options>
</element>
</elements>
We can modify the call to return the data in SOAP format by specifying
ResponseEncoding=SOAP
:
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements&ResponseEncoding=SOAP
We would receive a packet of XML wrapped within a SOAP envelope that might resemble the following:
(the following XML packet is formatted for readability)
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body> <elements>
<recordcount>19</recordcount>
<element>
<display_name>Program Name</display_name>
<form_name>program_name</form_name>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>program_type_id</form_name>
<options>
<option>
<name>Outgoing with SideTrips and OneStep</name>
<value>1</value>
</option>
<option>
<name>Inbound Exchange</name>
<value>2</value>
</option>
<option>
<name>Scholarship</name>
<value>3</value>
</option>
</options>
</element>
<element>
<display_name>Term</display_name>
<form_name>pt</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Academic Year</name>
<value>Academic Year</value>
</option>
<option>
<name>BOGUS</name>
<value>BOGUS</value>
</option>
<option>
<name>Year (SH)</name>
<value>Year (SH)</value>
</option>
</options>
</element>
<element>
<display_name>City</display_name>
<form_name>pi</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accra</name>
<value>Accra</value>
</option>
<option>
<name>Adelaide</name>
<value>Adelaide</value>
</option>
</options>
</element>
<element>
<display_name>Country</display_name>
<form_name>pc</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Argentina</name>
<value>Argentina</value>
</option>
<option>
<name>Australia</name>
<value>Australia</value>
</option>
</options>
</element>
<element>
<display_name>Region</display_name>
<form_name>pr</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Africa</name>
<value>Africa</value>
</option>
<option>
<name>Asia</name>
<value>Asia</value>
</option>
<option>
<name>Ascending</name>
<value>asc</value>
</option>
<option>
<name>Descending</name>
<value>desc</value>
</option>
</options>
</element>
<element>
<display_name>Eligibility</display_name>
<form_name>p_10000</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>1 First Year</name>
<value>1 First Year</value>
</option>
<option>
<name>2 Sophomore</name>
<value>2 Sophomore</value>
</option>
</options>
</element>
<element>
<display_name>Instruction language</display_name>
<form_name>p_10001</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Armenian</name>
<value>Armenian</value>
</option>
<option>
<name>Chinese</name>
<value>Chinese</value>
</option>
</options>
</element>
<element>
<display_name>Target Language</display_name>
<form_name>p_10002</form_name>
<param_type>SELCT</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Arabic</name>
<value>Arabic</value>
</option>
<option>
<name>Dutch</name>
<value>Dutch</value>
</option>
</options>
</element>
<element>
<display_name>Minimum GPA</display_name>
<form_name>p_10006</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.0</name>
<value>2.0</value>
</option>
<option>
<name>2.5</name>
<value>2.5</value>
</option>
</options>
</element>
<element>
<display_name>Housing Options</display_name>
<form_name>p_10008</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Apartment</name>
<value>Apartment</value>
</option>
<option>
<name>Dormitory</name>
<value>Dormitory</value>
</option>
<option>
<name>Homestay</name>
<value>Homestay</value>
</option>
</options>
</element>
<element>
<display_name>Satisfies diversity req</display_name>
<form_name>p_10009</form_name>
<param_type>YESNO</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Yes</name>
<value>Yes</value>
</option>
<option>
<name>No</name>
<value>No</value>
</option>
</options>
</element>
<element>
<display_name>Max Credits Offered</display_name>
<form_name>p_10010</form_name>
<param_type>MAXIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>03</name>
<value>03</value>
</option>
<option>
<name>06</name>
<value>06</value>
</option>
</options>
</element>
<element>
<display_name>Area of Study</display_name>
<form_name>p_10090</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Aboriginal Studies</name>
<value>Aboriginal Studies</value>
</option>
<option>
<name>African Studies</name>
<value>African Studies</value>
</option>
</options>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>p_10131</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>A</name>
<value>A</value>
</option>
<option>
<name>B</name>
<value>B</value>
</option>
<option>
<name>C</name>
<value>C</value>
</option>
</options>
</element>
<element>
<display_name>Mappings test param</display_name>
<form_name>p_10132</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accounting</name>
<value>Accounting</value>
</option>
<option>
<name>Aerospace Engineering</name>
<value>Aerospace Engineering</value>
</option>
</options>
</element>
<element>
<display_name>Min Val Test</display_name>
<form_name>p_10133</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.7</name>
<value>2.7</value>
</option>
<option>
<name>2.75</name>
<value>2.75</value>
</option>
</options>
</element>
</elements>
</soapenv:Body>
</soapenv:Envelope>
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body> <elements>
<recordcount>19</recordcount>
<element>
<display_name>Program Name</display_name>
<form_name>program_name</form_name>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>program_type_id</form_name>
<options>
<option>
<name>Outgoing with SideTrips and OneStep</name>
<value>1</value>
</option>
<option>
<name>Inbound Exchange</name>
<value>2</value>
</option>
<option>
<name>Scholarship</name>
<value>3</value>
</option>
</options>
</element>
<element>
<display_name>Term</display_name>
<form_name>pt</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Academic Year</name>
<value>Academic Year</value>
</option>
<option>
<name>BOGUS</name>
<value>BOGUS</value>
</option>
<option>
<name>Year (SH)</name>
<value>Year (SH)</value>
</option>
</options>
</element>
<element>
<display_name>City</display_name>
<form_name>pi</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accra</name>
<value>Accra</value>
</option>
<option>
<name>Adelaide</name>
<value>Adelaide</value>
</option>
</options>
</element>
<element>
<display_name>Country</display_name>
<form_name>pc</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Argentina</name>
<value>Argentina</value>
</option>
<option>
<name>Australia</name>
<value>Australia</value>
</option>
</options>
</element>
<element>
<display_name>Region</display_name>
<form_name>pr</form_name>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Africa</name>
<value>Africa</value>
</option>
<option>
<name>Asia</name>
<value>Asia</value>
</option>
<option>
<name>Ascending</name>
<value>asc</value>
</option>
<option>
<name>Descending</name>
<value>desc</value>
</option>
</options>
</element>
<element>
<display_name>Eligibility</display_name>
<form_name>p_10000</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>1 First Year</name>
<value>1 First Year</value>
</option>
<option>
<name>2 Sophomore</name>
<value>2 Sophomore</value>
</option>
</options>
</element>
<element>
<display_name>Instruction language</display_name>
<form_name>p_10001</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Armenian</name>
<value>Armenian</value>
</option>
<option>
<name>Chinese</name>
<value>Chinese</value>
</option>
</options>
</element>
<element>
<display_name>Target Language</display_name>
<form_name>p_10002</form_name>
<param_type>SELCT</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Arabic</name>
<value>Arabic</value>
</option>
<option>
<name>Dutch</name>
<value>Dutch</value>
</option>
</options>
</element>
<element>
<display_name>Minimum GPA</display_name>
<form_name>p_10006</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.0</name>
<value>2.0</value>
</option>
<option>
<name>2.5</name>
<value>2.5</value>
</option>
</options>
</element>
<element>
<display_name>Housing Options</display_name>
<form_name>p_10008</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Apartment</name>
<value>Apartment</value>
</option>
<option>
<name>Dormitory</name>
<value>Dormitory</value>
</option>
<option>
<name>Homestay</name>
<value>Homestay</value>
</option>
</options>
</element>
<element>
<display_name>Satisfies diversity req</display_name>
<form_name>p_10009</form_name>
<param_type>YESNO</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Yes</name>
<value>Yes</value>
</option>
<option>
<name>No</name>
<value>No</value>
</option>
</options>
</element>
<element>
<display_name>Max Credits Offered</display_name>
<form_name>p_10010</form_name>
<param_type>MAXIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>03</name>
<value>03</value>
</option>
<option>
<name>06</name>
<value>06</value>
</option>
</options>
</element>
<element>
<display_name>Area of Study</display_name>
<form_name>p_10090</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Aboriginal Studies</name>
<value>Aboriginal Studies</value>
</option>
<option>
<name>African Studies</name>
<value>African Studies</value>
</option>
</options>
</element>
<element>
<display_name>Program Type</display_name>
<form_name>p_10131</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>A</name>
<value>A</value>
</option>
<option>
<name>B</name>
<value>B</value>
</option>
<option>
<name>C</name>
<value>C</value>
</option>
</options>
</element>
<element>
<display_name>Mappings test param</display_name>
<form_name>p_10132</form_name>
<param_type>MULTI</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>Accounting</name>
<value>Accounting</value>
</option>
<option>
<name>Aerospace Engineering</name>
<value>Aerospace Engineering</value>
</option>
</options>
</element>
<element>
<display_name>Min Val Test</display_name>
<form_name>p_10133</form_name>
<param_type>MINIM</param_type>
<options>
<option>
<name>Any</name>
<value/>
</option>
<option>
<name>2.7</name>
<value>2.7</value>
</option>
<option>
<name>2.75</name>
<value>2.75</value>
</option>
</options>
</element>
</elements>
</soapenv:Body>
</soapenv:Envelope>
We can modify the call to return the data in JSON format by specifying
ResponseEncoding=JSON
:
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements&ResponseEncoding=JSON
We would receive a JSON-encoded packet:
(the following JSON packet is formatted for readability)
_cb_getProgramSearchElements( { "ELEMENT": { "19": { "DISPLAY_NAME":"Min Val Test", "PARAM_TYPE":"MINIM", "FORM_NAME":"p_10133", "OPTIONS": { "OPTION": { "3": { "NAME":2.75,"VALUE":2.75 }, "2": { "NAME":2.7,"VALUE":2.7 }, "1": { "NAME":"Any","VALUE":"" }, } } }, "17": { "DISPLAY_NAME":"Program Type", "PARAM_TYPE":"MULTI", "FORM_NAME":"p_10131", "OPTIONS": { "OPTION": { "3": { "NAME":"B","VALUE":"B" }, "2": { "NAME":"A","VALUE":"A" }, "1": { "NAME":"Any","VALUE":"" }, } } }, "3": { "DISPLAY_NAME":"Country", "FORM_NAME":"pc", "OPTIONS": { "OPTION": { "35": { "NAME":"New Zealand","VALUE":"New Zealand" }, "36": { "NAME":"Peru","VALUE":"Peru" } } } }, "2": { "DISPLAY_NAME":"City", "FORM_NAME":"pi", "OPTIONS": { "OPTION": { "35": { "NAME":"Chapman University", "VALUE":"Chapman University" }, "36": { "NAME":"Chengdu", "VALUE":"Chengdu" } } } }, "1": { "DISPLAY_NAME":"Term", "FORM_NAME":"pt", "OPTIONS": { "OPTION": { "15": { "NAME":"Year (SH)", "VALUE":"Year (SH)" }, "13": { "NAME":"Summer", "VALUE":"Summer" }, "14": { "NAME":"Winter", "VALUE":"Winter" } } } }, "4": { "DISPLAY_NAME":"Region", "FORM_NAME":"pr", "OPTIONS": { "OPTION": { "13": { "NAME":"South America", "VALUE":"South America" }, "11": { "NAME":"Oceania", "VALUE":"Oceania" } } } }, "RECORDCOUNT":6 } );
The data returned using JSON encoding is wrapped within the callback function,
_cb_getProgramSearchElements()
.
By default, all JSON calls are returned within a callback wrapper function in form of:
_cb_callName()
Where callName
represents the name of the function you originally called.
To override this, you can specify the callBackName
argument, as in:
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements&Program_ID=10001&ResponseEncoding=JSON&callBackName=MyCallBackFunction
This call would return the JSON packet wrapped within the callback function, MyCallBackFunction
, as in:
_cb_MyCallBackFunction(...json-encoded data...)
In your custom pages, you would then create a corresponding function to handle this custom callback function:
<script language="JavaScript" type="text/javascript">
<!--
// <![CDATA[
function _cb_MyCallBackFunction(data)
{
// put additional routines here
}
// ]]>
//-->
</script>
If you would like to receive the data without a callback function, you can use the argument <!--
// <![CDATA[
function _cb_MyCallBackFunction(data)
{
// put additional routines here
}
// ]]>
//-->
</script>
callBack
to override this. Specifying a value of false
for the callBack
argument returns the data without the callback function, as in:
http://{site root}/piapi/index.cfm?callName=getProgramSearchElements&ResponseEncoding=JSON&Program_ID=10001&callBack=false
Note: specifying callBack=true
is implied and is unnecessary for returning JSON data with a callback function.
Example 1: Following is an example of using ColdFusion to call the API and returning the data in a SOAP envelope:
Run Example 1 Top
(if your installation does not have any data, this example will not return anything)
<!---// local variables //--->
<cfparam name="responsePacket" default="[ no response ]" />
<cfparam name="url.program_id" default="10001" />
<!---// connect to the API (GET or POST) //--->
<cfhttp result="httpCall" method="post" url="#REQUEST.CurrentAccount.AccountURL()#piapi/index.cfm">
<cfhttpparam name="callName" type="url" value="getProgramSearchElements" />
<cfhttpparam name="ResponseEncoding" type="url" value="SOAP" />
<cfhttpparam name="Program_id" type="url" value="#url.program_id#" />
</cfhttp>
<!---// ensure the response is in XML format //--->
<cfif isXml(httpCall.fileContent)>
<!---// parse response //--->
<cfset responsePacket = xmlParse(httpCall.fileContent) />
<!---// check to see if an error was thrown //--->
<cfset err = xmlSearch(responsePacket, "//extrainfo") />
<!---// an error was thrown //--->
<cfif isArray(err) and not arrayIsEmpty(err)>
<!---// throw error //--->
<cfthrow message="#err[1].xmlText#" />
<cfabort />
</cfif>
<cfelse>
<!---// additional error checking //--->
</cfif>
<!---// additional code goes here //--->
<h2>Output for 'responsePacket':</h2>
<cfdump VAR="#responsePacket#" />
Example 2: Following is an example using JSON and client-side JavaScript to render a program search widget using the program search elements:<cfparam name="responsePacket" default="[ no response ]" />
<cfparam name="url.program_id" default="10001" />
<!---// connect to the API (GET or POST) //--->
<cfhttp result="httpCall" method="post" url="#REQUEST.CurrentAccount.AccountURL()#piapi/index.cfm">
<cfhttpparam name="callName" type="url" value="getProgramSearchElements" />
<cfhttpparam name="ResponseEncoding" type="url" value="SOAP" />
<cfhttpparam name="Program_id" type="url" value="#url.program_id#" />
</cfhttp>
<!---// ensure the response is in XML format //--->
<cfif isXml(httpCall.fileContent)>
<!---// parse response //--->
<cfset responsePacket = xmlParse(httpCall.fileContent) />
<!---// check to see if an error was thrown //--->
<cfset err = xmlSearch(responsePacket, "//extrainfo") />
<!---// an error was thrown //--->
<cfif isArray(err) and not arrayIsEmpty(err)>
<!---// throw error //--->
<cfthrow message="#err[1].xmlText#" />
<cfabort />
</cfif>
<cfelse>
<!---// additional error checking //--->
</cfif>
<!---// additional code goes here //--->
<h2>Output for 'responsePacket':</h2>
<cfdump VAR="#responsePacket#" />
Run Example 2 Top
(if your installation does not have any data, this example may not return anything)
<script language="JavaScript" type="text/javascript">
<!--
// <![CDATA[
<!--Domain name, API url and site url-->
<!--Base url can be modified corresponding to the University/School-->
var path=window.location.pathname.split('/');
var baseapiurl=window.location.protocol+'//'+window.location.host+'/'+path[1]+'/piapi/index.cfm';
var basicsearchcontent= '<div id="basicsearchcontainer">&<form name="frm" id="frm"
enctype="multipart/form-data"><table width="218" border="1" rules="cols"><tr>
<th width="208" height="25" align="left" bgcolor="#CCCC99">Search Our Programs:</th>
</tr><tr><td align="left" >City<br />{PROGRAM_CITY}</select></td></tr><tr>
<td align="left" >Country<br />{PROGRAM_COUNTRY}</td></tr><tr>
<td align="left">Region<br />{PROGRAM_REGION}</td></tr><tr>
<td align="left">Term<br />{PROGRAM_TERMS}</td></tr ><tr><td align="center">
<input type="button" name="button" id="button" value="-Search-" onclick="Search()" />
</td></tr></table></form></div>'
function callApi() {
var url = baseapiurl + "?callname=getProgramSearchElements&city=yes&country=yes®ion=yes
&terms=yes&ResponseEncoding=json";
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
head.appendChild(script);
}
function _cb_getProgramSearchElements(root) {
basicsearch = basicsearchcontent;
if (root.RECORDCOUNT > 0) {
var prg_elements = root.ELEMENT;
var appendterms = "<option value=''>Any</option>";
var appendcity = "<option value=''>Any</option>";
var appendcountry = "<option value=''>Any</option>";
var appendregion = "<option value=''>Any</option>";
var frm_term_name = "";
var frm_city_name = "";
var frm_country_name = "";
var frm_region_name = "";
if (prg_elements) {
for (var key in prg_elements) {
var obj = prg_elements[key];
if (key == "1") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var terms = objoptions[proper];
for (var termproper in terms) {
var termsopt = terms[termproper];
for (var t in termsopt) {
if (t == "VALUE") {
if (termsopt[t] != "") {
if (appendterms != "") {
appendterms = appendterms + ("<option value='"
+ termsopt[t] + "'>" + termsopt[t] + "</option>");
} else {
appendterms = "<option value='" + termsopt[t] + "'>"
+ termsopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_term_name = obj[prop];
}
}
}
if (key == "2") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var city = objoptions[proper];
for (var cityproper in city) {
var cityopt = city[cityproper];
for (var t in cityopt) {
if (t == "VALUE") {
if (cityopt[t] != "") {
if (appendcity != "") {
appendcity = appendcity + ("<option value='" + cityopt[t]
+ "'>" + cityopt[t] + "</option>");
} else {
appendcity = "<option value='" + cityopt[t] + "'>"
+ cityopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_city_name = obj[prop];
}
}
}
if (key == "3") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var country = objoptions[proper];
for (var countryproper in country) {
var countryopt = country[countryproper];
for (var t in countryopt) {
if (t == "VALUE") {
if (countryopt[t] != "") {
if (appendcountry != "") {
appendcountry = appendcountry + ("<option value='"
+ countryopt[t] + "'>" + countryopt[t] + "</option>");
} else {
appendcountry = "<option value='" + countryopt[t]
+ "'>" + countryopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_country_name = obj[prop];
}
}
}
if (key == "4") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var region = objoptions[proper];
for (var regionproper in region) {
var regionopt = region[regionproper];
for (var t in regionopt) {
if (t == "VALUE") {
if (regionopt[t] != "") {
if (appendregion != "") {
appendregion = appendregion + ("<option value='"
+ regionopt[t] + "'>" + regionopt[t] + "</option>");
} else {
appendregion = "<option value='" + regionopt[t]
+ "'>" + regionopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_region_name = obj[prop];
}
}
}
}
}
}
basicsearch = basicsearch.replace("{PROGRAM_TERMS}",
"<select name=\"{FORM_TERM_NAME}\" id=\"{FORM_TERM_NAME}\">" + appendterms + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_CITY}",
"<select name=\"{FORM_CITY_NAME}\" id=\"{FORM_CITY_NAME}\" >" + appendcity + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_COUNTRY}",
"<select name=\"{FORM_COUNTRY_NAME}\" id=\"{FORM_COUNTRY_NAME}\">" + appendcountry + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_REGION}",
"<select name=\"{FORM_REGION_NAME}\" id=\"{FORM_REGION_NAME}\">" + appendregion + "</select>");
basicsearch = basicsearch.replace(/FORM_CITY_NAME/g, frm_city_name);
basicsearch = basicsearch.replace(/FORM_TERM_NAME/g, frm_term_name);
basicsearch = basicsearch.replace(/FORM_COUNTRY_NAME/g, frm_country_name);
basicsearch = basicsearch.replace(/FORM_REGION_NAME/g, frm_region_name);
document.body.innerHTML = document.body.innerHTML + basicsearch;
}
function Search() {
var selectedcountry = document.frm.pc.value;
var selectedterm = document.frm.pt.value;
var selectedcity = document.frm.pi.value;
var selectedregion = document.frm.pr.value;
}
// ]]>
//-->
</script>
<script language="JavaScript" type="text/javascript">
callApi();
</script>
For additional techniques, be sure to visit the other program calls within these documentation pages.
<!--
// <![CDATA[
<!--Domain name, API url and site url-->
<!--Base url can be modified corresponding to the University/School-->
var path=window.location.pathname.split('/');
var baseapiurl=window.location.protocol+'//'+window.location.host+'/'+path[1]+'/piapi/index.cfm';
var basicsearchcontent= '<div id="basicsearchcontainer">&<form name="frm" id="frm"
enctype="multipart/form-data"><table width="218" border="1" rules="cols"><tr>
<th width="208" height="25" align="left" bgcolor="#CCCC99">Search Our Programs:</th>
</tr><tr><td align="left" >City<br />{PROGRAM_CITY}</select></td></tr><tr>
<td align="left" >Country<br />{PROGRAM_COUNTRY}</td></tr><tr>
<td align="left">Region<br />{PROGRAM_REGION}</td></tr><tr>
<td align="left">Term<br />{PROGRAM_TERMS}</td></tr ><tr><td align="center">
<input type="button" name="button" id="button" value="-Search-" onclick="Search()" />
</td></tr></table></form></div>'
function callApi() {
var url = baseapiurl + "?callname=getProgramSearchElements&city=yes&country=yes®ion=yes
&terms=yes&ResponseEncoding=json";
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
head.appendChild(script);
}
function _cb_getProgramSearchElements(root) {
basicsearch = basicsearchcontent;
if (root.RECORDCOUNT > 0) {
var prg_elements = root.ELEMENT;
var appendterms = "<option value=''>Any</option>";
var appendcity = "<option value=''>Any</option>";
var appendcountry = "<option value=''>Any</option>";
var appendregion = "<option value=''>Any</option>";
var frm_term_name = "";
var frm_city_name = "";
var frm_country_name = "";
var frm_region_name = "";
if (prg_elements) {
for (var key in prg_elements) {
var obj = prg_elements[key];
if (key == "1") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var terms = objoptions[proper];
for (var termproper in terms) {
var termsopt = terms[termproper];
for (var t in termsopt) {
if (t == "VALUE") {
if (termsopt[t] != "") {
if (appendterms != "") {
appendterms = appendterms + ("<option value='"
+ termsopt[t] + "'>" + termsopt[t] + "</option>");
} else {
appendterms = "<option value='" + termsopt[t] + "'>"
+ termsopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_term_name = obj[prop];
}
}
}
if (key == "2") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var city = objoptions[proper];
for (var cityproper in city) {
var cityopt = city[cityproper];
for (var t in cityopt) {
if (t == "VALUE") {
if (cityopt[t] != "") {
if (appendcity != "") {
appendcity = appendcity + ("<option value='" + cityopt[t]
+ "'>" + cityopt[t] + "</option>");
} else {
appendcity = "<option value='" + cityopt[t] + "'>"
+ cityopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_city_name = obj[prop];
}
}
}
if (key == "3") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var country = objoptions[proper];
for (var countryproper in country) {
var countryopt = country[countryproper];
for (var t in countryopt) {
if (t == "VALUE") {
if (countryopt[t] != "") {
if (appendcountry != "") {
appendcountry = appendcountry + ("<option value='"
+ countryopt[t] + "'>" + countryopt[t] + "</option>");
} else {
appendcountry = "<option value='" + countryopt[t]
+ "'>" + countryopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_country_name = obj[prop];
}
}
}
if (key == "4") {
for (var prop in obj) {
if (prop == "OPTIONS") {
var objoptions = obj[prop];
for (var proper in objoptions) {
var region = objoptions[proper];
for (var regionproper in region) {
var regionopt = region[regionproper];
for (var t in regionopt) {
if (t == "VALUE") {
if (regionopt[t] != "") {
if (appendregion != "") {
appendregion = appendregion + ("<option value='"
+ regionopt[t] + "'>" + regionopt[t] + "</option>");
} else {
appendregion = "<option value='" + regionopt[t]
+ "'>" + regionopt[t] + "</option>";
}
}
}
}
}
}
}
if (prop == "FORM_NAME") {
frm_region_name = obj[prop];
}
}
}
}
}
}
basicsearch = basicsearch.replace("{PROGRAM_TERMS}",
"<select name=\"{FORM_TERM_NAME}\" id=\"{FORM_TERM_NAME}\">" + appendterms + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_CITY}",
"<select name=\"{FORM_CITY_NAME}\" id=\"{FORM_CITY_NAME}\" >" + appendcity + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_COUNTRY}",
"<select name=\"{FORM_COUNTRY_NAME}\" id=\"{FORM_COUNTRY_NAME}\">" + appendcountry + "</select>");
basicsearch = basicsearch.replace("{PROGRAM_REGION}",
"<select name=\"{FORM_REGION_NAME}\" id=\"{FORM_REGION_NAME}\">" + appendregion + "</select>");
basicsearch = basicsearch.replace(/FORM_CITY_NAME/g, frm_city_name);
basicsearch = basicsearch.replace(/FORM_TERM_NAME/g, frm_term_name);
basicsearch = basicsearch.replace(/FORM_COUNTRY_NAME/g, frm_country_name);
basicsearch = basicsearch.replace(/FORM_REGION_NAME/g, frm_region_name);
document.body.innerHTML = document.body.innerHTML + basicsearch;
}
function Search() {
var selectedcountry = document.frm.pc.value;
var selectedterm = document.frm.pt.value;
var selectedcity = document.frm.pi.value;
var selectedregion = document.frm.pr.value;
}
// ]]>
//-->
</script>
<script language="JavaScript" type="text/javascript">
callApi();
</script>
Back to Terra Dotta Software API Documentation Top