Print Credits

The Print Credits product integration allows users to manage their printing activities.

Overview

The Print Credits product integration enables users to manage their printing activities.

Vendors

The Print Credits product integration is supported by the Pharos Uniprint and PaperCut vendors.

User Experience

The following section describes information relating to the user experience for the Print Credits product integration.

User Activities

  • Users can check their print credit balance.
  • Users can add to their print credit balance.
  • Users can track transactions, such as deposits and payments, both current and past.

Authentication

The Print Credits product integration requires the user's identifier from the vendor's system. This is obtained with the token based authentication attributes.

The connection to the vendor is handled as part of the generic API Configuration under the Vendor section. The first part of the API Configuration details the URL to which to connect and any parameters that are required. The second part relates to the API Authentication for the URL, which is vendor-specific, and could also be specific to the vendor instance the client is running.

Screenshots

The following is an overview of the Print Credits product integration user interface for a reference when configuring it:

For Pharos Uniprint:

print_credits_landing_page.png print_credits_transaction_page.png
Print Credits Landing Page
Print Credits Transaction Page
printCredit2.png printCredid3.png
Print Credits Available Balance
Print Credits Deposits

For the PaperCut vendor, only the balance is displayed.

Technical Overview

The following section describes technical information for the Print Credits product integration.

Prerequisites

The following prerequisites are required to configure the Print Credits product integration:

  • User identifier mapping – If you have CMAuth configured, map the relevant vendor ID in the integration profile (Additional Mapping), for example:bannerId=employeeID, where employeeID is the relevant user attribute on the vendor ’s backend system. If you have LDAP configured, verify that the relevant attribute is returned as an attribute from the LDAP response.
  • campusM IP addresses should be added to an allow list on the PaperCut/Pharos server. For more information refer to campusM Allowed List.

Pharos Uniprint

  • Example hostname: https://{HOST}/pharosportlet/?netID={userId}
  • Set the userId attribute as a URL Query, as as a Token Property whose token property name corresponds to the SAML attribute for the user's Pharos ID, for example,employeeID.
  • The parameter name needs to match the value entered in the URL to retrieve the information field.
  • The following is an example of a JSON response.
  • Uniprint requires no Path Parameters or General Headers.
  • Uniprint currently passes the end user's vendor ID as a URL Query Parameter. This needs to be set in the URL and added as a query parameter with a matching parameter name.
  • The Uniprint instance that campus< accesses has "No Auth" currently, but in the future this could be different. Authentication will differ per client instance.

PaperCut

campusM calls PaperCut api.getUserAccountBalance to retrieve the PaperCut balance, with a token and the user.
  • Token – a specific token is required for each system. The token needs to be configured in PaperCut.
  • User – the networkUser in PaperCut.
  • LookUpUserNameByEmail – retrieves the networkUser in PaperCut according to email.

For more information about IPs Allowed Lists on PaperCut server refer to PaperCut Security documentation.

Configuration

Configuration for Pharos Uniprint Vendor

The following table describes the configuration options available for the Pharos Uniprint vendor.
Note that while the majority of these fields are not mandatory, they are displayed with their default values unless otherwise stated.
Configuration OptionDescriptionMandatoryData TypeDefaultExample
Enable Product IntegrationSelect to enable the product integration on the user's campusM app.NoCheck box
Product Integration DescriptionA description of the product integration for internal useYesString Print Credits
Screen TitleAppears in the top header (of the integration, in the app).NoStringPrint Credits
Primary Theme ColorUsed for the Screen Title header and other header elements.NoHex code#444444
Secondary Theme ColorUsed for the Grade block headers.NoHex code#6f8ea4
Page TitleThis is shown at the top of the pageNoStringPrint Credit
Available Balance HeaderThis is shown at the top of the available balance sectionNoStringAvailable Balance
Top-Up Button TextIf the top-up button link is enables, this controls the text the user seesNoStringTop-Up Balance
Recent Transactions HeaderThis is shown at the top of the recent transactions sectionNoStringRecent Transactions
All Filter TextThis is used as a label for the filterNoStringAll
Purchase Filter TextThis is used as a label for the filterNoStringPurchase
Deposit Filter TextThis is used as a label for the filterNoStringDeposit
Purchase TextThis is used as the text for the transaction descriptionNoStringPrint Purchase
Deposit textThis is used as the text for the transaction descriptionNoStringSystem Deposit
Load More TextThe label for the load more buttonNoStringLoad more
No Transactions TextThe label for the error message when there are no transactions to displayNoStringNo transactions to display
Error Message TextThe label for the error message when the service is inaccessibleNoStringThere was an error accessing the service.
Amount LabelThe label for the amount in the transaction details pageNoStringAmount
Date LabelThe label for the date in the transaction details pageNoStringDate
Show the top-up button linkThis will redirect the user out of the campusM app to the target URLNoBooleanTrue
Top-up page URLThe URL to redirect to in order to top up the balanceNoURIhttps://www.google.com/
Enable transactions filterThis will enable filtering of the transactions by dateNoBooleanFalse
Display Transactions PeriodThe period of time to display the transactions fromNoObject

