PeopleService Making Requests

PeopleService Making Requests

Data Source:  People Hub

These services should be used for getting batches of data for applications. All requests are made using basic authentication and you will need to pass the credentials from your application.

The GET service will return all attributes you have access too, the options are the "GetPeopleService" and the "LimitedPeopleService", see the service contracts below for details. The LimitedPeopleService contains less attributes, but the more generic ones. Note: An enhancement was deployed to Production in June 2019 to enable filtering on GetPeopleService click this link for details: Version Notes 1.3

The POST service will enable you to pass parameters listed below and in the PeopleService contract. This gives you some flexibility in datasets and in attributes returned.

 

PeopleService Service Contract: PeopleService_v1.xlsx

GetPeopleService Service Contract: GetPeopleService_v1.xlsx

Request XSD: PeopleService_Request.xsd  (Applies to POST only!)

Response XSD: PeopleService_Response.xsd

 

LimitedPeopleService Service Contract: LimitedPeopleService_v1.xlsx

LimitedPeopleService XSD: LimitedPeopleService_Response_v1.xsd

Note: For Pagination on LimitedPeopleService the parameters should be in the URL as "pagenumber" and "recordsperpage". Example: https://gw-tst.its.yale.edu/soa-gateway/PeopleHub/v1/LimitedPeopleService?pagenumber=1&recordsperpage=10000

For XML Parsing please see these notes: XML Parsing

 

SoapUI Project Examples: 

 

 

Endpoints:

Test:

For POST method (passing parameters and custom querying):

For GET method (no parameters, full data set user has access to):

Production:

For POST method (passing parameters and custom querying):

For GET method (no parameters, full data set user has access to):

 

Making Requests:
GET method requests will default to the "Get All Data" message listed in the example requests.

For POST Requests: Must set header for request with Content-Type you would like and send credentials.

Attribute Filters- accept Y/N

Population Filters- Please use Service Contract to get details PeopleService_v1.xlsx

Include Future: pass query parameter of ?includefuture=Y at the end of your endpoint. See Details here: Release Version Notes 1.1

 

Example Requests:

<Request> <AttributeFilter> <Contact>Y</Contact> <Demographic>Y</Demographic> <Position>Y</Position> <Appointment>Y</Appointment> <Enrollment>Y</Enrollment> <Organization>Y</Organization> <Status>Y</Status> </AttributeFilter> <PopulationFilter> <Operator>OR</Operator> <Primary_EDU_Person_Affiliation cmp="IN"> </Primary_EDU_Person_Affiliation> <Primary_Yale_Relationship cmp="IN"> </Primary_Yale_Relationship> <Has_Affiliate_Role cmp="EQUALS"></Has_Affiliate_Role> <Has_Employee_Role cmp="EQUALS"> </Has_Employee_Role> <Has_Faculty_Role cmp="EQUALS"> </Has_Faculty_Role> <Has_Student_Role cmp="EQUALS"> </Has_Student_Role> <Has_Member_Role cmp="EQUALS"> </Has_Member_Role> <Has_Staff_Role cmp="EQUALS"> </Has_Staff_Role> <Student_Status cmp="IN"></Student_Status> <Worker_Status cmp="IN"> </Worker_Status> <Cost_Center_Code cmp="IN"> </Cost_Center_Code> <Department_Code cmp="IN"> </Department_Code> <Planning_Unit_Code cmp="IN"> </Planning_Unit_Code>  </PopulationFilter> </Request>

 

 

<Request> <AttributeFilter> <Contact>Y</Contact> <Demographic>Y</Demographic> <Position>Y</Position> <Appointment>Y</Appointment> <Enrollment>Y</Enrollment> <Organization>Y</Organization> <Status>Y</Status> </AttributeFilter> </Request>
<Request> <AttributeFilter> <Contact>N</Contact> <Demographic>N</Demographic> <Position>Y</Position> <Appointment>N</Appointment> <Enrollment>N</Enrollment> <Organization>N</Organization> <Status>Y</Status> </AttributeFilter> <PopulationFilter> <Operator>AND</Operator> <Primary_EDU_Person_Affiliation cmp="IN">EMPLOYEE</Primary_EDU_Person_Affiliation> <Department_Code cmp="IN">HDCC1002,HDCC1468</Department_Code> <Planning_Unit_Code cmp="IN">HPCC4003,HPCC4001</Planning_Unit_Code> </PopulationFilter> </Request>

 

Related articles

Less stable (ongoing build process), can use for failure testing, or getting queries correct