Person Document API

The Document API allows a user of the system to attach a document to a student's record.  The supported document types are pdf, doc, jpg, gif, rtf, jpeg, png, xls, xlsx, docx, txt and csv.  Document storage should be on the filesystem with metadata kept in the database.  The filesystem location for document storage should not be web accessible.  The only means to manage these documents will be through the API.

Note: Research required of best way to download data stream to client.  The API below will require modification depending on solution determined.

Get All Documents for a Person

GET /ssp/api/1/person/{id}/document

Security

PERSON_DOCUMENT_READ

Parameters

status : ALL, ACTIVE, INACTIVE
start : First result (0-based index) to return
limit : Maximum number of results to return
sort : Property name
sortDirection : Ascending/descending keyword (ASC/DESC or ASCENDING/DESCENDING)

Returns

{"success" : "true",
 "results" : "100",
 "rows" : 
    [{"id" : "cb9ae287-0b28-4a3b-aece-2c6d1d974443",
      "createdBy" : 
         {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
          "firstName" : "John",
          "lastName" : "Doe"},
      "createdDate" : "1332216000000",
      "modifiedBy" : 
         {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
          "firstName" : "John",
          "lastName" : "Doe"},
      "modifiedDate" : "1332216000000",
      "objectStatus" : "ACTIVE",   
      "name" : "High School Transcript",
      "note" : "This is Billy's high school transcript from Oakwood High School",
      "confidentialityLevel" :
         {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
          "name" : "EVERYONE"}},
     {"id" : "3a9d3bee-1acf-4af2-92b6-10bf6d6b4da0",
      "createdBy" : 
         {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
          "firstName" : "John",
          "lastName" : "Doe"},
      "createdDate" : "1332216000000",
      "modifiedBy" : 
         {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
          "firstName" : "John",
          "lastName" : "Doe"},
      "modifiedDate" : "1332216000000",
      "objectStatus" : "ACTIVE",
      "name" : "Email",
      "note" : "Email received from Billy on 04/12/12 outlining struggles during Spring term.",
      "confidentialityLevel" :
         {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
          "name" : "EVERYONE"}},
     ...
    ]
}

Get a Document 

GET /ssp/api/1/person/{id}/document/{id}

Security

PERSON_DOCUMENT_READ

Returns

Document

{"id" : "cb9ae287-0b28-4a3b-aece-2c6d1d974443",
  "createdBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "createdDate" : "1332216000000",
  "modifiedBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "modifiedDate" : "1332216000000",
  "objectStatus" : "ACTIVE",
  "name" : "High School Transcript",
  "note" : "This is Billy's high school transcript from Oakwood High School",
  "confidentialityLevel" :
     {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
      "name" : "EVERYONE"}}

Create a Document

POST /ssp/api/1/person/{id}/document

Security

PERSON_DOCUMENT_WRITE

Sample Post

{"name" : "High School Transcript",
 "note" : "This is Billy's high school transcript from Oakwood High School",
 "confidentialityLevel" :
     {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
      "name" : "EVERYONE"}}

Returns

Document

{"id" : "cb9ae287-0b28-4a3b-aece-2c6d1d974443",
  "createdBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "createdDate" : "1332216000000",
  "modifiedBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "modifiedDate" : "1332216000000",
  "objectStatus" : "ACTIVE",
  "name" : "High School Transcript",
  "note" : "This is Billy's high school transcript from Oakwood High School",
  "confidentialityLevel" :
     {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
      "name" : "EVERYONE"}}

 

Save a Document

PUT /ssp/api/1/person/{id}/document/{id}

Security

PERSON_DOCUMENT_WRITE

Sample Post

{"id" : "cb9ae287-0b28-4a3b-aece-2c6d1d974443",
  "createdBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "createdDate" : "1332216000000",
  "modifiedBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "modifiedDate" : "1332216000000",
  "objectStatus" : "ACTIVE",
  "name" : "High School Transcript",
  "note" : "This is Billy's high school transcript from Oakwood High School",
  "confidentialityLevel" :
     {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
      "name" : "EVERYONE"}}

Returns

Document

{"id" : "cb9ae287-0b28-4a3b-aece-2c6d1d974443",
  "createdBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "createdDate" : "1332216000000",
  "modifiedBy" : 
     {"id" : "91f46e39-cea8-422b-b215-00f6bcf5d280",
      "firstName" : "John",
      "lastName" : "Doe"},
  "modifiedDate" : "1332216000000",
  "objectStatus" : "ACTIVE",
  "name" : "High School Transcript",
  "note" : "This is Billy's high school transcript from Oakwood High School",
  "confidentialityLevel" :
     {"id" : "c57f11e1-7ef2-4989-9ac2-7b0690563995",
      "name" : "EVERYONE"}}

 

Delete a Document

DELETE /ssp/api/1/person/{id}/document/{id}

Security

PERSON_DOCUMENT_DELETE

Returns

{"success" : "true"}

or

{"success" : "false", 
 "message" : "Message when success is false."}