User Tools

Site Tools


access:internet_key_api_development

This is an old revision of the document!


Summary

This page details the functionality of the AGTEK Access Internet Key system. The syntax of these operations is pseudo object oriented, with a some English prose to indicate parameter and return types. This should not be taken as a real programmer's documentation, but rather as a specification indicating how the API should be implemented.

A NOTE about binding: C++ classes will return their values as the final parameter (passed by reference) and the actual return value is an AccessError code. Java classes will return the appropriate return value, with errors being indicated by standard (in this case AGTEK Access) exception structures.

Objects and Methods

The following objects and listed methods encompass the functionality for the License Server API. The language specific bindings for these methods will be folded into the appropriate language binding document during development (C++/Java).

AccessServer

The Access server API provides basic user functionality for the use and consumption of license keys.

methods

  • AnnouncementList getAnnouncements( int id, String product ) - Returns a list of announcements with id values greater than “id” and specified for the product with the specific product code. To see all announcements regardless, use id == -1 and product == “”.
  • LicenseKeyList getLicenses( String product ) - Returns a list of licenses for a specified product. (probably need to make this a product list)
  • void checkoutLicense( LicenseKey l ) - Causes the specified license to be checked out.
  • void checkinLicense( LicenseKey l ) - Causes the specified license to be returned to the server pool.
  • void renewLicense( LicenseKey l ) - Causes the specified license to be renewed for the standard checkout time. Renew may happen at any time the client has the license checked out.
  • void submitLicenseComment( String comment ) - Submits a string to the license event log for informational purposes. Will not affect any billable and resource reporting license operations.

AdminAPI (Customers)

The AdminAPI provides the capability to administer basic license features (as well as a couple of other feature);

  • Users associated with a key; add, remove, change
  • Create/Delete/Change new users for the customer

methods

  • UserList listUsers( LicenseKey l ) - Lists users currently assigned to the key
  • StorageUser addUser( String id, int type, boolean isAdmin, String password ) - Restricted form to support only customer admins, AGTEK Support to use the method in Agtek SupportAPI.
  • void addUser( LicenseKey l, StorageUser u ) - Adds a user to the specific key.
  • void removeUser( LicenseKey l, StorageUser u ) – Removes a user from the specified key.

SupportAPI (AGTEK Employees only)

The SupportAPI supports the capability to administer revenue based features in the Access system. This API is to be used only at AGTEK.

  • Create/Delete keys per customer
  • Associate feature codes per key
  • Activate License or Access server functionality per customer
  • Run reporting functions

methods

  • StorageUser addUser(String id, int customer, int type, boolean isAdmin, boolean isSupport, String password) - Moved method from CustomerAdmin API.
  • LicenseKey createKey( Customer c, LicenseType t ) - Create a new key for the user.
  • void deleteKey( LicenseKey l ) - Delete a key, and all of it's user assignments.
  • void updateKey( LicenseKey l ) - Updates the contents of the key in the database (same id) with changes.
  • void updateUser( StorageUser u ) - Modified to handle Role.
  • void updateCusteomer( StorageCustomer c ) - Updated to handle hasAccess and hasLicense flags.

Mapping from Solo

This table provides the equivalent calls between the Solo system and the new system. Calls are based at the ASP level of functionality. It is envisioned that a new C++ wrapper would be written for the AGTEK desktop apps to plug into the security model.

ASP Function New Function Description
AddFloatingUser.asp admin.addUser(l,u) Add user to a license key
AddFloatingUserPassword.aspadmin.setPassword(u,p) Set/reset password on user.
DeleteFloatingUser.asp admin.deleteUser(u) Delete specified user.
GetCheckedOutKey.asp admin.checkoutLicense(l)Checkout the specified license.
GetCompanyCrossRef.asp N/A Not needed, customer ops scoped by admin login
GetFloatingUsers.asp admin.getUsers() List all potential users for current customer
GetMaxFloatingUsers.asp license.getMaxUsers() Maximum users per key allowable.
GetNetKeyDaysAway.asp license.getMaxDuration()Get duration from license.
GetNetKeysAvail.asp admin.getLicenses(prod,free) List keys available for product
GetNetKeysInUse.asp admin.getLicenses(prod,free) List keys available for product
GetRegDataAG.asp ? not used in CNetworkKeyCalled in CSoftwareKey::GetSoftwareLicense
GetUpdatesAG.asp ? not used in CNetworkKeyCalled in SoftwareKey::FindPage
ModFloatingUser.asp admin.updateUser(u) Modify/update user record
ModNetKeyDaysAway.asp admin.updateLicenseDuration(l, long)
NoNetworkKeys.asp access.submitLicenseComment(str)Add comment to license audit log.
ReleaseLicense.asp access.checkinLicense(l)Release/Checkin the lock on the license
SetFloatingUser.asp admin.addUser(l,u) Adds user to a license key.
access/internet_key_api_development.1296598782.txt.gz · Last modified: 2012/10/10 16:20 (external edit)