last7Days

Load More PeriodThe period of time to load more transactions fromNoObject7DaysMore
Input Date FormatThe format of the dates coming back from the APINoStringmm/DD/YYYY HH:mm:ss A
Display Date FormatThe format to display any dates in, throughout the integrationNoStringMMMM Do YYYY HH:mm
Show Payment AmountChoose if to display the payment amount in the purchase/deposit pageNoBooleanTrue
Show Payment DateChoose if to display the payment Date in the purchase/deposit pageNoBooleanTrue
Vendor NameUniprint (Pharos)YesObject-
URL to retrieve the informationThe base URL should include path parametersYesURIn/ahttps://mrm.newschool.edu/pharosportlet
Response Content TypeWhat type of data you're expecting back from this API endpoint.NoStringJSON
Response Object TypeWhat you expect as the top-level object from the API endpoint.NoStringObject
URL Query ParametersAny additional query parameters required by the vendor.NoObjectSee Technical Overview
URL Path ParametersAny path parameters required by the vendor.YesObjectSee Technical Overview
General HeadersAny additional headers required by the vendor.NoObjectSee Technical Overview
API AuthenticationDefines the authentication for this vendor.YesObjectSee Technical OverviewBasic

Configuration for PaperCut Vendor

The following table describes the configuration options available for the PaperCut vendor.

Configuration OptionDescriptionMandatoryData TypeDefaultExample
Enable Product IntegrationSelect to enable the product integration on the user's campusM app.NoCheckbox
Product Integration DescriptionA description of the product integration for internal useYesString PpaperCut
Screen TitleAppears in the top header (of the integration, in the app).NoStringPaperCut
Vendor NamePaperCutYesObject-
ServerEnter the hostname or IP address of the server hosting the application server. If the protocol is not provided, it is assumed to be http.YesString

myPaperCutHost.com

https://myPaperCutHost.com

PortEnter the port number on which the application server is listeningNoNumber91918991
TokenEnter the authentication token as configured in PaperCut portal. See the PaperCut Security documentation.YesString
CurrencyEnter the account balance currencyNoString$
User IdentifierSelect the source for your user identifier to send in the body of the PaperCut API. Possible values: Username, Token Property, and Constant.YesDrop-down list
Primary Theme ColorUsed for the Screen Title header and other header elements.NoHex code#444444
Secondary Theme ColorUsed for the Grade block headers.NoHex code#6f8ea4
Page TitleThis is shown at the top of the pageNoStringPrint Credit
Available Balance HeaderThis is shown at the top of the available balance sectionNoStringAvailable Balance
Top-Up Button TextIf the top-up button link is enables, this controls the text the user seesNoStringTop-Up Balance
Recent Transactions HeaderThis is shown at the top of the recent transactions sectionNoStringRecent Transactions
All Filter TextThis is used as a label for the filterNoStringAll
Purchase Filter TextThis is used as a label for the filterNoStringPurchase
Deposit Filter TextThis is used as a label for the filterNoStringDeposit
Purchase TextThis is used as the text for the transaction descriptionNoStringPrint Purchase
Deposit textThis is used as the text for the transaction descriptionNoStringSystem Deposit
Load More TextThe label for the load more buttonNoStringLoad more
No Transactions TextThe label for the error message when there are no transactions to displayNoStringNo transactions to display
Error Message TextThe label for the error message when the service is inaccessibleNoStringThere was an error accessing the service.
Amount LabelThe label for the amount in the transaction details pageNoStringAmount
Date LabelThe label for the date in the transaction details pageNoStringDate
Show the top-up button linkThis will redirect the user out of the campusM app to the target URLNoBooleanTrue
Top-up page URLThe URL to redirect to in order to top up the balanceNoURIhttps://www.google.com/
Enable transactions filterThis will enable filtering of the transactions by dateNoBooleanFalse
Display Transactions PeriodThe period of time to display the transactions fromNoObject

last7Days

Load More PeriodThe period of time to load more transactions fromNoObject7DaysMore
Input Date FormatThe format of the dates coming back from the APINoStringmm/DD/YYYY HH:mm:ss A
Display Date FormatThe format to display any dates in, throughout the integrationNoStringMMMM Do YYYY HH:mm
Show Payment AmountChoose if to display the payment amount in the purchase/deposit pageNoBooleanTrue
Show Payment DateChoose if to display the payment Date in the purchase/deposit pageNoBooleanTrue