Interface RequestProvider
-
public interface RequestProviderA provider which will offer a higher level of abstraction compared to the
RequestService
You can create an instance of RequestProvider like this:import zendesk.support.RequestProvider; import zendesk.support.Support; ... RequestProvider provider = Support.INSTANCE.provider().requestProvider(); ...Once you have an instance of the provider you can call methods on it and handle the results in callbacks. A success callback will give you the resource(s) that you are requesting, like requests, comments, and so on. The error callback will be called if there was some issue with the method call and it will define details about the error in an
ErrorResponseFor example you can list all your requests like this:
provider.getAllRequests(new ZendeskCallback <List<Request>>() { @Override public void onSuccess(List<Request> requests) { // Handle success } @Override public void onError(ErrorResponse errorResponse) { // Handle error } });
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description voidaddComment(java.lang.String requestId, EndUserComment endUserComment, <any> callback)Add aEndUserCommentto a request.voidcreateRequest(CreateRequest request, <any> callback)Calls a request service to create a request on behalf of the end-user.voidgetAllRequests(<any> callback)Gets all requests that user has opened.voidgetComments(java.lang.String requestId, <any> callback)Gets all comments for a request.voidgetCommentsSince(java.lang.String requestId, java.util.Date since, boolean onlyAgent, <any> callback)Gets comments for a request since a specified point in time.voidgetRequest(java.lang.String requestId, <any> callback)Calls a request service to get a request for the given request id.voidgetRequests(java.lang.String status, <any> callback)Filters requests that user has opened by a status.voidgetTicketFormsById(java.util.List<java.lang.Long> ids, <any> callback)Get all available ticket forms.voidgetUpdatesForDevice(<any> callback)Gets the details of any updates to requests for this device.voidmarkRequestAsRead(java.lang.String requestId, int commentCount)Marks a request as read on this device.voidmarkRequestAsUnread(java.lang.String requestId)Marks a request as unread on this device, by incrementing its total number of comments.
-
-
-
Method Detail
-
createRequest
void createRequest(CreateRequest request, <any> callback)
Calls a request service to create a request on behalf of the end-user.- Parameters:
request- The request to createcallback- Callback that will deliver a newly created request of typeRequestorErrorResponse- Since:
- 2.0.0.1
-
getAllRequests
void getAllRequests(<any> callback)
Gets all requests that user has opened.- Parameters:
callback- The callback to invoke which will return a list ofRequestor anErrorResponse- Since:
- 1.0.0.1
-
getRequests
void getRequests(java.lang.String status, <any> callback)Filters requests that user has opened by a status.- Parameters:
status- A comma separated list of status to filter the results by status.- new
- open
- pending
- hold
- solved
- closed
callback- The callback to invoke which will return a list ofRequestor anErrorResponse- Since:
- 1.0.0.1
-
getComments
void getComments(java.lang.String requestId, <any> callback)Gets all comments for a request.- Parameters:
requestId- Id of a request. This is a String Id that will have been returned by#getAllRequests(ZendeskCallback)or#getRequests(String, ZendeskCallback)callback- Callback that will deliver aCommentsResponseorErrorResponse- Since:
- 1.0.0.1
-
getCommentsSince
void getCommentsSince(java.lang.String requestId, java.util.Date since, boolean onlyAgent, <any> callback)Gets comments for a request since a specified point in time.- Parameters:
requestId- Id of a request. This is a String Id that will have been returned by#getAllRequests(ZendeskCallback)or#getRequests(String, ZendeskCallback)since- Date used to filter the comments. Only comments submitted after this date will be returned.onlyAgent-trueto fetch only agent comments,falseto all comments.callback- Callback that will deliver aCommentsResponseorErrorResponse- Since:
- 2.0.0.1
-
addComment
void addComment(java.lang.String requestId, EndUserComment endUserComment, <any> callback)Add aEndUserCommentto a request.- Parameters:
requestId- Id of a request to post this comment toendUserComment- AEndUserCommentcontaining text and attachment tokenscallback- Callback that will deliver aCommentorErrorResponse- Since:
- 1.1.0.1
-
getRequest
void getRequest(java.lang.String requestId, <any> callback)Calls a request service to get a request for the given request id.- Parameters:
requestId- Id of a requestcallback- Callback that will deliver aRequestorErrorResponse- Since:
- 1.2.0.1
-
getTicketFormsById
void getTicketFormsById(java.util.List<java.lang.Long> ids, <any> callback)Get all available ticket forms.- Parameters:
ids- List of ticket form ids to fetchcallback- Callback that will deliver a list ofTicketFormorErrorResponse
-
getUpdatesForDevice
void getUpdatesForDevice(<any> callback)
Gets the details of any updates to requests for this device.RequestUpdatesare cached for up to one hour. Subsequent calls to this method within the hour will return the same object without querying the network. Calling this method once the hour has expired will query the network again, and cache the new results for the next hour.If using the Zendesk UI, viewing a request will update the stored
RequestUpdatesto remove the viewed request. If using the API providers only, a request can be removed from the storedRequestUpdatesby callingRequestProvider.markRequestAsRead(String, int)with the request ID.It is important to note the difference in behaviour of this method users using
zendesk.core.AnonymousIdentityversus users usingzendesk.core.JwtIdentity. For anzendesk.core.AnonymousIdentity, this method will only fetch updates for requests which were created from this device (since those are all an Anonymous user has access to). However, azendesk.core.JwtIdentitywill fetch all of the users open requests, regardless of where they were created. Any request created on another channel is unknown to this instance of the Support SDK, and as such it will show in the resultingRequestUpdateswith all of its comments counting as updates.- Parameters:
callback- Callback that will deliver the number of request updates orErrorResponse
-
markRequestAsRead
void markRequestAsRead(java.lang.String requestId, int commentCount)Marks a request as read on this device.- Parameters:
requestId- the ID of the request to mark as readcommentCount- the number of comments on this request that have been read- See Also:
for more information
-
markRequestAsUnread
void markRequestAsUnread(java.lang.String requestId)
Marks a request as unread on this device, by incrementing its total number of comments.This should be used to update a request as being "unread" after receiving a push notification for an update on that ticket, when using an SDK providers-only integration.
If you are using the SDK UI module and
Support.refreshRequest(String, Context)then you should not call this method. It is already being called for you, and calling it again will lead to inaccurateRequestUpdates.- Parameters:
requestId- the ID of the request to mark as unread
-
-