Kiosks

Find nearby kiosks and their status.

Touch-screen printers

Our kiosks are fully-functional printing stations, offering users a variety of ways to print documents. USB, web-upload, and "quick" releases are just a handful of ways a kiosk can obtain and print user files.

Kiosk details like geographic location and printer status can be obtained through a variety of search methods. School ID, zipcode and even latitude/longitude are a few ways kiosks may be queried through the API.

Searchhttps://api.wepanow.com/resources/kiosks

  • GET

Whether finding details about kiosks within a certain zip code or all kiosks within a group (school), the request to be made is essentially the same. The difference comes with what parameters are passed via URL (i.e., query parameters).

The most basic search for a kiosk is by it's name (the lower-right text displayed on the kiosk screen).

Example 3.1 - Simple request by kiosk name
GET https://api.wepanow.com/resources/kiosks/kiosk_prod_00512 HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f

A more advanced search may restrict the number of kiosks returned by geographic location.

Example 3.2 - Search for kiosks located within zipcode 35007:
GET https://api.wepanow.com/resources/kiosks?zip=35007 HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f

Also supported is search by latitude/longitude, with an optional radius in miles (if you need to override the default of 25 miles)." Example 3.3 - Search for kiosks located within 30 miles of 27.171781 and 78.04217:

GET https://api.wepanow.com/resources/kiosks?lat=27.171781&long=78.04217&rad=30 HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f

Geographic location may or may not get you details about every kiosk in your school. For that, searching by school, or group may be better. Modify the URL slightly to include the group ID, and all kiosks returned will be within that school.

Example 3.4 - Search for all kiosks under group 23:
GET https://api.wepanow.com/resources/groups/23/kiosks HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f

Kiosk Status

Each of the requests above ultimately result in the same response: A JSON-formatted kiosk or collection of kiosks with various location and status information.

Example 3.5 - JSON response with details about kiosk 513
[{
  "groupId": 11,
  "name": "KIOSK_PROD_00512",
  "primaryMACAddress": null,
  "alertsOn": true,
  "description": "MILLEDGEVILLE CAMPUS: Barracks\r\n3rd Floor - Rm 300 Computer Lab (G3)",
  "bulk": false,
  "subGroupId": 132,
  "restUrl": null,
  "studentCardSettings": {
    "credentials1": null,
    "credentials2": null,
    "availableCardReader": "MAGNETIC",
    "sequenceNumber": 0
  },
  "status": {
    "detail": {
      "issues": [
        {
          "issueOpen": false,
          "id": 2369350,
          "printerStatus": "RED",
          "timeStopped": "2016-02-29T02:26:26-0600",
          "printerAvailable": false,
          "timeInitiated": "2016-02-29T02:10:28-0600",
          "description": "KIOSK UNREACHABLE",
          "printerLCDText": null
        },
        {
          "issueOpen": false,
          "id": 2366862,
          "printerStatus": "RED",
          "timeStopped": "2016-02-26T21:22:45-0600",
          "printerAvailable": false,
          "timeInitiated": "2016-02-26T21:18:44-0600",
          "description": "||Printer Down||ALERT_PAPER_OUT_ERROR",
          "printerLCDText": "491:No Paper/Tray1/Letter"
        }
      ],
      "from": "2016-02-22T00:00:00-0600",
      "issuesCount": 2,
      "sessions": [
        {
          "connectionEnd": null,
          "kioskServer": "vpc2-ks-2-162.wepa.lan",
          "applicationEnd": null,
          "connectionStart": "2016-02-29T03:46:27-0600",
          "applicationStart": "2016-02-29T03:46:28-0600"
        }
      ],
      "sessionsCount": 1,
      "downtime": {
        "networkDowntimeInMinutes": 49,
        "applicationDowntimeInMinutes": 67,
        "connectionsMade": 26,
        "printerDowntimeInMinutes": 155,
        "networkDowntimeInMinutesOverlap": 0
      },
      "to": "2016-02-29T14:04:51-0600"
    },
    "kioskStatus": "",
    "printerStatus": "GREEN",
    "printerAvailable": true,
    "lastUpdate": "2016-02-29T14:04:43-0600",
    "snmpAlertsText": "",
    "printerLCDText": "Ready To Print"
  },
  "consumablesRemaining": {
    "fuser": "94.72",
    "toner": {
      "magenta": "60.00",
      "black": "60.00",
      "cyan": "60.00",
      "yellow": "100.00"
    },
    "drum": {
      "magenta": "69.14",
      "black": "76.32",
      "cyan": "69.14",
      "yellow": "97.03"
    },
    "belt": "66.34"
  },
  "location": {
    "id": 119,
    "state": {
      "id": 11,
      "stateName": "Georgia",
      "stateTaxPercent": 0,
      "stateCode": "GA"
    },
    "campusName": "Milledgeville",
    "longitude": -83.221016669999997,
    "streetAddress": "201 E. Greene St. Milledgeville, GA 31061",
    "latitude": 33.080013889999996,
    "supplyBin": {
      "drumOrdermarkMagenta": null,
      "drumCapacityMagenta": null,
      "paperOrdermarkInReams": null,
      "tonerOrdermarkYellow": null,
      "contactName": null,
      "drumOrdermarkBlack": null,
      "contactEmail": null,
      "contactPhone": null,
      "beltCapacity": null,
      "drumOrdermarkCyan": null,
      "fuserCapacity": null,
      "tonerCapacityBlack": null,
      "latitude": null,
      "tonerOrdermarkBlack": null,
      "fuserOrdermark": null,
      "tonerCapacityYellow": null,
      "type": "STORAGE_ROOM",
      "id": 56,
      "tonerCapacityMagenta": null,
      "workerResponsible": {
        "emailOn": false,
        "id": 6,
        "secondaryPhone": null,
        "emailAddress": "x@x.com",
        "wirelessCarrier": "VERIZON",
        "phoneOn": false,
        "phoneNumber": "x"
      },
      "drumCapacityBlack": null,
      "longitude": null,
      "tonerOrdermarkMagenta": null,
      "paperCapacityInReams": null,
      "tonerCapacityCyan": null,
      "shippingAddress": {
        "attention": "wepa rep",
        "street": "201 E. Greene St., Milledgeville Tech Building",
        "city": "Milledgeville",
        "id": 77,
        "zipCode": "31061",
        "zipExtension": null,
        "street2": null,
        "description": "GMC Milledgeville",
        "name": "Georgia Millitary College",
        "state": "GA"
      },
      "drumOrdermarkYellow": null,
      "beltOrdermark": null,
      "drumCapacityYellow": null,
      "tonerOrdermarkCyan": null,
      "drumCapacityCyan": null,
      "description": "GMC Milledgeville"
    },
    "notes": null,
    "locationDescription": "Georgia Military College Barracks",
    "city": {
      "id": 13,
      "cityName": "Milledgeville",
      "cityTaxPercent": 0,
      "countyID": 13,
      "stateID": 11
    },
    "buildingDescription": "3rd Floor",
    "zipCode": "31061"
  },
  "timeZone": "EST",
  "quickRelease": {
    "enabled": true,
    "serviceURL": "http://10.224.7.170:8080/kioskservice",
    "printInterval": 3600
  },
  "secondaryMACAddress": null,
  "appVersion": "2015.10.7.1759",
  "printer": {
    "pageCountColor": 13172,
    "allowedPageSize": "LETTER",
    "totalPageCount": 349989,
    "pageCountBW": 336794
  }
}]

