| Arguments: | None |
|---|
Returns the name, the version, and the build information for the WebCheckout server. Includes a list of active and inactive modules. Does not require authentication.
POST rest/session/info
{
"sessionid": ""
}
HTTP 200
{
"apiVersion": "1.0",
"session": null,
"status": "ok",
"notifications": null,
"payload": {
"session": null,
"serverTime": "2016-05-31T08:42:17.754456-05:00",
"instanceName": "webcheckout",
"webcoVersion": "4.4.0",
"features": {
"mandatoryBarcoding": false,
"fees": true,
"messaging": true,
"media": true,
"personnelScheduling": true,
"patronPortal": true,
"rrt": true,
"bundles": true,
"ticketing": true,
"crestron": true,
"enterprise": true
},
"webcoBuild": "master...origin/master_17255_b082b93"
}
}
| Arguments: |
|
|---|
Attempt to authenticate the user userid with a password.
POST rest/session/start
{
"userid": "admin",
"password": "admin",
"sessionid": ""
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"id": "S-15055",
"uuid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c",
"agent": {
"_class": "person",
"oid": 1,
"name": "Daniel T. Pyne",
"userid": "admin"
},
"systemAuths": null,
"roles": {
"patron": [
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"operator": [
{
"_class": "checkoutCenter",
"oid": 2,
"name": "East",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 3,
"name": "West",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"employee": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
],
"staff": null,
"manager": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
]
},
"checkoutCenter": null,
"organization": null,
"timezone": "America/Chicago",
"locale": "en_US",
"logoutUri": null,
"timeout": 300,
"expiration": 299,
"twentyFourHourTime": false
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Ends the current users session, unlocking any objects locked to the session.
POST rest/session/logout
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return the list of valid roles for the current authenticated user.
POST rest/session/sessionRoles
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"patron": [
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"operator": [
{
"_class": "checkoutCenter",
"oid": 2,
"name": "East",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 3,
"name": "West",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"employee": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
],
"staff": null,
"manager": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
]
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: |
|
|---|
Set the current scope for this session.
POST rest/session/setSessionScope
{
"checkoutCenter": {
"_class": "checkoutCenter",
"oid": 1
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"id": "S-15055",
"uuid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c",
"agent": {
"_class": "person",
"oid": 1,
"name": "Daniel T. Pyne",
"userid": "admin"
},
"systemAuths": [
[
"OPERATOR",
"role"
],
[
"CIRCULATE",
"role"
],
[
"EDIT-RESERVATIONS",
"role"
],
[
"EMAIL-PATRONS",
"role"
],
[
"ONLINE-OFFLINE",
"role"
],
[
"CHANGE-RESOURCE-LOCATION",
"role"
],
[
"ADD-CONDITION-NOTES",
"role"
],
[
"MANAGE-RTYPES",
"role"
],
[
"MANAGE-AUTHS",
"role"
],
[
"MANAGE-RESOURCES",
"role"
],
[
"PERFORM-INVENTORY",
"role"
],
[
"MANAGE-BIBLIO",
"role"
],
[
"MANAGE-FINES",
"role"
],
[
"MANAGE-PEOPLE",
"role"
],
[
"MANAGE-PIR-ACCESS",
"role"
],
[
"MANAGE-PIR-RESERVATIONS",
"role"
],
[
"MANAGE-LOCATIONS",
"role"
],
[
"MANAGE-EMPLOYEES",
"role"
],
[
"MANAGE-ORGS",
"role"
],
[
"MANAGE-ORGANIZATION",
"role"
],
[
"MANAGE-DEPTS",
"role"
],
[
"MANAGE-TICKETS",
"role"
],
[
"OVERRIDE-MAX-CHECKOUT",
"role"
],
[
"OVERRIDE-RESERVE-PAST",
"role"
],
[
"OVERRIDE-MAX-RENEWALS",
"role"
],
[
"OVERRIDE-USAGE-LIMITS",
"role"
],
[
"OVERRIDE-FINE",
"role"
],
[
"OVERRIDE-HOLD",
"role"
],
[
"OVERRIDE-INACTIVE-PATRON",
"role"
],
[
"OVERRIDE-CHECKOUT-TO-SELF",
"role"
],
[
"OVERRIDE-LATE-RESOURCES",
"role"
],
[
"OVERRIDE-LOCATION-HOURS",
"role"
],
[
"OVERRIDE-OPEN-CLOSE-INTERVALS",
"role"
],
[
"OVERRIDE-RESTRICTED-ORG",
"role"
],
[
"OVERRIDE-RESERVATION-ADVANCE",
"role"
],
[
"OVERRIDE-AUTHORIZATION",
"role"
],
[
"OVERRIDE-MAX-RESOURCES",
"role"
],
[
"OVERRIDE-TURNAROUND",
"role"
],
[
"OVERRIDE-ALLOCATION-LOCK",
"role"
],
[
"MIN-RESERVATION-LEAD-TIME",
"role"
],
[
"BYPASS-PIN",
"role"
],
[
"OVERRIDE-FORBIDDEN-PICKUP-RETURN",
"role"
],
[
"MANAGE-CATALOG",
"role"
],
[
"ALTER-SYSTEM",
"role"
],
[
"CAN-IMPORT",
"role"
],
[
"BACKUP-DATABASE",
"role"
],
[
"OVERRIDE-MAX-SIMULTANEOUS-CIRCULATION-EVENTS",
"role"
],
[
"OVERRIDE-RESOURCE-TYPE-LIMIT-PER-PATRON",
"role"
],
[
"OVERRIDE-PATRON-MAX-RESERVATIONS",
"role"
],
[
"OVERRIDE-MAX-UNSERIALIZED-QTY",
"role"
],
[
"MANAGE-PERSONNEL-SCHEDULING",
"role"
]
],
"roles": {
"patron": [
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"operator": [
{
"_class": "checkoutCenter",
"oid": 2,
"name": "East",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 3,
"name": "West",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"employee": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
],
"staff": null,
"manager": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
]
},
"checkoutCenter": {
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"timezone": "America/Chicago",
"locale": "en_US",
"logoutUri": null,
"timeout": 10800,
"expiration": 10799,
"twentyFourHourTime": false
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return information about the current session.
POST rest/session/currentSession
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"id": "S-15055",
"uuid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c",
"agent": {
"_class": "person",
"oid": 1,
"name": "Daniel T. Pyne",
"userid": "admin"
},
"systemAuths": [
[
"OPERATOR",
"role"
],
[
"CIRCULATE",
"role"
],
[
"EDIT-RESERVATIONS",
"role"
],
[
"EMAIL-PATRONS",
"role"
],
[
"ONLINE-OFFLINE",
"role"
],
[
"CHANGE-RESOURCE-LOCATION",
"role"
],
[
"ADD-CONDITION-NOTES",
"role"
],
[
"MANAGE-RTYPES",
"role"
],
[
"MANAGE-AUTHS",
"role"
],
[
"MANAGE-RESOURCES",
"role"
],
[
"PERFORM-INVENTORY",
"role"
],
[
"MANAGE-BIBLIO",
"role"
],
[
"MANAGE-FINES",
"role"
],
[
"MANAGE-PEOPLE",
"role"
],
[
"MANAGE-PIR-ACCESS",
"role"
],
[
"MANAGE-PIR-RESERVATIONS",
"role"
],
[
"MANAGE-LOCATIONS",
"role"
],
[
"MANAGE-EMPLOYEES",
"role"
],
[
"MANAGE-ORGS",
"role"
],
[
"MANAGE-ORGANIZATION",
"role"
],
[
"MANAGE-DEPTS",
"role"
],
[
"MANAGE-TICKETS",
"role"
],
[
"OVERRIDE-MAX-CHECKOUT",
"role"
],
[
"OVERRIDE-RESERVE-PAST",
"role"
],
[
"OVERRIDE-MAX-RENEWALS",
"role"
],
[
"OVERRIDE-USAGE-LIMITS",
"role"
],
[
"OVERRIDE-FINE",
"role"
],
[
"OVERRIDE-HOLD",
"role"
],
[
"OVERRIDE-INACTIVE-PATRON",
"role"
],
[
"OVERRIDE-CHECKOUT-TO-SELF",
"role"
],
[
"OVERRIDE-LATE-RESOURCES",
"role"
],
[
"OVERRIDE-LOCATION-HOURS",
"role"
],
[
"OVERRIDE-OPEN-CLOSE-INTERVALS",
"role"
],
[
"OVERRIDE-RESTRICTED-ORG",
"role"
],
[
"OVERRIDE-RESERVATION-ADVANCE",
"role"
],
[
"OVERRIDE-AUTHORIZATION",
"role"
],
[
"OVERRIDE-MAX-RESOURCES",
"role"
],
[
"OVERRIDE-TURNAROUND",
"role"
],
[
"OVERRIDE-ALLOCATION-LOCK",
"role"
],
[
"MIN-RESERVATION-LEAD-TIME",
"role"
],
[
"BYPASS-PIN",
"role"
],
[
"OVERRIDE-FORBIDDEN-PICKUP-RETURN",
"role"
],
[
"MANAGE-CATALOG",
"role"
],
[
"ALTER-SYSTEM",
"role"
],
[
"CAN-IMPORT",
"role"
],
[
"BACKUP-DATABASE",
"role"
],
[
"OVERRIDE-MAX-SIMULTANEOUS-CIRCULATION-EVENTS",
"role"
],
[
"OVERRIDE-RESOURCE-TYPE-LIMIT-PER-PATRON",
"role"
],
[
"OVERRIDE-PATRON-MAX-RESERVATIONS",
"role"
],
[
"OVERRIDE-MAX-UNSERIALIZED-QTY",
"role"
],
[
"MANAGE-PERSONNEL-SCHEDULING",
"role"
]
],
"roles": {
"patron": [
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"operator": [
{
"_class": "checkoutCenter",
"oid": 2,
"name": "East",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
{
"_class": "checkoutCenter",
"oid": 3,
"name": "West",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
}
],
"employee": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
],
"staff": null,
"manager": [
{
"_class": "organization",
"oid": 1,
"name": "Communications"
}
]
},
"checkoutCenter": {
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"timezone": "America/Chicago",
"locale": "en_US",
"logoutUri": null,
"timeout": 10800,
"expiration": 10799,
"twentyFourHourTime": false
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return the servers current time.
POST rest/session/currentTime
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": "2016-05-31T08:42:18.522092-05:00",
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: |
|
|---|
Return the servers current time. Type is one of the following:
Return the current user's calendar token or null if no token has been granted.
POST rest/session/currentUserCalendarToken
{
"type": "OPERATOR",
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"token": "203CB8F28E52CA0B9AA05DC4E097C5"
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return a list of all entities locked in the current session. Currently only allocations are lockable entities. This command name assumes that the set of lockable entites may be expanded in the future.
POST rest/session/lockedEntities
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
{
"_class": "allocation",
"oid": 2131,
"name": "A-2131",
"id": null,
"action": "RESERVATION",
"state": "RESERVATION",
"returnTime": "2016-05-31T08:42:19.072810-05:00",
"returnOption": "WILL-RETURN",
"pickupTime": "2016-05-31T08:42:19.072804-05:00",
"pickupOption": "WILL-CALL",
"checkoutCenter": {
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"patron": {
"_class": "person",
"oid": 1,
"name": "Daniel T. Pyne",
"userid": "admin"
},
"note": null,
"items": [],
"deliveryLocationName": ""
}
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return a list of all available normal (non-special) namespaces.
POST rest/session/namespaces
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
{
"name": "authset",
"label": "authset",
"documentation": "Main authorization class. (organization_oid, person_oid) must be unique."
},
{
"name": "authsetCheckoutCenter",
"label": "authsetCheckoutCenter",
"documentation": "Joins an authset with zero or more checkout-centers."
},
{
"name": "operatorRole",
"label": "operatorRole",
"documentation": "An operator role (these should match what is present in *default-roles*)"
},
{
"name": "operatorAuthorization",
"label": "operatorAuthorization",
"documentation": "An operator authorization (these should match what is present in *default-roles*)"
},
{
"name": "authsetAuthorization",
"label": "authsetAuthorization",
"documentation": "Joins an authset with zero or more supplemental authorizations (beyond those granted by the the authset's roles)"
},
{
"name": "wcoApplication",
"label": "wcoApplication",
"documentation": null
},
{
"name": "integrationLog",
"label": "integrationLog",
"documentation": null
},
{
"name": "patronClass",
"label": "patronClass",
"documentation": null
},
{
"name": "person",
"label": "person",
"documentation": null
},
{
"name": "personCheckoutCenterSignature",
"label": "personCheckoutCenterSignature",
"documentation": "Maps a (person,checkout-center) pair to date object for the\n purposes of the require-signature-on-file field/property."
},
{
"name": "calendarAuthentication",
"label": "calendarAuthentication",
"documentation": null
},
{
"name": "hold",
"label": "hold",
"documentation": null
},
{
"name": "organization",
"label": "organization",
"documentation": null
},
{
"name": "resourceType",
"label": "resourceType",
"documentation": null
},
{
"name": "resourceTypeFallback",
"label": "resourceTypeFallback",
"documentation": null
},
{
"name": "rrtBundle",
"label": "rrtBundle",
"documentation": null
},
{
"name": "rtypeView",
"label": "rtypeView",
"documentation": null
},
{
"name": "rtypeViewAuthorized",
"label": "rtypeViewAuthorized",
"documentation": null
},
{
"name": "taxRate",
"label": "taxRate",
"documentation": null
},
{
"name": "department",
"label": "department",
"documentation": null
},
{
"name": "departmentCode",
"label": "departmentCode",
"documentation": null
},
{
"name": "accountCode",
"label": "accountCode",
"documentation": null
},
{
"name": "term",
"label": "term",
"documentation": null
},
{
"name": "checkoutCenter",
"label": "checkoutCenter",
"documentation": null
},
{
"name": "checkoutCenterSchedule",
"label": "checkoutCenterSchedule",
"documentation": null
},
{
"name": "checkoutCenterScheduleNode",
"label": "checkoutCenterScheduleNode",
"documentation": null
},
{
"name": "ldapProfile",
"label": "ldapProfile",
"documentation": null
},
{
"name": "ldapRule",
"label": "ldapRule",
"documentation": null
},
{
"name": "authentication",
"label": "authentication",
"documentation": null
},
{
"name": "resource",
"label": "resource",
"documentation": null
},
{
"name": "circulationPolicy",
"label": "circulationPolicy",
"documentation": null
},
{
"name": "resourceSchedule",
"label": "resourceSchedule",
"documentation": null
},
{
"name": "jobLog",
"label": "jobLog",
"documentation": null
},
{
"name": "group",
"label": "group",
"documentation": null
},
{
"name": "groupSet",
"label": "groupSet",
"documentation": null
},
{
"name": "groupSetMember",
"label": "groupSetMember",
"documentation": null
},
{
"name": "groupMember",
"label": "groupMember",
"documentation": null
},
{
"name": "groupAuthorization",
"label": "groupAuthorization",
"documentation": null
},
{
"name": "groupResourceType",
"label": "groupResourceType",
"documentation": null
},
{
"name": "station",
"label": "station",
"documentation": null
},
{
"name": "allocation",
"label": "allocation",
"documentation": "Class representing a circulation activity for a collection of resources"
},
{
"name": "allocationLog",
"label": "allocationLog",
"documentation": null
},
{
"name": "allocationPerson",
"label": "allocationPerson",
"documentation": null
},
{
"name": "allocationItemBuildingPass",
"label": "allocationItemBuildingPass",
"documentation": null
},
{
"name": "allocationRepeatRule",
"label": "allocationRepeatRule",
"documentation": null
},
{
"name": "allocationGroup",
"label": "allocationGroup",
"documentation": null
},
{
"name": "allocationTask",
"label": "allocationTask",
"documentation": null
},
{
"name": "allocationReminderInterval",
"label": "allocationReminderInterval",
"documentation": null
},
{
"name": "fileAttachment",
"label": "fileAttachment",
"documentation": null
},
{
"name": "wcoLog",
"label": "wcoLog",
"documentation": null
},
{
"name": "requestLog",
"label": "requestLog",
"documentation": null
},
{
"name": "mailEvent",
"label": "mailEvent",
"documentation": null
},
{
"name": "agreementFormConfig",
"label": "agreementFormConfig",
"documentation": null
},
{
"name": "pirPersonCheckoutCenter",
"label": "pirPersonCheckoutCenter",
"documentation": null
},
{
"name": "ticketProblemType",
"label": "ticketProblemType",
"documentation": null
},
{
"name": "ticketRemedyType",
"label": "ticketRemedyType",
"documentation": null
},
{
"name": "ticketLog",
"label": "ticketLog",
"documentation": null
},
{
"name": "ticket",
"label": "ticket",
"documentation": null
},
{
"name": "messageType",
"label": "messageType",
"documentation": "Instances of this are mapped to the actual templates\n used to populate messages."
},
{
"name": "messageTypeEntity",
"label": "messageTypeEntity",
"documentation": ""
},
{
"name": "autoEmail",
"label": "autoEmail",
"documentation": null
},
{
"name": "checkoutCenterAutoEmail",
"label": "checkoutCenterAutoEmail",
"documentation": null
},
{
"name": "emailTemplate",
"label": "emailTemplate",
"documentation": null
},
{
"name": "calendarAllocationFields",
"label": "calendarAllocationFields",
"documentation": null
},
{
"name": "checkoutCenterPirPickupOption",
"label": "checkoutCenterPirPickupOption",
"documentation": null
},
{
"name": "turndown",
"label": "turndown",
"documentation": null
},
{
"name": "inventoryEvent",
"label": "inventoryEvent",
"documentation": null
},
{
"name": "invoice",
"label": "invoice",
"documentation": null
},
{
"name": "organizationCreditCardType",
"label": "organizationCreditCardType",
"documentation": null
},
{
"name": "invoiceLine",
"label": "invoiceLine",
"documentation": null
},
{
"name": "invoiceTaxRate",
"label": "invoiceTaxRate",
"documentation": "Class that captures what tax-rates are available at time of invoice creation."
},
{
"name": "invoiceLineTaxRate",
"label": "invoiceLineTaxRate",
"documentation": null
},
{
"name": "invoicesPendingExport",
"label": "invoicesPendingExport",
"documentation": null
},
{
"name": "bibliographicRecord",
"label": "bibliographicRecord",
"documentation": null
},
{
"name": "holding",
"label": "holding",
"documentation": null
},
{
"name": "resourceController",
"label": "resourceController",
"documentation": null
},
{
"name": "allocationRoute",
"label": "allocationRoute",
"documentation": null
},
{
"name": "allocationRouteMessage",
"label": "allocationRouteMessage",
"documentation": null
},
{
"name": "bibliographicRecordExt",
"label": "bibliographicRecordExt",
"documentation": null
},
{
"name": "resourceExt",
"label": "resourceExt",
"documentation": null
},
{
"name": "resourceTypeExt",
"label": "resourceTypeExt",
"documentation": null
},
{
"name": "personExt",
"label": "personExt",
"documentation": null
},
{
"name": "groupExt",
"label": "groupExt",
"documentation": null
},
{
"name": "groupMemberExt",
"label": "groupMemberExt",
"documentation": null
},
{
"name": "accountCodeExt",
"label": "accountCodeExt",
"documentation": null
},
{
"name": "departmentExt",
"label": "departmentExt",
"documentation": null
},
{
"name": "pirAuthExt",
"label": "pirAuthExt",
"documentation": null
},
{
"name": "importSession",
"label": "importSession",
"documentation": "Used to identify log items from one atomic import operation."
},
{
"name": "scheduledMessageHistory",
"label": "scheduledMessageHistory",
"documentation": "Instances of this entity track the last time a rule\n has RESULTED IN SENDING A MESSAGE for a given entity. We only have\n rules that are one-off or infinitely repeating (until the state of\n the entity changes so that the rule doesn't apply any more), so\n stale entries can eventually be cleared out. We won't worry about\n that here for now."
},
{
"name": "scheduledMessageType",
"label": "scheduledMessageType",
"documentation": "Instances of this entity combine a name, format,\n entity-class and other query parameters. Taken together, these\n identify what message template should be applied to an instance of\n the entity class to create a message of the appropriate format."
},
{
"name": "scheduledMessageRule",
"label": "scheduledMessageRule",
"documentation": "Instances of this class are evaluated by selecting\n persisted objects of type and state ,\n and then determining if it's now time to send a message of type\n ."
},
{
"name": "shift",
"label": "shift",
"documentation": null
},
{
"name": "schedulingGroup",
"label": "schedulingGroup",
"documentation": null
},
{
"name": "schedulingGroupMember",
"label": "schedulingGroupMember",
"documentation": null
},
{
"name": "staffedLocation",
"label": "staffedLocation",
"documentation": null
},
{
"name": "staffingLimit",
"label": "staffingLimit",
"documentation": null
},
{
"name": "staff",
"label": "staff",
"documentation": null
},
{
"name": "staffAssignment",
"label": "staffAssignment",
"documentation": null
},
{
"name": "staffAvailability",
"label": "staffAvailability",
"documentation": null
}
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Return a list of all entities which may be searched using the namespace/search method.
POST rest/session/searchableEntities
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
"accountCode",
"agreementFormConfig",
"allocation",
"allocationTask",
"autoEmail",
"bibliographicRecord",
"checkoutCenter",
"department",
"emailTemplate",
"group",
"holding",
"inventoryEvent",
"invoice",
"invoiceLine",
"jobLog",
"messageType",
"messageTypeEntity",
"organization",
"person",
"requestLog",
"resource",
"resourceSchedule",
"resourceType",
"scheduledMessageRule",
"scheduledMessageType",
"schedulingGroup",
"shift",
"staff",
"staffAssignment",
"staffAvailability",
"staffedLocation",
"ticket",
"turndown",
"wcoLog"
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Resets the session expiration value to the session timeout.
POST rest/session/resetTimeout
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"serverTime": "2016-05-31T08:42:19.755225-05:00",
"timeout": 10800,
"expiration": 10799
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: | None |
|---|
Will generate an error condition for use in testing.
POST rest/session/testError
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 500
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "error",
"notifications": null,
"payload": {
"message": "TEST ERROR",
"backtrace": "Backtrace for: #\n0: ((LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX))\n1: (SB-IMPL::CALL-WITH-SANE-IO-SYNTAX #)\n2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #)\n3: (SB-DEBUG:PRINT-BACKTRACE :STREAM # :START 0 :FROM :DEBUGGER-FRAME :COUNT 4611686018427387903 :PRINT-THREAD T :PRINT-FRAME-SOURCE NIL :METHOD-FRAME-STYLE NIL)\n4: ((:METHOD REST-SERVER::REST-ERROR-AS-JSON (ERROR)) #) [fast-method]\n5: ((FLET REST-SERVER::RETURN-ERROR :IN HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST) #)\n6: (SIGNAL #)\n7: (ERROR \"TEST ERROR\")\n8: ((LAMBDA NIL :IN WCOF::PERFORM))\n9: (WCOF::CALL-WITHOUT-AUTHORIZATION-CHECKING #)\n10: ((LAMBDA (WCOF::FRAMEWORK-TRANSACTION) :IN WCOF::PERFORM) #)\n11: (POSTMODERN::CALL-WITH-TRANSACTION #)\n12: ((LAMBDA NIL :IN WCOF::PERFORM))\n13: (WCOF::CALL-WITH-DATABASE-CONNECTION # #)\n14: (WCOF::CALL-WITH-POOLED-DATABASE #)\n15: ((:METHOD WCOF::PERFORM (REST-SERVER::TEST-ERROR)) #) [fast-method]\n16: (REST-SERVER::TEST-ERROR)\n17: ((:METHOD REST-SERVER::%INVOKE-FRAMEWORK-COMMAND (HUNCHENTOOT:REQUEST T T)) # # REST-SERVER::TEST-ERROR) [fast-method]\n18: ((:METHOD REST-SERVER::INVOKE-FRAMEWORK-COMMAND (HUNCHENTOOT:REQUEST T T)) # \"SESSION\" \"TEST-ERROR\") [fast-method]\n19: ((:METHOD REST-SERVER::%DISPATCH-METHOD-REQUEST (HUNCHENTOOT:REQUEST)) #) [fast-method]\n20: ((:METHOD HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST (REST-SERVER::REST-ACCEPTOR HUNCHENTOOT:REQUEST)) # #) [fast-method]\n21: ((FLET CALL-NEXT-METHOD :IN \"/home/lee/vc/web-co/webco/src/lisp/rest-server/acceptor.lisp\"))\n22: ((LAMBDA NIL :IN HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST))\n23: (WCOF::CALL-WITH-CACHED-CONTENTS #)\n24: ((FLET #:DEBUGGABLE-HANDLER-BIND-BODY61 :IN HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST))\n25: ((LAMBDA NIL :IN HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST))\n26: (WCOF::CALL-WITH-DATABASE-CONNECTION # #)\n27: (WCOF::CALL-WITH-POOLED-DATABASE #)\n28: ((:METHOD HUNCHENTOOT:ACCEPTOR-DISPATCH-REQUEST :AROUND (REST-SERVER::REST-ACCEPTOR HUNCHENTOOT:REQUEST)) # #) [fast-method]\n29: ((:METHOD HUNCHENTOOT:HANDLE-REQUEST (HUNCHENTOOT:ACCEPTOR HUNCHENTOOT:REQUEST)) # #) [fast-method]\n30: ((:METHOD HUNCHENTOOT:PROCESS-REQUEST (T)) #) [fast-method]\n31: ((SB-PCL::GF-DISPATCH HUNCHENTOOT:PROCESS-REQUEST) #)\n32: (HUNCHENTOOT::DO-WITH-ACCEPTOR-REQUEST-COUNT-INCREMENTED # #)\n33: ((:METHOD HUNCHENTOOT:PROCESS-CONNECTION (HUNCHENTOOT:ACCEPTOR T)) # #) [fast-method]\n34: ((:METHOD HUNCHENTOOT:PROCESS-CONNECTION :AROUND (HUNCHENTOOT:ACCEPTOR T)) # #) [fast-method]\n35: ((FLET HUNCHENTOOT::PROCESS-CONNECTION% :IN HUNCHENTOOT::HANDLE-INCOMING-CONNECTION%) # #)\n36: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))\n37: ((FLET #:WITHOUT-INTERRUPTS-BODY-1120 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))\n38: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))\n39: ((FLET #:WITHOUT-INTERRUPTS-BODY-537 :IN SB-THREAD::CALL-WITH-MUTEX))\n40: (SB-THREAD::CALL-WITH-MUTEX # #> NIL T NIL)\n41: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE # #S(SB-THREAD:SEMAPHORE :NAME \"Thread setup semaphore\" :%COUNT 0 :WAITCOUNT 0 :MUTEX # :QUEUE #) # NIL NIL NIL NIL)\n42: (\"foreign function: call_into_lisp\")\n43: (\"foreign function: new_thread_trampoline\")\n",
"class": "COMMON-LISP:SIMPLE-ERROR"
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
When a property or a search terms are constrained to a set of possible values, the system will attach a constraint name. Constraints are a JSON array of objects, each object representing one of the options. The object contains a value, which is to be returned to the server as the value when selected, and a label to be displayed to the user. The framework MUST NEVER define "" as a valid value. null is the proper representation of "Nothing" when that option is appropriate.
The list of all defined constraints may be retrieved from this namespace. The result includes the following values:
POST rest/constraint/constraints
{
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
{
"name": "agreementFormGrouping",
"documentation": "All valid agreement form item grouping options",
"dynamic": false
},
{
"name": "agreementFormSorting",
"documentation": "All valid agreement form item sort options",
"dynamic": false
},
{
"name": "allInvoiceLineSubtypes",
"documentation": "All invoice line subtypes",
"dynamic": false
},
{
"name": "allocationMode",
"documentation": "All valid default allocation modes",
"dynamic": false
},
{
"name": "allocationState",
"documentation": "All valid Allocation states",
"dynamic": false
},
{
"name": "allocationStoreAction",
"documentation": "All valid allocation actions",
"dynamic": false
},
{
"name": "allocationTaskType",
"documentation": "Allocation Task Types",
"dynamic": false
},
{
"name": "applications",
"documentation": "All valid default allocation time application values",
"dynamic": false
},
{
"name": "bibliographicRecordEra",
"documentation": "All valid bibliographic record eras",
"dynamic": false
},
{
"name": "bibliographicRecordFormat",
"documentation": "All valid bibliographic record formats",
"dynamic": false
},
{
"name": "bibliographicRecordLanguage",
"documentation": "All valid bibliographic record languages",
"dynamic": false
},
{
"name": "bibliographicRecordProgramType",
"documentation": "All valid bibliographic record program types",
"dynamic": false
},
{
"name": "bookingCategory",
"documentation": "All valid booking catagories",
"dynamic": true
},
{
"name": "captionConstraint",
"documentation": "Bibliographic Record Captions",
"dynamic": false
},
{
"name": "chargeSubtype",
"documentation": "All invoice charge subtypes",
"dynamic": false
},
{
"name": "chargeType",
"documentation": "All invoice charge types",
"dynamic": false
},
{
"name": "checkoutCenters",
"documentation": "All checkout centers in the system",
"dynamic": true
},
{
"name": "circulationPeriodUnit",
"documentation": "Ciculation Policy Time Units",
"dynamic": false
},
{
"name": "creationNoteConstraint",
"documentation": "All valid allocation creation notes",
"dynamic": true
},
{
"name": "creditCardType",
"documentation": "All credit card options",
"dynamic": true
},
{
"name": "creditSubtype",
"documentation": "All invoice credit subtypes",
"dynamic": false
},
{
"name": "dateTimeFormat",
"documentation": "All valid date/time formats for printed documents",
"dynamic": true
},
{
"name": "dayOfWeek",
"documentation": "All valid day of the week values",
"dynamic": true
},
{
"name": "defaultTaxable",
"documentation": "All billing default taxable options",
"dynamic": false
},
{
"name": "deliverToLocation",
"documentation": "All valid allocation deliver to locations",
"dynamic": true
},
{
"name": "deliverToOid",
"documentation": "All valid allocation deliver to oid options",
"dynamic": true
},
{
"name": "deliveryType",
"documentation": "All valid allocaiton delivery types",
"dynamic": false
},
{
"name": "dvdZone",
"documentation": "Bibiligraphic Record DVD Zones",
"dynamic": false
},
{
"name": "emailTemplateSet",
"documentation": "All defined email template sets",
"dynamic": true
},
{
"name": "fine/feeLevel",
"documentation": "Circulation Policy Fee and Fine levels",
"dynamic": false
},
{
"name": "groupType",
"documentation": "All valid group types",
"dynamic": false
},
{
"name": "httpLogOrigin",
"documentation": "All HTTP Log request origin values",
"dynamic": false
},
{
"name": "invoiceStatus",
"documentation": "All valid invoice status values",
"dynamic": false
},
{
"name": "jobLogTaskObjectConstraint",
"documentation": "List of all task objects",
"dynamic": true
},
{
"name": "locales",
"documentation": "All supported locales",
"dynamic": false
},
{
"name": "logActionClass",
"documentation": "All valid log action classes",
"dynamic": false
},
{
"name": "logActionConstraint",
"documentation": "All valis log actions",
"dynamic": false
},
{
"name": "messageType",
"documentation": "All valid message types",
"dynamic": true
},
{
"name": "organizations",
"documentation": "All organizations in the system",
"dynamic": true
},
{
"name": "originConstraint",
"documentation": "All valid entity origin values",
"dynamic": true
},
{
"name": "patronClass",
"documentation": "Set of all valid Patron Classes",
"dynamic": true
},
{
"name": "patronStatus",
"documentation": "All valid person record status values",
"dynamic": false
},
{
"name": "patronStatusImport",
"documentation": "Patron import status options",
"dynamic": false
},
{
"name": "paymentRules",
"documentation": "All valid billing payment rules",
"dynamic": false
},
{
"name": "paymentType",
"documentation": "All valid billing payment types",
"dynamic": false
},
{
"name": "pickupOption",
"documentation": "All valid allocation pickup options",
"dynamic": false
},
{
"name": "pirMode",
"documentation": "All valid center patron portal circulation modes",
"dynamic": false
},
{
"name": "pirStartGranularity",
"documentation": "Patron Portal Start Time Granularity",
"dynamic": false
},
{
"name": "printTemplateSet",
"documentation": "All defined print template sets",
"dynamic": true
},
{
"name": "problemType",
"documentation": "Ticket Problem Types",
"dynamic": true
},
{
"name": "publishedNotification",
"documentation": "All valid shift publication notification options",
"dynamic": false
},
{
"name": "remedyType",
"documentation": "Ticket Remedy Type",
"dynamic": true
},
{
"name": "resourceClass",
"documentation": "All resource metaclasses",
"dynamic": false
},
{
"name": "resourceScheduleScheduledBy",
"documentation": "All valid resource schedule 'scheduled by' values",
"dynamic": false
},
{
"name": "resourceScheduleType",
"documentation": "All valid resource schedule types",
"dynamic": false
},
{
"name": "resourceSelectionPolicy",
"documentation": "RRT Resource Selection Schemes",
"dynamic": false
},
{
"name": "resourceSelector",
"documentation": "Default Resource selection mode options",
"dynamic": false
},
{
"name": "resourceStatusConstraint",
"documentation": "All valid resource status values",
"dynamic": false
},
{
"name": "returnOption",
"documentation": "All valid allocation return options",
"dynamic": false
},
{
"name": "scheduledMessageTypeEntityClass",
"documentation": "UNDOCUMENTED CONSTRAINT",
"dynamic": false
},
{
"name": "scheduledMessageTypeEntityEra",
"documentation": "UNDOCUMENTED CONSTRAINT",
"dynamic": false
},
{
"name": "scheduledMessageTypeEntityProperty",
"documentation": "UNDOCUMENTED CONSTRAINT",
"dynamic": false
},
{
"name": "scheduledMessageTypeEntityState",
"documentation": "UNDOCUMENTED CONSTRAINT",
"dynamic": false
},
{
"name": "scheduledMessageTypeEntityTimeslot",
"documentation": "UNDOCUMENTED CONSTRAINT",
"dynamic": false
},
{
"name": "ticketPriority",
"documentation": "Ticket Priority",
"dynamic": false
},
{
"name": "ticketResolution",
"documentation": "Ticket Resolution",
"dynamic": false
},
{
"name": "ticketSeverity",
"documentation": "Ticket Severity",
"dynamic": false
},
{
"name": "ticketState",
"documentation": "Ticekt State",
"dynamic": false
},
{
"name": "ticketType",
"documentation": "Ticket Type",
"dynamic": false
},
{
"name": "timezones",
"documentation": "All valid timezones",
"dynamic": true
},
{
"name": "unassignedNotification",
"documentation": "All valid unassigned shift notification options",
"dynamic": false
},
{
"name": "vhsSystem",
"documentation": "Bibliographic Record VHS Systems",
"dynamic": false
}
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
All values of a constraint are also retrived from this namespace.
POST rest/constraint/getConstraintValues
{
"name": "allocationState",
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
{
"value": "CHECKOUT",
"label": "Checkout"
},
{
"value": "CHECKOUT-COMPLETED",
"label": "Completed Checkout"
},
{
"value": "RESERVATION",
"label": "Reservation"
},
{
"value": "RESERVATION-CANCELLED",
"label": "Canceled Reservation"
}
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
POST rest/constraint/getConstraintValues
{
"name": "checkoutCenters",
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": [
{
"value": {
"_class": "checkoutCenter",
"oid": 2,
"name": "East",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"label": "East"
},
{
"value": {
"_class": "checkoutCenter",
"oid": 1,
"name": "Main",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"label": "Main"
},
{
"value": {
"_class": "checkoutCenter",
"oid": 3,
"name": "West",
"organization": {
"_class": "organization",
"oid": 1,
"name": "Communications"
},
"description": null
},
"label": "West"
}
],
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
| Arguments: |
|
|---|
Retrieve a single configuration by name.
POST rest/configuration/getConfig
{
"guid": "find-all-checkouts",
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}
HTTP 200
{
"apiVersion": "1.0",
"session": "S-15055",
"status": "ok",
"notifications": null,
"payload": {
"guid": "find-all-checkouts",
"name": "All Checkouts",
"entityType": "allocation",
"default": null,
"description": "",
"autoRun": true,
"autoHideTerms": null,
"defaultSort": {
"property": "endTime",
"direction": "asc"
},
"helpText": [
"You can use this form to find checkouts and reservations. After you've found your checkout or reservation, you can select it to return it, pick it up, edit it, or delete it"
],
"helpLinks": [
{
"link": "wco?method=rapid-return",
"label": "Use the rapid return form to quickly return checked out resources",
"visible": true
}
],
"actions": null,
"properties": [
{
"property": "identity",
"visible": true
},
{
"property": "patron",
"visible": true
},
{
"property": "originalAgent",
"visible": true
},
{
"property": "realStartTime",
"visible": true
},
{
"property": "endTime",
"visible": true
}
],
"summary": [
{
"property": "allocationContentsSummary",
"displayHint": "allocationContentsSummary",
"type": "hashtable"
}
],
"resultSummary": null,
"terms": [
{
"term": "identity",
"visible": true
},
{
"term": "center",
"initialValue": "!location",
"visible": true
},
{
"term": "state",
"initialValue": [
"CHECKOUT",
"CHECKOUT-COMPLETED"
],
"visible": true
},
{
"term": "patron",
"visible": true
},
{
"term": "resource",
"visible": true
},
{
"term": "eventDescription",
"visible": true
},
{
"term": "idIsNull",
"initialValue": null,
"visible": true
}
]
},
"sessionid": "003966b1-da69-4189-a8b0-8bd73dfa3a0c"
}