Class RawTicketsClient
- java.lang.Object
-
- com.intercom.api.resources.unstable.tickets.RawTicketsClient
-
public class RawTicketsClient extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected ClientOptionsclientOptions
-
Constructor Summary
Constructors Constructor Description RawTicketsClient(ClientOptions clientOptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IntercomHttpResponse<DeleteTicketResponse>deleteTicket(DeleteTicketRequest request)You can delete a ticket using the Intercom provided ID.IntercomHttpResponse<DeleteTicketResponse>deleteTicket(DeleteTicketRequest request, RequestOptions requestOptions)You can delete a ticket using the Intercom provided ID.IntercomHttpResponse<Jobs>enqueueCreateTicket(EnqueueCreateTicketRequest request)Enqueues ticket creation for asynchronous processing, returning if the job was enqueued successfully to be processed.IntercomHttpResponse<Jobs>enqueueCreateTicket(EnqueueCreateTicketRequest request, RequestOptions requestOptions)Enqueues ticket creation for asynchronous processing, returning if the job was enqueued successfully to be processed.IntercomHttpResponse<java.util.Optional<Ticket>>getTicket(GetTicketRequest request)You can fetch the details of a single ticket.IntercomHttpResponse<java.util.Optional<Ticket>>getTicket(GetTicketRequest request, RequestOptions requestOptions)You can fetch the details of a single ticket.IntercomHttpResponse<TicketReply>replyTicket(ReplyTicketRequest request)You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.IntercomHttpResponse<TicketReply>replyTicket(ReplyTicketRequest request, RequestOptions requestOptions)You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.IntercomHttpResponse<TicketList>searchTickets(SearchRequest request)You can search for multiple tickets by the value of their attributes in order to fetch exactly which ones you want.IntercomHttpResponse<TicketList>searchTickets(SearchRequest request, RequestOptions requestOptions)You can search for multiple tickets by the value of their attributes in order to fetch exactly which ones you want.IntercomHttpResponse<java.util.Optional<Ticket>>updateTicket(UpdateTicketRequest request)You can update a ticket.IntercomHttpResponse<java.util.Optional<Ticket>>updateTicket(UpdateTicketRequest request, RequestOptions requestOptions)You can update a ticket.
-
-
-
Field Detail
-
clientOptions
protected final ClientOptions clientOptions
-
-
Constructor Detail
-
RawTicketsClient
public RawTicketsClient(ClientOptions clientOptions)
-
-
Method Detail
-
replyTicket
public IntercomHttpResponse<TicketReply> replyTicket(ReplyTicketRequest request)
You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.
-
replyTicket
public IntercomHttpResponse<TicketReply> replyTicket(ReplyTicketRequest request, RequestOptions requestOptions)
You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins.
-
enqueueCreateTicket
public IntercomHttpResponse<Jobs> enqueueCreateTicket(EnqueueCreateTicketRequest request)
Enqueues ticket creation for asynchronous processing, returning if the job was enqueued successfully to be processed. We attempt to perform a best-effort validation on inputs before tasks are enqueued. If the given parameters are incorrect, we won't enqueue the job.
-
enqueueCreateTicket
public IntercomHttpResponse<Jobs> enqueueCreateTicket(EnqueueCreateTicketRequest request, RequestOptions requestOptions)
Enqueues ticket creation for asynchronous processing, returning if the job was enqueued successfully to be processed. We attempt to perform a best-effort validation on inputs before tasks are enqueued. If the given parameters are incorrect, we won't enqueue the job.
-
getTicket
public IntercomHttpResponse<java.util.Optional<Ticket>> getTicket(GetTicketRequest request)
You can fetch the details of a single ticket.
-
getTicket
public IntercomHttpResponse<java.util.Optional<Ticket>> getTicket(GetTicketRequest request, RequestOptions requestOptions)
You can fetch the details of a single ticket.
-
updateTicket
public IntercomHttpResponse<java.util.Optional<Ticket>> updateTicket(UpdateTicketRequest request)
You can update a ticket.
-
updateTicket
public IntercomHttpResponse<java.util.Optional<Ticket>> updateTicket(UpdateTicketRequest request, RequestOptions requestOptions)
You can update a ticket.
-
deleteTicket
public IntercomHttpResponse<DeleteTicketResponse> deleteTicket(DeleteTicketRequest request)
You can delete a ticket using the Intercom provided ID.
-
deleteTicket
public IntercomHttpResponse<DeleteTicketResponse> deleteTicket(DeleteTicketRequest request, RequestOptions requestOptions)
You can delete a ticket using the Intercom provided ID.
-
searchTickets
public IntercomHttpResponse<TicketList> searchTickets(SearchRequest request)
You can search for multiple tickets by the value of their attributes in order to fetch exactly which ones you want.To search for tickets, you send a
POSTrequest tohttps://api.intercom.io/tickets/search.This will accept a query object in the body which will define your filters. {% admonition type="warning" name="Optimizing search queries" %} Search queries can be complex, so optimizing them can help the performance of your search. Use the
ANDandORoperators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is20results per page. See the pagination section for more details on how to use thestarting_afterparam. {% /admonition %}Nesting & Limitations
You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiples there can be:
- There's a limit of max 2 nested filters
- There's a limit of max 15 filters for each AND or OR group
Accepted Fields
Most keys listed as part of the Ticket model are searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as
created_ataccepts a date, thevaluecannot be a string such as"foobar"). Thesource.bodyfield is unique as the search will not be performed against the entire value, but instead against every element of the value separately. For example, when searching for a conversation with a"I need support"body - the query should contain a=operator with the value"support"for such conversation to be returned. A query with a=operator and a"need support"value will not yield a result.| Field | Type | | :---------------------------------------- | :--------------------------------------------------------------------------------------- | | id | String | | created_at | Date (UNIX timestamp) | | updated_at | Date (UNIX timestamp) | | title | String | | description | String | | category | String | | ticket_type_id | String | | contact_ids | String | | teammate_ids | String | | admin_assignee_id | String | | team_assignee_id | String | | open | Boolean | | state | String | | snoozed_until | Date (UNIX timestamp) | | ticket_attribute.{id} | String or Boolean or Date (UNIX timestamp) or Float or Integer |
{% admonition type="info" name="Searching by Category" %} When searching for tickets by the
categoryfield, specific terms must be used instead of the category names:- For Customer category tickets, use the term
request. - For Back-office category tickets, use the term
task. - For Tracker category tickets, use the term
tracker. {% /admonition %}
Accepted Operators
{% admonition type="info" name="Searching based on
created_at" %} You may use the<=or>=operators to search bycreated_at. {% /admonition %}The table below shows the operators you can use to define how you want to search for the value. The operator should be put in as a string (
"="). The operator has to be compatible with the field's type (eg. you cannot search with>for a given string value as it's only compatible for integer's and dates).| Operator | Valid Types | Description | | :------- | :----------------------------- | :----------------------------------------------------------- | | = | All | Equals | | != | All | Doesn't Equal | | IN | All | In Shortcut for
ORqueries Values most be in Array | | NIN | All | Not In Shortcut forOR !queries Values must be in Array | | > | Integer Date (UNIX Timestamp) | Greater (or equal) than | | < | Integer Date (UNIX Timestamp) | Lower (or equal) than | | ~ | String | Contains | | !~ | String | Doesn't Contain | | ^ | String | Starts With | | $ | String | Ends With |
-
searchTickets
public IntercomHttpResponse<TicketList> searchTickets(SearchRequest request, RequestOptions requestOptions)
You can search for multiple tickets by the value of their attributes in order to fetch exactly which ones you want.To search for tickets, you send a
POSTrequest tohttps://api.intercom.io/tickets/search.This will accept a query object in the body which will define your filters. {% admonition type="warning" name="Optimizing search queries" %} Search queries can be complex, so optimizing them can help the performance of your search. Use the
ANDandORoperators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is20results per page. See the pagination section for more details on how to use thestarting_afterparam. {% /admonition %}Nesting & Limitations
You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiples there can be:
- There's a limit of max 2 nested filters
- There's a limit of max 15 filters for each AND or OR group
Accepted Fields
Most keys listed as part of the Ticket model are searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as
created_ataccepts a date, thevaluecannot be a string such as"foobar"). Thesource.bodyfield is unique as the search will not be performed against the entire value, but instead against every element of the value separately. For example, when searching for a conversation with a"I need support"body - the query should contain a=operator with the value"support"for such conversation to be returned. A query with a=operator and a"need support"value will not yield a result.| Field | Type | | :---------------------------------------- | :--------------------------------------------------------------------------------------- | | id | String | | created_at | Date (UNIX timestamp) | | updated_at | Date (UNIX timestamp) | | title | String | | description | String | | category | String | | ticket_type_id | String | | contact_ids | String | | teammate_ids | String | | admin_assignee_id | String | | team_assignee_id | String | | open | Boolean | | state | String | | snoozed_until | Date (UNIX timestamp) | | ticket_attribute.{id} | String or Boolean or Date (UNIX timestamp) or Float or Integer |
{% admonition type="info" name="Searching by Category" %} When searching for tickets by the
categoryfield, specific terms must be used instead of the category names:- For Customer category tickets, use the term
request. - For Back-office category tickets, use the term
task. - For Tracker category tickets, use the term
tracker. {% /admonition %}
Accepted Operators
{% admonition type="info" name="Searching based on
created_at" %} You may use the<=or>=operators to search bycreated_at. {% /admonition %}The table below shows the operators you can use to define how you want to search for the value. The operator should be put in as a string (
"="). The operator has to be compatible with the field's type (eg. you cannot search with>for a given string value as it's only compatible for integer's and dates).| Operator | Valid Types | Description | | :------- | :----------------------------- | :----------------------------------------------------------- | | = | All | Equals | | != | All | Doesn't Equal | | IN | All | In Shortcut for
ORqueries Values most be in Array | | NIN | All | Not In Shortcut forOR !queries Values must be in Array | | > | Integer Date (UNIX Timestamp) | Greater (or equal) than | | < | Integer Date (UNIX Timestamp) | Lower (or equal) than | | ~ | String | Contains | | !~ | String | Doesn't Contain | | ^ | String | Starts With | | $ | String | Ends With |
-
-