2 Replies Latest reply on Sep 28, 2018 10:00 AM by dehodson

    REST API qualifier values

    smchristensen

      I'm struggling determining the valid qualifier values for getting tickets in the REST API.  Is there any documentation that describes these in more depth?  The examples that are given in the Web Help Desk REST API Guide  work fine however I can't really deduce how to query against other fields.

       

      For example, in our system I'm trying to find the tickets with a status of 'Project Support' but where the request type is not 'Project Migrations'.  By analyzing the ticket detail information from /ra/Tickets/<ticketnumber> it looks like the request type is housed in the problemtype object and the string value of the request is in the detailDisplayName field of the problemtype object.  So I formatted a request like so:

       

      http://example.com/helpdesk/WebObjects/Helpdesk.woa/ra/Tickets?apiKey=somekey&qualifier=((statustype.statusTypeName %3D 'Project Support') and (problemtype.detailDisplayName !%3D 'Project Migrations'))

       

      and I get the following:

       

      sqlStringForKeyValueQualifier: attempt to generate SQL for com.webobjects.eocontrol.EOKeyValueQualifier (problemtype.detailDisplayName <> 'Project Migrations') failed because attribute identified by key 'problemtype.detailDisplayName' was not reachable from from entity 'JobTicket'.

       

      If I remove the problemtype part of the query I can get all statuses equal to 'Project Support' but that's one of the examples in the REST API Guide so it makes sense it would work.  I need to get more information about the rest of the values I can use and why my query is failing.  It sure looks like it should work based on other forum discussions I've seen and how they've solved their issues.

       

      Thanks,

      Scott

        • Re: REST API qualifier values
          smchristensen

          Hoping this helps someone a bit.  This is what I found out.  I'm only interested in tickets so I didn't go any further.  Remember case matters. (The more I look at this, the more I think I'm still missing some stuff.  It's a start though)

           

          Qualifier types for JobTicket

           

          reportDate - Timestamp

          reportDateUtc - Timestamp

          lastUpdated - Timestamp

          lastUpdatedUtc - Timestamp

          prettyLastUpdated - String

          dueDate - Timestamp

          dueDateUtc - Timestamp

          displayDueDate - Timestamp

          displayDueDateUtc - Timestamp

          subject - String

          hiddenSubject - String

          detail - String

          questionText - String

          locationid - Number

          assignedRoom - Number

          statusTypeId - Number

          priorityTypeId - Number

          departmentId - Number

          techId - Number

          clientId - Number

          assignToCreatingTech - Boolean

          room - String

          ccAddressesForTech - String

          ccAddressesForClient - String

          bccAddresses - String

          shortDescription - String

          shortSubject - String

          shortDetail - String

          displayClient - String

          updateFlagType - String

          emailClient - Bolean

          emailTech - Bolean

          emailTechGroupLevel - Bolean

          emailGroupManager - Bolean

          emailBcc - Bolean

          emailCc - Bolean

          needsApproval - Bolean

          ticketEditable - Bolean

          flaggedByTech - Bolean

          isPublic - Bolean

          canEscalate - Bolean

          isDeleted - Bolean

          levelNumber- String

          bookmarkableLink - String

          closeDate - Timestamp

          closeDateUtc - String

          location (Location Object)

          userLoggedBy (HelpDeskUser Object)

          clientReporter (Client Object)

          clientTech (Tech Object)

          statustype (StatusType object)

          prioritytype (PriorityType object)

          problemtype (ProblemType object)

          techGroupLevel (TechGroupLevel object)

          notes (TicketNote object)

          latestNote (TicketNote object)

          department (Department object)

          ticketCusomFields (Array of CustomField object)

          enabledStatusTypes (Array of StatusType object)

          attachments (Array of TicketAttachment object)

          assets (Array of Asset object)

          orionAlert (Dictionary<string, object>)

          statusTypeId - Number

          originalTech (Tech object)

          hasBeenReassigned - String

          disableEmailToClient - Number

          disableEmailToClientCc - Number

          disableEmailToAllClients - Number

          orionAlertIdentifier - String

          orionAlertAttachmentData (AttachmentData object)

          flaggedByTechs (Array of Tech object)

          jobTicketId - Number

          activeSesssions (yes there are 3 S's) (Array of ActiveSession object)

          mergedParentTicket (JobTicket object)

          emailDataObjects (EmailDataOjbect object)

           

           

          Qualifiers for Location object

           

          locationName - String

          address - String

          city - String

          state - String

          postalCode - String

          country - String

          phone - String

          phone2 - String

          fax - String

          domainName - String

          businessZone (BusinessZone object)

          isClientLoginEnabled - boolean

          clientAdminPermissions (ClientAdminPermission object)

          adminContacts (Array of ?)

          priorityType (PriorityType object)

          useSpecificPriorities - boolean

          priorityTypes (Array of PriorityType object)

          defaultPriorityTypeId - Number

          billingRate (BillingRate object)

          useSpecificTaxRates - boolean

          taxRates (Array of ?)

          hasPartsBoolean - boolean

          isWorkTimeVisible - boolean

          isClientAssetSearcEnabled - boolean

          isCreateWebTicketsEnabled - boolean

          isCreateEmailTicketsEnabled - boolean

          note (Note object)

          isInactive - boolean

          color - String

          isDeleted - boolean

          locationCustomFields (Array of CustomFieldId)

          groupId - Number

          locationgroup (LocationGroup object)

          serviceTimeEnabled - Number

          createWebTickets - Number

          outgoingEmailAccount (SmtpServer object)

           

           

          Qualifiers for HelpDeskUser object

           

          lastFirst - String

          fullName - String

          displayName - String

           

           

          Qualifiers for Client object

           

          firstName - String

          lastName - String

          email - String

          companyName - String

          phone - String

          phone2 - String

          notes - String

          username - String

          password - String

          subscriberId - Number

          location (Location object)

          room (Room object)

          department (Department object)

          ldapConnection (LdapConnection object)

          ldapConnectionid - Number

          latestChangeToInactive - Timestamp

          sortPrefs (?)

          linkedTechs (Array of Tech object)

          incorrectAuthAttempts - Number

           

           

          Qualifiers for Tech object

           

          displayName - String

          email - String

          password - String

          apiKey - String

          isAdmin - Boolean

          viewHiddenNotesBoolean - Boolean

          subscriberId - Number

          username - String

          deleted - Number

          openJobsCount - Number

          inactive - Number

          incorrectAuthAttempts - Number

           

           

          Qualifiers for StatusType object

           

          statusTypeId - Number

          statusTypeName - String

           

           

          Qualifiers for PriorityType object

           

          priorityTypeId - Number

          priorityTypeName - String

          dueTimeMinues - Number

          alertReminderMinutes - Number

          clientReminderMinutes - Number

           

           

          Qualifiers for ProblemType object

           

          problemTypeName - String

          parentId - Number

          isLeafChild - Boolean

          hasTechGroup - Boolean

          sendClientEmailBoolean - Boolean

          sendTechEmailBoolean - Boolean

          sendLevelTechEmailBoolean - Boolean

          techGroupName - String

          autoAssignType - String

          detailDisplayName - String

          priorityTypeId - Number

          customFieldDefinitions (Array of CustomFieldDefinition object)

          approvalProcess (ApprovalProcess object)

          orionAlertSources (Array of OrionAlertSource object)

           

           

          Qualifiers for TechGroupLevel object

           

          levelName - String

          shortLevelName - String

          level - Number

           

           

          Qualifiers for TicketNote object

           

          creator - Number

          date - Timestamp

          dateUtc - String

          mobileNoteText - String

          mobileListText - String

          noteClass - String

          noteColor - String

          isTechNote - Boolean

          isSolution - Boolean

          isHidden - Boolean

          prettyUpdatedString - String

          workTime - String

          attachments (Array of TicketAttachment object)

           

           

          Qualifiers for Department object

           

          name - String

           

           

          Qualifiers for CustomField object

           

          restValue - String

          definitionId - Number

          2 of 2 people found this helpful