This page describes the service operations supported by CampusLogic.
TABLE OF CONTENTS
- Get Student Transaction Operation
- Get Student Document Metadata
- Get Student Document Files
- Get Student Task Requirements
- Get Communication Event Notification Metadata
- Get ISIR Correction Batches
- Get Appeal Transaction Metadata
- Upload ISIR File
- Upload SU Data Files
- Get SU Award Post Event
Get Student Transaction Operation
Retrieve all Document(s) for a given transaction. All data shall be compressed and delivered as a single .zip file.
***If the student ID that you're querying contains a '.', you will need to add a '/' at the end of the parameter - For example - 'ABC'
Request
Content-Type: application/octet-stream |
Get Student Document Metadata
Retrieve metadata for the document id requested.
Request
Request Format: [API Root Url]:5443/document/[docId]/metadata Request URL: [API Root Url]:5443/ document/1234/metadata Request Method: Get Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Content-Type: application/json Body: [ { "Id": "105", "AwardYearId": "4", "AwardYear": "2013-2014", "DateSubmitted": "2014-07-01 15:12:00", "DocumentType": "232D0E21-5BC9-43E7-8334-ACBD7F705442", "DocumentName": "Name of the Document", "RejectComments": "Comments if any here", "RejectReason ": "Reason for rejection here", "Status": "Accepted", "StudentId": "45687", "TransactionId": "45682" } ] |
Get Student Document Files
Retrieve files associated to the document id requested as a zip file
Request
Request Format: [API Root Url]:5443/document/[docId]/zip Request URL: [API Root Url]:5443/ document/1234/zip Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Get Student Task Requirements
Retrieve a list of task requirements for a given student and aid year. Each task requirement record shall contain the following fields:
- Requirement Type - Identifies the requirement type/category.
- Description - Provides additional details about the requirement.
- Status - The status of the requirement.
- Status Details - Additional information regarding the status.
- Status Date - The corresponding date of the status.
- Award Year - The corresponding award (aid) year.
The following subsections describe each field in detail.
Requirement Type
Defines the various requirement types/categories. Allowed values are shown below.
ID | Name | Description |
1 | Student Input | The system is waiting for the student to choose an option. Once a choice is made, this requirement is automatically cleared. |
2 | Document | A document must be uploaded by the student. |
3 | FAFSA Correction | This requirement is cleared once the student logs into FAFSA and performs an update. |
4 | Parent Signature | A parent signature is required. |
5 | Error | Used to communicate system errors (ex. student not found) Error details shall be provided in the description field. |
Description
The description field provides additional information about the task depending on the requirement type. Examples:
- Student input, FAFSA Correction - description of the task to be completed
- Document - the name of the document
- Parent Signature - the name of the document to be signed
- Error - information about the error
Status
This field provides an indication of the status of the requirement. Note that not all statuses apply to all requirements. To follow are the supported status values.
ID | Name | Description |
1 | Not Started | Applicable to Parent Signature and Document requirement types. No action has been taken on the requirement. This status shall be applied to the following requirement types:
|
2 | In Progress | Applicable to Parent Signature and Document requirement types. The requirement is in progress. A document requirement type is in progress if it has been uploaded but not submitted. A parent signature requirement type is in progress if it has yet to be requested by the student. |
3 | Submitted | Only applicable to Document requirement type. Indicates that a document has been submitted but not yet reviewed. |
4 | Accepted | Only applicable to Document requirement type. Indicates that a document has been reviewed and accepted by school user. |
5 | Completed | Only applicable to Parent Signature requirement type. The requirement has been completed and not additional action is required. |
6 | Rejected | Only applicable to Document requirement type. Notes entered by school user when rejecting the document will show in the status details. |
7 | Not Applicable | This status is applied when a status is either not applicable or cannot be determine. This status shall be applied to the follow requirement types:
|
Includes additional information about the status.
Status Date
Status date will vary based on status and the requirement type as outlined in the following tables.
Status Name | Requirement Type | Status Date |
Not Started | Document, Parent Signature | The date that the document was requested. |
In Progress, Submitted, Accepted, Rejected | Document | The date that the document was acted upon (accepted, rejected, etc.) |
In Progress | Parent Signature | The date the student requested the signature. |
Completed | Parent Signature | The date the parent signed the document. |
Request
The request requires a student Id. An optional award year may also be provided. When an award year is not provided, requirements for all active award years shall be returned. Active award years are determined based on a configurable per-award year start date and end date, inclusive. The following request specifies an Accept request header value of text/html. The Accept request header shall dictate the format of the response content. Valid values include text/html and "application/json". The response shall return text/html if an Accept header is not specified.
Request Format: [API Root Url]:5443/studentrequirements/[student id]?awardyear=[award/aid year] Request URL: [API Root Url]:5443/studentrequirements/1234?awardyear=2014-2015 Request Method: Get Request Headers: Authorization: WRAP access_token="[security token value]" Accept: text/html |
Html Response
Content-Type: text/html Body: <table border="1" cellpadding="3" cellspacing="0" width="100%"> <thead> <tr> <th style="width:15%">Requirement</th> <th style="width:25%">Description</th> <th style="width:15%">Status</th> <th style="width:20%">Status Details</th> <th style="width:10%">Status Date</th> <th style='width: 10%'>Award Year</th> </tr> </thead> <tr> <td>Document</td> <td>Upload Dependent Signed Statement</td> <td>Submitted</td> <td></td> <td>9/18/2014</td> <td>2014-2015</td> </tr> <tr> <td>Document</td> <td>Upload Proof of High School Completion</td> <td>Unstarted</td> <td></td> <td>9/17/2014</td> <td>2014-2015</td> </tr> </table> |
Html Rendered in a Browser
Specify an Accept header with a value of text/html to receive html content. Below are examples of how requirements shall be rendered in a browser.
JsonResponse
Content-Type: application/json Body: [{ Requirement: “Document”, Description: “Dependent Signed Statement”, Status: “Submitted”, StatusDetails: “”, StatusDate: “2014-09-18T00:00:00:0.0Z”, AwardYear: "2014-2015" }, { Requirement: “Document”, Description: “Proof of High School Completion”, Status: “Unstarted”, StatusDetails: “”, StatusDate: “2014-09-17T00:00:00:0.0Z”, AwardYear: "2014-2015" }] |
Get Communication Event Notification Metadata
Retrieve metadata for communication event notifications for the id requested. This id is 'AdditonalInfoId' in Event Notification HTTP POST JSON object.
Request
Request Format: [API Root Url]:5443/communication/[additionalInfoId]/metadata Request URL: [API Root Url]:5443/communication/1234/metadata Request Method: Get Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Content-Type: application/json Body: [ { "communicationActivityId": "1234", "body": "Please log in to your clu.VerifyMyFafsa.com portal to complete the newly requested information that is listed on your account.", "communicationTypeId": "2", "communicationType": "SMS Text", "communicationAddress": "+14805551234" } ] |
CommunicationType
Communication Types will vary based on school settings for which communications are sent as outlined in the following table.
CommunicationTypeId | CommunicationType |
1 | |
2 | SMS Text |
Get ISIR Correction Batches
The CampusLogic system exposes the ability to retrieve all batched ISIR corrections for a given date range. All data shall be compressed and delivered as a single zip file in the format described above. This zip file shall contains corrections that were automatically batched and corrections that were manually batched and does not distinguish between the two.
Output Format
The output will be in the format of a standard ZIP file. The generated ZIP file will contain a folder for each date inside the date range requested for which ISIR corrections batch files exist. The folder will be named in the format “MM-DD-YYYY”. Inside the folder will be one or more text files, with each text file containing the contents of an individual correction batch made on that given day. Each text file is in the format specified by EDE for the transmission of ISIR corrections. The text files will be named in the format “XXXX.txt” where “XXXX” is the ID of the correction batch.
Request
Request Format: [API Root Url]:5443/correction/zip?startDate=MM-DD-YYYY&endDate=MM-DD-YYYY Request URL: [API Root Url]:5443/correction/zip?startDate=01-01-2014&endDate=01-31-2014 Request Method: Get Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Content-Type: application/zip |
Get Appeal Transaction Metadata
Retrieve metadata for appeal transaction for the id requested. This id is 'SvTransactionId' in Event Notification HTTP POST JSON object.
Request
Request Format: [API Root Url]:5443/appeal/[transactionId]/metadata Request URL: [API Root Url]:5443/appeal/1234/metadata Request Method: Get Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Content-Type: application/json Body: [ { "transactionId":49125, "transactionCategoryId":3, "studentId":39703, "awardYearId":5, "awardYear":"2014-2015", "transactionStatusId":6, "outcomeId":3, "outcomeComments":"SAP Appeal has been approved." } ] |
Outcomes
Transaction outcomes available:
OutcomeId | Outcome Description |
1 | Approved |
2 | Denied |
3 | Rescinded |
Dev - https://apisandbox.studentverification.com/
Prod - https://api.verifymyfafsa.com/
Request
Request Format: [API Root Url]/isir Request URL: [API Root Url]/isir Request Method: Post Request Header: Authorization: WRAP access_token="[security token value]" |
Successful Response
HTTP Status Code: 202 |
Upload SU Data Files
This operation accepts a csv file in the body of the request. Once uploaded, the csv file is queued for processing.
Dev - https://apisandbox-pm.campuslogic.com/
Prod - https://api-pm.campuslogic.com/
Request
Request Format: [API Root Url]/api/datafiles/SIS [API Root Url]/api/datafiles/Scholarship [API Root Url]/api/datafiles/Scholarship Award [API Root Url]/api/datafiles/Verified Students Request URL: [API Root Url]/api/datafiles/SIS [API Root Url]/api/datafiles/Scholarship [API Root Url]/api/datafiles/Scholarship Award [API Root Url]/api/datafiles/Verified Students Request Method: Post Request Header: Authorization: WRAP access_token="[security token value]" |
Successful Response
HTTP Status Code: 202 |
Get SU Award Post Event
Use this request to retrieve metadata for posted awards in ScholarshipUniverse for the ID's requested. These ID's are 'suScholarshipAwardId' and 'suClientTermId' which can be found in the Event Notification HTTP POST JSON object of the Event Notification ID you're using for this process.
This is the default JSON object for a 700-level event coming from PlatformManagement (this is just an example, your payload will contain different data values):
{ "SuScholarshipAwardId": 75416, "SuClientTermId": 8608, "SuScholarshipId": 128145, "SuStudentSchoolId": "abc987654", "StudentId": "abc987654", "Id": "b8fa2904-9d38-436f-b82c-f36a8491ca62", "ProductId": "2208cfa3-aa9b-465a-939a-8e3e921f4954", "Product": "ScholarshipUniverse", "ClientId": "c08467e0-6829-46f9-a1fe-dcdab0e8344e", "Client": "CSM 18 Sandbox", "EventNotificationId": 701, "EventNotificationName": "Scholarship Award Posted", "DateTimeUtc": "2021-08-13T14:32:12.837Z" }
Dev - https://apisandbox.scholarshipuniverse.com/
Prod - https://api.scholarshipuniverse.com/
Request
Request Format: [API Root Url]/api/awardpostevent/details?scholarshipAwardId=[scholarshipAwardId]&clientTermId=[clientTermId] Request URL: [API Root Url]/api/awardpostevent/details?scholarshipAwardId=38266&clientTermId=13803 Request Method: GET Request Header: Authorization: WRAP access_token="[security token value]" |
Response
Response Content-Type: application/json Body: { "suScholarshipAwardId": 38266, "suScholarshipId": 198148, "suScholarshipName": "My Scholarship", "suAwardYearName": "2020-2021", "suClientTermId": 13803, "suTermName": "Fall 2020", "suTermComments": null, "suPostBatchUser": "Demo User", "studentId": "SchoolUserId1", "suStudentSchoolId": "SchoolUserId1", "suStudentFirstName": "StudentFN", "suStudentLastName": "StudentLN", "suAmount": 100.0000, "suPostAmountAdjustment": 100.0000, "suFundCode": "SIS112233", "updatedByUser": "School User1", "updatedByUsername": "school.user1", "suFundCodeAlternates": null, "suPostType": "Add", "suOrganizationName": "University Counsel", "suDepartmentName": null, "suDonorName": null } |