The historical status of a kiosk, which includes past and current issues, calculated downtime in minutes, and any connect/reconnect events, can be narrowed down to a specific date range. In the URL, just pass a "statusTo", "statusFrom" or both. In any case, the API will default to the past seven days (week) up to present.*

Example 3.5 - Include status details for all of April 2013:
GET https://api.wepanow.com/resources/kiosks/kiosk_prod_00513?statusFrom=20130401&statusTo=20130430 HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f

*Status detail is only available when requesting specific kiosks. Only the current status summary will show along with kiosks returned via the /groups resource.

Groups

To retrieve group (school) information that pertains to all kiosks on campus, try the /groups/{groupId} resource call, like this:

GET https://api.wepanow.com/resources/groups/1 HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f
Example 3.6 - JSON response with details about group 1
{
   id:1,
   name:"GLOBAL",
   description:"WEPA - Default Group",
   type:"DEMO",
   visible:true,
   contractType:"PLACEMENT",
   wepaAccountEnabled:true,
   wepaTagsEnabled:true,
   guestPrintEnabled:true,
   cardSupport:{
      creditCard:true,
      wepaCard:true,
      studentCard:{
         useForIdentification:true,
         useForPayment:false,
         cardType:"CARDSMITH",
         server:"test.fastauthorize.com",
         port:"10420",
         identificationTrack:"TRACK_2",
         paymentTrack:"TRACK_2",
         vendorField1:"544068086660023",
         vendorField2:null,
         vendorField3:null,
         cardName:"Campus Card",
         buttonName:"Campus Card",
         chargeBucket1:""         00         "",
         chargeBucket2:null,
         cardNumberTranslation:{
            occurs:"AT_SERVER",
            ldapSettings:null,
            patternToMatch:null,
            patternGroupToMatch:0
         }
      }
   },
   content:{
      activeLogo:true,
      welcomeText:"WEPA UNIVERSITY !!",
      mainMessage:"Try our Android and iOS apps!",
      emailTextOnKeyboard:"@wepanow.com",
      usernameLabel:"Username",
      passwordLabel:"Password",
      supportPhone:"800-675-7639",
      supportEmail:"help@wepanow.com"
   },
   authentication:{
      type:"INTERNAL",
      shibbolethRedirectUrl:null,
      shibbolethLandingUrl:null
   },
   dispatchPlan:"Z",
   hasCreditPlan:false
}

Sub-Groups

To retrieve all sub-groups within a group, just add /subgroups to the url:

GET https://api.wepanow.com/resources/groups/1/subgroups HTTP/1.1

Authorization: Bearer ef45f192-04c6-4603-afcf-9463ed66135f
Example 3.7 - JSON response with details about group 1 sub-groups
[
   {
      id:262,
      name:"a",
      pricing:{
         wepaCost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         wepaGroup1Cost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         wepaGroup2Cost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         ccCost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         ccGroup1Cost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         ccGroup2Cost:{
            bw:6,
            color:50,
            colorMarkup:25,
            colorDuplex:100,
            colorDuplexMarkup:50,
            bwmarkup:2,
            bwduplex:12,
            bwduplexMarkup:4
         },
         ccTransactionFee:20,
         rebate_percent:0,
         processing_percent:0
      }
   },
   {
      id:253,
      name:"CHARLIE",
      pricing:{
         wepaCost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         wepaGroup1Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         wepaGroup2Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccCost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccGroup1Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccGroup2Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccTransactionFee:20,
         rebate_percent:0,
         processing_percent:0
      }
   },
   {
      id:228,
      name:"Global2",
      pricing:{
         wepaCost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         wepaGroup1Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         wepaGroup2Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccCost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccGroup1Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccGroup2Cost:{
            bw:9,
            color:49,
            colorMarkup:0,
            colorDuplex:98,
            colorDuplexMarkup:0,
            bwmarkup:0,
            bwduplex:18,
            bwduplexMarkup:0
         },
         ccTransactionFee:20,
         rebate_percent:0,
         processing_percent:0.2
      }
   }
]