Back to top

This guide describes integrating your web app for use within Chalkable. Your app will be displayed within an iframe and should utilize platform data via the Chalkable API to provide a great experience.

Integrating your web app with Chalkable gives you the opportunity to be listed in the Chalkable App Store, collect payments, and deeply integrate into the core Chalkable experience. Using the API, your app will be able to leverage the Chalkable platform (user info, schedule, grading, attendance, discipline, messaging, notifications, etc) to help you deliver a memorable user experience.

Apps on Chalkable are web apps that are loaded in an iframe in the context of chalkable.com.

Guide Summary

In this guide we will explain the following concepts:

  • Authentication
  • Common methods
  • JavaScript/iframe postMessage interaction
  • Concepts

Media Types

Where applicable this API uses the JSON media-type to represent resources states and affordances.

Requests with a message-body are using plain JSON to set or update resource states.

Error States

The common HTTP Response Status Codes are used.

Authentication

Chalkable’s API uses the OAuth 2.0 protocol for simple, but effective authentication and authorization. OAuth 2.0 is much easier to use than previous schemes; developers can start using the Chalkable API immediately. The one thing to keep in mind is that all requests to the API must be made over SSL (https:// not http://)

Access Authorization and Control 

Access and Control of Chalkable API OAuth token.

Authorization 

Authorization Resource represents an authorization granted to the user. You can only access your own authorization, and only through our Oauth Authentication implementation.

The Authorization Resource has the following attributes:

  • token_type
  • access_token
  • expires_in
  • refresh_token
  • scope

Where access_token represents an OAuth token and scope is the scope granted for the given authorization. At this moment the only available scope is https://www.chalkable.com/.

Note: you must make a POST request to our authorization server at:

https://chalkable-access-control.accesscontrol.windows.net/v2/OAuth2-13

Also: note that both “client_id” AND “redirect_uri” must precisely match the application URL you provided in the Developer Portal.

Create Authorization
/ https://chalkable-access-control.accesscontrol.windows.net/v2/OAuth2-13
  • RequestToggle
  • Body
    
          :code => params[:code],
          :client_id => APP_CONFIG['client_id'],          // Your App URL
          :client_secret => APP_CONFIG['client_secret'],  // Your API KEY
          :scope => 'https://chalkable.com',
          :redirect_uri => APP_CONFIG['client_id'],       // Your App URL
          :grant_type => 'authorization_code'
    
    
  • Response  201Toggle
  • Body
        {
            "token_type": "http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0",
            "access_token": "QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
            "expires_in": 86399,
            "refresh_token": "td+G+gWGeMJ1Z8Isn0lyRg==",
            "scope": "https://www.chalkable.com/"
        }
    

Using the Chalkable API 

To get started, simply sign up. You will immediately gain access to the Developer Portal, where you will obtain an API key. Just provide a URL begin testing your app.

Below are some common methods used by Chalkable developers. You can see a full list of available methods inside the Chalkable Developer Portal, via the “API Explorer” tab.

All requests must include your access token in the headers.

Authorization: Bearer: QWxhZGRpbjpvcGVuIHNlc2FtZQ

Person 

Get the currently logged in user.

Person 

Get Person
/Person/Me.json

No params required. Example (access token is for example):

  • RequestToggle
  • Headers
    Authorization: Bearer: QWxhZGRpbjpvcGVuIHNlc2FtZQ
  • Response  200Toggle
  • Headers
    Content-Type: Content-Type: application/json; charset=utf-8
    Body
    {
        "active": true,
        "birthdate": "2014-06-10",
        "displayname": "Mr. Stein",
        "email": "user1195_99A2B309-B2F2-451D-A733-55FFB9548245@chalkable.com",
        "firstname": "Rocky",
        "fullname": "Rocky Stein",
        "gender": "M",
        "hasmedicalalert": false,
        "id": 1195,
        "isallowedinetaccess": false,
        "lastname": "Stein",
        "role": {
            "id":2,
            "name":Teacher,
            "description":Teacher,
            "namelowered":teacher
        },
        "description": "Teacher",
        "id": 2,
        "name": "Teacher",
        "namelowered": "teacher",
        "salutation": null,
        "specialinstructions": null,
        "spedstatus": null
    
    }
    

Announcement 

Announcement 

Get new item / announcement data
/Announcement/Read.json

Returns data from the item / announcement that your application was attached to.

  • Parameters
  • announcementId
    integer (required) 

    ID of the current announcement (item) being viewed. Get it from the “announcementapplicationid” URL param of your iframe.

  • RequestToggle
  • Headers
    Authorization: Bearer: QWxhZGRpbjpvcGVuIHNlc2FtZQ
  • Response  200Toggle
  • Headers
    Content-Length: 16344
    Content-Type: application/json; charset=utf-8
    Body
    {
       "data":{
          "announcementattachments":[
             {
                "id":7,
                "name":"04-2013.pdf   ",
                "attacheddate":"2014-05-29",
                "isowner":true,
                "type":0,
                "url":"https://crocodoc.com/api/v2/download/document?uuid=1776f582-42a2-4c9e-ab73-a6b1ad899ba2&pdf=False&annotated=true&token=xEyUsXCwkjRMsNehL6CL7pyR",
                "thumbnailurl":"https://crocodoc.com/api/v2/download/thumbnail?token=xEyUsXCwkjRMsNehL6CL7pyR&uuid=1776f582-42a2-4c9e-ab73-a6b1ad899ba2&size=110x170",
                "order":1
             }
          ],
          "announcementqnas":[
    
          ],
          "applications":[
             {
                "announcementapplicationid":22,
                "announcementid":1000000484,
                "currentpersonid":4367,
                "active":true,
                "viewurl":"http://chlk-login.herokuapp.com/?mode=view&announcementapplicationid=22&applicationinstallid=1084",
                "editurl":"http://chlk-login.herokuapp.com/?mode=edit&announcementapplicationid=22&applicationinstallid=1084",
                "gradingviewurl":"http://chlk-login.herokuapp.com/?mode=gradingview&announcementapplicationid=22&applicationinstallid=1084",
                "order":0,
                "isinstalledforme":true,
                "id":"ada8b821-593a-419c-99f8-7ef9d3465b74",
                "name":"heroku_login",
                "url":"http://chlk-login.herokuapp.com/",
                "videodemourl":"",
                "shortdescription":"Rails on Heroku example app",
                "description":"Rails on Heroku example app",
                "smallpictureid":"4eb5df64-2a08-491e-a514-b651a3085a7b",
                "bigpictureid":"d7101bfc-d6fd-4117-b479-b383597995fa",
                "myappsurl":null,
                "secretkey":null,
                "state":5,
                "developerid":"e7821cd9-9e91-4fda-abc8-66ad2cb1309d",
                "liveappid":null,
                "isinternal":false,
                "applicationaccess":{
                   "hasstudentmyapps":true,
                   "hasteachermyapps":true,
                   "hasadminmyapps":true,
                   "hasparentmyapps":false,
                   "canattach":true,
                   "showingradeview":true
                },
                "applicationprice":{
                   "price":0.0000,
                   "priceperclass":null,
                   "priceperschool":null
                },
                "picturesid":[
                   "67ce30ad-8f42-4de2-9827-88dbe2c5740b"
                ]
             }
          ],
          "standards":[
    
          ],
          "studentannouncements":{
             "items":[
                {
                   "studentinfo":{
                      "id":2583,
                      "displayname":"Jane Adkins",
                      "fullname":"Jane Adkins",
                      "firstname":"Jane",
                      "lastname":"Adkins",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":true,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2583
                },
                {
                   "studentinfo":{
                      "id":2520,
                      "displayname":"Alan Armstrong",
                      "fullname":"Alan Armstrong",
                      "firstname":"Alan",
                      "lastname":"Armstrong",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2520
                },
                {
                   "studentinfo":{
                      "id":2544,
                      "displayname":"Dewitt Cain",
                      "fullname":"Dewitt Cain",
                      "firstname":"Dewitt",
                      "lastname":"Cain",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":true,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2544
                },
                {
                   "studentinfo":{
                      "id":2664,
                      "displayname":"Hugh Calhoun",
                      "fullname":"Hugh Calhoun",
                      "firstname":"Hugh",
                      "lastname":"Calhoun",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":"Inactive"
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2664
                },
                {
                   "studentinfo":{
                      "id":4701,
                      "displayname":"Molly Cunningham",
                      "fullname":"Molly Cunningham",
                      "firstname":"Molly",
                      "lastname":"Cunningham",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":4701
                },
                {
                   "studentinfo":{
                      "id":2576,
                      "displayname":"Ericka Figueroa",
                      "fullname":"Ericka Figueroa",
                      "firstname":"Ericka",
                      "lastname":"Figueroa",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2576
                },
                {
                   "studentinfo":{
                      "id":2721,
                      "displayname":"Jillian Fox",
                      "fullname":"Jillian Fox",
                      "firstname":"Jillian",
                      "lastname":"Fox",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":true,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2721
                },
                {
                   "studentinfo":{
                      "id":2432,
                      "displayname":"Quinton Gibson",
                      "fullname":"Quinton Gibson",
                      "firstname":"Quinton",
                      "lastname":"Gibson",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2432
                },
                {
                   "studentinfo":{
                      "id":5339,
                      "displayname":"Kimberley Gill",
                      "fullname":"Kimberley Gill",
                      "firstname":"Kimberley",
                      "lastname":"Gill",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":5339
                },
                {
                   "studentinfo":{
                      "id":2577,
                      "displayname":"Megan Hood",
                      "fullname":"Megan Hood",
                      "firstname":"Megan",
                      "lastname":"Hood",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2577
                },
                {
                   "studentinfo":{
                      "id":2631,
                      "displayname":"Elijah Hurst",
                      "fullname":"Elijah Hurst",
                      "firstname":"Elijah",
                      "lastname":"Hurst",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2631
                },
                {
                   "studentinfo":{
                      "id":2628,
                      "displayname":"Marco Lamb",
                      "fullname":"Marco Lamb",
                      "firstname":"Marco",
                      "lastname":"Lamb",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2628
                },
                {
                   "studentinfo":{
                      "id":2727,
                      "displayname":"Fredrick Mcfarland",
                      "fullname":"Fredrick Mcfarland",
                      "firstname":"Fredrick",
                      "lastname":"Mcfarland",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2727
                },
                {
                   "studentinfo":{
                      "id":2688,
                      "displayname":"Laverne Mcgowan",
                      "fullname":"Laverne Mcgowan",
                      "firstname":"Laverne",
                      "lastname":"Mcgowan",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":true,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2688
                },
                {
                   "studentinfo":{
                      "id":7884,
                      "displayname":"Adeline Mcknight",
                      "fullname":"Adeline Mcknight",
                      "firstname":"Adeline",
                      "lastname":"Mcknight",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":7884
                },
                {
                   "studentinfo":{
                      "id":2358,
                      "displayname":"Federico Morton",
                      "fullname":"Federico Morton",
                      "firstname":"Federico",
                      "lastname":"Morton",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2358
                },
                {
                   "studentinfo":{
                      "id":7961,
                      "displayname":"Francisca Ortega",
                      "fullname":"Francisca Ortega",
                      "firstname":"Francisca",
                      "lastname":"Ortega",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":"Inactive"
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":7961
                },
                {
                   "studentinfo":{
                      "id":2689,
                      "displayname":"Rosetta Owens",
                      "fullname":"Rosetta Owens",
                      "firstname":"Rosetta",
                      "lastname":"Owens",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2689
                },
                {
                   "studentinfo":{
                      "id":2658,
                      "displayname":"Diane Ramsey",
                      "fullname":"Diane Ramsey",
                      "firstname":"Diane",
                      "lastname":"Ramsey",
                      "gender":"F",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":"Inactive"
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2658
                },
                {
                   "studentinfo":{
                      "id":2669,
                      "displayname":"Jamar Slater",
                      "fullname":"Jamar Slater",
                      "firstname":"Jamar",
                      "lastname":"Slater",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2669
                },
                {
                   "studentinfo":{
                      "id":2723,
                      "displayname":"Ryan Ware",
                      "fullname":"Ryan Ware",
                      "firstname":"Ryan",
                      "lastname":"Ware",
                      "gender":"M",
                      "role":{
                         "id":3,
                         "name":"Student",
                         "description":"Student",
                         "namelowered":"student"
                      },
                      "hasmedicalalert":false,
                      "isallowedinetaccess":false,
                      "specialinstructions":"Special Instructions go here",
                      "spedstatus":null
                   },
                   "raw":null,
                   "attachments":[
    
                   ],
                   "id":0,
                   "gradevalue":null,
                   "numericgradevalue":null,
                   "dropped":false,
                   "isexempt":false,
                   "isincomplete":false,
                   "islate":false,
                   "isabsent":false,
                   "isunexcusedabsent":false,
                   "announcementid":1000000484,
                   "comment":null,
                   "extracredits":null,
                   "state":2,
                   "studentid":2723
                }
             ],
             "gradingstyle":0,
             "announcmenttitle":null,
             "announcementtypeid":5473,
             "chalkableannouncementtypeid":null,
             "classavg":null,
             "classname":"Hon/Geometry 210011.004",
             "courseid":null,
             "gradedstudentcount":0,
             "gradingstylemapper":{
                "gradingabcf":[
                   50,
                   51,
                   59,
                   67,
                   72,
                   76,
                   79,
                   82,
                   86,
                   89,
                   92,
                   96,
                   100
                ],
                "gradingcomplete":[
                   40,
                   100
                ],
                "gradingcheck":[
                   30,
                   70,
                   100
                ]
             }
          },
          "autogradeapps":[
    
          ],
          "owner":{
             "id":4367,
             "displayname":"Ms. Cooley",
             "fullname":"Maryann Cooley",
             "firstname":"Maryann",
             "lastname":"Cooley",
             "gender":"F",
             "role":{
                "id":2,
                "name":"Teacher",
                "description":"Teacher",
                "namelowered":"teacher"
             },
             "hasmedicalalert":false,
             "isallowedinetaccess":false,
             "specialinstructions":null,
             "spedstatus":null
          },
          "created":"5/29/2014 12:00:00 AM",
          "complete":false,
          "state":1,
          "statetyped":0,
          "qnacount":0,
          "attachmentscount":1,
          "ownerattachmentscount":1,
          "recipientid":4348,
          "content":"This is an important item",
          "shortcontent":"This is an important item",
          "weightmultiplier":1.000000,
          "weightaddition":0.000000,
          "hidefromstudents":false,
          "canaddstandard":false,
          "grade":null,
          "studentannouncementid":null,
          "studentscount":41,
          "studentscountwithattachments":0,
          "studentscountwithoutattachments":41,
          "gradingstudentscount":0,
          "nongradingstudentscount":41,
          "comment":null,
          "gradesummary":"0/21",
          "attachmentsummary":"0/21",
          "avg":null,
          "avgnumeric":null,
          "gradingstyle":0,
          "applicationscount":1,
          "applicationname":"heroku_login",
          "wasannouncementtypegraded":null,
          "showgradingicon":false,
          "id":1000000484,
          "title":"Updating Daily Grades HW",
          "defaulttitle":"Daily Grades 42",
          "announcementtypename":"Daily Grades",
          "announcementtypeid":5473,
          "chalkableannouncementtypeid":null,
          "personid":4367,
          "personname":"MARYANN COOLEY",
          "persongender":"F",
          "classid":4348,
          "classname":"Hon/Geometry 210011.004",
          "dropped":false,
          "isowner":true,
          "expiresdate":"2014-05-29",
          "order":42,
          "subject":null,
          "maxscore":100.00,
          "candropstudentscore":false,
          "maybeexempt":false,
          "gradable":true,
          "cangrade":true
       },
       "success":true
    }
    

Class 

Class 

Get class list
/Class/List.json

Returns a list of classes for the currently logged in user

  • Parameters
  • schoolYearId
    integer (required) 

    ID of the current school year (get from /SchoolYear/List.json).

    start
    integer (required) 
    count
    integer (required) 
  • RequestToggle
  • Headers
    Authorization: Bearer: QWxhZGRpbjpvcGVuIHNlc2FtZQ
  • Response  200Toggle
  • Headers
    Content-Length: 843
    Content-Type: application/json; charset=utf-8
    Body
    [
       {
          "departmentid":null,
          "gradelevel":{
             "number":12,
             "id":12,
             "name":"12"
          },
          "teacher":null,
          "markingperiodsid":[
             1,
             2
          ],
          "id":1,
          "name":"Algebra",
          "classnumber":null,
          "description":"Algebra"
       },
       {
          "departmentid":null,
          "gradelevel":{
             "number":12,
             "id":12,
             "name":"12"
          },
          "teacher":null,
          "markingperiodsid":[
             1,
             2
          ],
          "id":2,
          "name":"Geometry",
          "classnumber":null,
          "description":"Geometry"
       },
       {
          "departmentid":null,
          "gradelevel":{
             "number":12,
             "id":12,
             "name":"12"
          },
          "teacher":null,
          "markingperiodsid":[
             1,
             2
          ],
          "id":3,
          "name":"Physics",
          "classnumber":null,
          "description":"Physics"
       },
       {
          "departmentid":null,
          "gradelevel":{
             "number":12,
             "id":12,
             "name":"12"
          },
          "teacher":null,
          "markingperiodsid":[
             1,
             2
          ],
          "id":4,
          "name":"Pre-Calculus",
          "classnumber":null,
          "description":"Pre-Calculus"
       }
    ]
    

Javascript 

In this section we will describe in detail the JavaScript interaction between your app and Chalkable.

IMPORTANT: You will need to include a link to our Javascript file /Scripts/api/chlk-post-message-api.js in your project. This script takes of the communication between your app inside the iframe and Chalkable, via the postMessage() method.

As described below, you will be able to access the {CHLK_MESSENGER} object to attach your application to an item.

We highly recommend using the hosted version as it is subject to updates.

<script type="text/javascript" src="/Scripts/api/chlk-post-message-api.js"></script>
  1. A teacher, who has installed your app via the Chalkable App Store, clicks Attach App in a New Item assignment and chooses your app.
  2. Your App URL is loaded with the edit mode appended, for Example:
    <iframe src="https://yourEdTechApp.com/home/index?mode=edit&announcementapplicationid=39&applicationinstallid=1717&code=veo6LEX04xeK7LV1EhAQKg%3d%3d"</iframe>
    
  3. The teacher will use your app’s UI to prepare it to be attached to the assignment.
  4. Your JavaScript code should register a callback that will be called when the teacher clicks ATTACH or SAVE, depending on which View Mode they are in (see code example below). This will let Chalkable know which function of yours to call.

    function saveAndClose(){

        //For saving, finalizing and anything else your app might need to do before closing.
        //Can be called in mode=edit (when teacher clicks ATTACH) or mode=view (when user clicks SAVE)
        //return true if your app is ready for the iframe to be closed and the app to be attached.

        var form = jQuery('form'),
            url = form.attr('action'),
            id = form.find('.tinymce').attr('id'),
            name = form.find('.tinymce').attr('name'),
            editor = tinyMCE.get(id);
            editor.setProgressState(1);
            var content = editor.getContent();
            var data = {};
            data[name] = content;

            jQuery('.form-field').each(function(field){
               data[jQuery(this).attr('name')] = jQuery(this).val();
            });

            data['content'] = content;

            var options = {
              url: url,
              type: "post",
              async: false,
              data: data,
              success:function(res){
                  editor.setProgressState(0);
                  editor.setContent(res.content);
                  return true;
              }
            };
            jQuery.ajax(options);

        return true;

    }

    CHLK_MESSENGER.addYourself(saveAndClose);

        //Should be called on app start to register a callback for attach and save buttons

Concepts 

App Store:

The Chalkable App Store is a listing of web apps that are integrated with Chalkable.

Installing an app:

Within the Chalkable App Store users can install an app. They can install an app for themselves or another user depending on their role. For example a student can only install apps for themselves, a teacher can install apps for their class, and an admin can install apps for the whole school or a subgroup (Ex. 9th grade, teachers and students who are in a math classes). When an app is installed, the app icon appears for the user on their My Apps page. Depending on the app the icon may also appear on the New Item Attach App screen.

New Item:

Teachers use the Chalkable platform to send assignments to their students. Teachers can attach your app directly into these assignments and students can interact with your application.

Adding an app to a New Item:

Your app will be embedded into assignments that students will use, simply by clicking the “Attach” button at the top of the frame. Remember to include the /Scripts/api/chlk-post-message-api.js script in your app and call it on document ready, as explained above.

App Info:

The page in your developer account where you submit information about your app to Chalkable. This information includes descriptions, artwork, and definitions of which users will be using the app and what data the app will access.

Submitting your app:

Sign up and receive an API key immediately. In our developer portal you can interact with the API Explorer, and when you’re ready you can submit your app by filling out a short form and uploading your icons.

Generated by aglio on 19 Jun 2014