Pcounter
Product Information
Category | Other |
Sub-category | Print Credits |
Website | http://pcounter.com/ |
Product version | 3.x+ (SQL based) |
Documentation | http://pcounter.com/index.php?q=support |
API Documentation |
About Pcounter
The first version of Pcounter made available to the world was uploaded to the Novell Forum on Compuserve in 1992. Much work has been done since then! Pcounter is currently running at thousands of sites, serving the printer control needs of millions of users.
Integration Overview
The campusM integration with Pcounter supports the following functionality:
- Allow users to view their account balance
- View recent transactions
- Use the institution-provided links to find additional information and take actions such as top up credit and more.
Integration Method
- API (Recommended method)
- Database Stored Procedures
Prerequisites
There are several prerequisites to the campusM integration with Circuit Pcounter:
API integration method (recommended method)
Prerequisite | Additional Information |
---|---|
Deploy the Pcounter API layer provided by AIT | Only available for Pcounter version 3+. Please contact AIT for more details (https://www.ait.co.uk/contact-us) |
Provide the Pcounter server name | |
Provide the Pcounter API site key | |
Allow access to the Pcounter server from the campusM Connect Layer VPN | Required to allow Ex Libris to develop and test the created web services |
Provide a minimum of three (3) test accounts containing comprehensive and typical data, including the following:
|
The test accounts should allow testing the integration according to the Suggested Testing Guidelines i.e. should support authentication/ log into the app as the test account provided and run complete end-to-end testing of the integration functionality. |
Provide a list of links |
The list should include all the webpages the institution would like to allow the user to link out to. For example:
|
Database view integration method
Prerequisite | Additional Information |
---|---|
Implement the three (3) stored procedures provided below | |
Allow access to the Pcounter database from the campusM Connect Layer VPN | Required to allow Ex Libris to develop and test the created web services |
Provide a minimum of three (3) test accounts containing comprehensive and typical data, including the following:
|
The test accounts should allow testing the integration according to the Suggested Testing Guidelines i.e. should support authentication/ log into the app as the test account provided and run complete end-to-end testing of the integration functionality |
Provide a list of links | The list should include all the webpages the institution would like to allow the user to link out to. For example:
|
User Experience
The Pcounter integration offers two types of tiles (live or static). The tile size and design can be modified according to the institution branding and UX guidelines.
Property | Live Tile | Static Tile |
---|---|---|
Default Size | 1x2 | 1x1 |
Minimum Size | 1x2 | 1x1 |
Suggested Design |
Screenshots
Sample Request and Response
Sample Room Data Request |
---|
http://<server_name>/pcounter/api/pcountertransaction?count=2 |
Sample Response |
---|
[ { "AccountBalance": 20, "AllowUnlimitedCredit": false, "Amount": 20, "AutoClientCode": "", "ClientCode": "", "Comment": "(None)", "DateTime": "2017-12-18T14:22:43.67", "Document": "Deposit", "FreeQuota": 0, "GroupName": "", "IsColour": false, "IsDuplex": false, "JobType": "Deposit", "LowBalanceLimit": 0, "MediaType": "", "NumberOfCopies": 0, "PaperSize": "", "SubCode": "", "TotalCost": 20, "TotalPages": 0, "Username": "johnnysmith" }, { "AccountBalance": 0.84, "AllowUnlimitedCredit": false, "Amount": 0, "AutoClientCode": "", "ClientCode": "0025", "Comment": "", "DateTime": "2017-12-18T14:16:57.713", "Document": "Scan Job 1796", "FreeQuota": 0, "GroupName": "", "IsColour": false, "IsDuplex": false, "JobType": "Scan", "LowBalanceLimit": 0, "MediaType": "", "NumberOfCopies": 1, "PaperSize": "A4", "SubCode": "", "TotalCost": 0.05, "TotalPages": 1, "Username": " johnnysmith " } ] |
Stored Procedures
Account Balance – Stored Procedure |
---|
CREATE PROCEDURE getPrintBalance @username nvarchar(50) AS SELECT TOP 1 balance FROM ( SELECT TOP 1 p.DateTime AS dateTime, p.AccountBalance AS balance FROM [XPREnterprise].[dbo].[tblPurchase] AS p WHERE p.AccountName = @username ORDER BY dateTime DESC UNION ALL SELECT TOP 1 f.DateTime AS dateTime, f.AccountBalance AS balance FROM [XPREnterprise].[dbo].[tblFunding] AS f WHERE f.AccountName = @username ORDER BY dateTime DESC UNION ALL SELECT TOP 1 a.DateTime AS dateTime, a.AccountBalance AS balance FROM [XPREnterprise].[dbo].[tblAdjustment] AS a WHERE a.AccountName = @username AND a.Type IN ('Charge', 'Set Balance') ORDER BY dateTime DESC ) AS allBalance ORDER BY dateTime DESC |
Credit Limit – Stored Procedure |
---|
CREATE PROCEDURE getPrintCreditLimit @username nvarchar(50) AS SELECT TOP 1 AccountCreditLimit FROM [XPREnterprise].[dbo].[tblAdjustment] WHERE AccountName = @username AND Type = 'Set Credit Limit' ORDER BY DateTime DESC |
Recent Transactions – Stored Procedure |
---|
CREATE PROCEDURE getPrintTransactions @username nvarchar(50) AS SELECT TOP 5 * FROM ( SELECT TOP 5 p.DateTime AS dateTime, p.Type AS type, p.Quantity AS quantity, p.Multiplier AS multiplier, p.Amount AS amount, p.DeviceCode AS deviceCode, p.DeviceName AS deviceName, p.DeviceDescription AS deviceDescription, p.AccountBalance AS balance, NULL AS creditLimit, p.ItemGroupName AS itemGroupName, p.ItemName AS itemName, p.ItemPrice AS itemPrice, p.ItemProperty1 AS itemProperty1, p.ItemProperty2 AS itemProperty2, p.ItemProperty3 AS itemProperty3, p.ItemProperty4 AS itemProperty4, p.ItemProperty5 AS itemProperty5, p.ItemProperty6 AS itemProperty6 FROM [XPREnterprise].[dbo].[tblPurchase] AS p WHERE p.AccountName = @username ORDER BY dateTime DESC UNION ALL SELECT TOP 5 f.DateTime AS dateTime, f.Type AS type, NULL AS quantity, NULL AS multiplier, f.Amount AS amount, f.DeviceCode AS deviceCode, f.DeviceName AS deviceName, f.DeviceDescription AS deviceDescription, f.AccountBalance AS balance, NULL AS creditLimit, NULL AS itemGroupName, NULL AS itemName, NULL AS itemPrice, NULL AS itemProperty1, NULL AS itemProperty2, NULL AS itemProperty3, NULL AS itemProperty4, NULL AS itemProperty5, NULL AS itemProperty6 FROM [XPREnterprise].[dbo].[tblFunding] AS f WHERE f.AccountName = @username ORDER BY dateTime DESC UNION ALL SELECT TOP 5 a.DateTime AS dateTime, a.Type AS type, NULL AS quantity, NULL AS multiplier, CASE WHEN a.Type = 'Charge' THEN a.Amount ELSE NULL END AS amount, a.DeviceCode AS deviceCode, a.DeviceName AS deviceName, a.DeviceDescription AS deviceDescription, CASE WHEN a.Type = 'Set Balance' OR a.Type = 'Charge' THEN a.AccountBalance ELSE NULL END AS balance, CASE WHEN a.Type = 'Set Credit Limit' THEN a.AccountCreditLimit ELSE NULL END AS creditLimit, NULL AS itemGroupName, NULL AS itemName, NULL AS itemPrice, NULL AS itemProperty1, NULL AS itemProperty2, NULL AS itemProperty3, NULL AS itemProperty4, NULL AS itemProperty5, NULL AS itemProperty6 FROM [XPREnterprise].[dbo].[tblAdjustment] AS a WHERE a.AccountName = @username ORDER BY dateTime DESC ) AS allTransactions ORDER BY dateTime DESC |
Offline Functionality
Not supported.
Configuration Options
Configuration Item | Options | Default Value |
---|---|---|
Display Recent Transactions |
|
Yes |
Display Links |
|
Yes |
Labels
Screen | Label | Default Value |
---|---|---|
Account | Page Title | Account Balance |
Account | Current Balance | Current Balance |
Account | Update Date | Updated at: |
Transactions | Page Title | Recent Transactions |
Transactions | Details | Select a transaction to view details: |
Links | Page Title | Links |
Suggested Testing Guidelines
The following acceptance criteria is recommend to be used as part of the testing and approval process:
- User can access and view their current print credits balance
- User can view their recent transactions
- User can click on the institution-provided links and is being redirected to the relevant webpages