eBay Resolution Case Management APIVersion 1.3.0

getUserCases



Note: The Resolution Case Management API is no longer recommended. Instead, current users of the Resolution Case Management API should make plans to migrate to, and use the Return, Inquiry, and Case Management operations of the Post-Order API. New users interested is programmatically managing and resolving Item Not Received (INR) and Return/SNAD (Significantly Not as Described) cases, should also make plans to integrate with the Post-Order API. Since the Resolution Case Management API was first released, there have been many changes made to post-order flows, and Resolution Case Management API does not support all features and logic of the new flows. This API will be deprecated in the near future.

This call retrieves all disputes and cases in which the user is involved as a buyer or seller. This includes all cases opened by buyers through the eBay Resolution Center, all older eBay disputes, cases opened through the PayPal system, and Unpaid Item disputes or mutual Cancel Transaction agreements created through the AddDispute call of the Trading API or through the Resolution Center. Currently, the eBay Buyer Protection program and supporting Resolution Center exist only on the US, UK, and DE sites.

Note: Users of this call should start using the GET /post-order/v2/casemanagement/{caseId} call of the Post-Order API instead.

Users of this call have the option of filtering by case status, case type, or date ranges. Users can also input an eBay item ID (and optionally a transaction ID) to return cases related to a specific item listing or order line item. The filter types are described below.

Item Filter

By using the itemFilter field, the user can find cases associated with a particular item listing by passing in the eBay Item ID. In fact, the user can even "drill-down" to a specific order line item by passing in the transactionID as well. If the transactionID field is used, a case associated with a specific order line item is returned.

Date Range Filter

By using the creationDateRangeFilter field, the user can retrieve cases with creation dates within a specified date range. The fromDate and toDate must be dates in the past. The fromDate can be set back to 18 months in the past. The maximum period of time (or time span) that can be specified using the fromDate and toDate fields is 90 days. So, if a user wanted to return all user cases from the last 18 months, it would require six separate calls that specified different 90-day intervals. If the toDate field is omitted, all cases created from the fromDate up to the present (system date) are returned. However, if the time span between the fromDate and the system date is longer than 90 days, all cases created starting from the fromDate to 90 days after the fromDate are returned.

Case Type Filter

By using the caseTypeFilter field, the user can retrieve cases of a specific case type. For example, a user may only want to return PayPal Item Not Received cases and/or PayPal Significantly Not As Described cases, or maybe they want to return only eBay Buyer Protection Item Not Received or Significantly Not As Described cases. Perhaps they know that there is a Significantly Not As Described case against them, but they do not know the system in which the case was filed. In that case, they would want to use SNAD, PAYPAL_SNAD, and EBP_SNAD as arguments in the caseTypeFilter field. The caseTypeFilter uses Boolean OR logic, which means all matching case types specified in caseTypeFilter field are returned.

Case Status Filter

By using the caseStatusFilter field, the user can retrieve cases in a specific state. For example, a user may only want to return opened cases. Or maybe they only want to return closed cases. Perhaps they want to know which cases require an action on their part. In that case, they would want to use MY_RESPONSE_DUE and MY_PAYMENT_DUE as arguments in the caseStatusFilter field. This caseStatusFilter field uses Boolean OR logic, which means all matching case statuses specified in caseStatusFilter field are returned.

Common Errors for getUserCases Call

The following are some common errors that can occur when using filtering with the getUserCases call:

Paginating Search Results

Use paginationInput and its child elements to break the items matching the search criteria down into smaller subsets, or "pages" of data. The paginationInput.entriesPerPage field specifies the maximum number of items to return for any given request. The paginationInput.pageNumber field specifies which "page" of data to return in the current call. An XML snippet is shown below:

<getUserCasesRequest>
  <paginationInput>
    <entriesPerPage>10</entriesPerPage>
    <pageNumber>2</pageNumber>
  </paginationInput>
</getUserCasesRequest>

Sample pagination input (HTTP GET)

...&paginationInput.entriesPerPage=10&paginationInput.pageNumber=2...

There are corresponding fields in the response for paginating data. The paginationOutput.totalEntries field indicates the total number of items matching the input search criteria that could be returned (with one or multiple calls). If the value specified in paginationInput.entriesPerPage is less than that returned in paginationOutput.totalEntries, then it will take more than one call to retrieve all of the matching items. The paginationOutput.totalPages property indicates the total number of calls that would be required to retrieve all of the matching items. The value specified in the paginationInput.pageNumber field of search requests indicates where in the sequence of multiple calls the application is, relative to the number returned in paginationInput.totalPages.

Sample pagination output (XML)

<paginationOutput>
  <pageNumber>2</pageNumber>
  <entriesPerPage>10</entriesPerPage>
  <totalPages>21</totalPages>
  <totalEntries>207</totalEntries>
</paginationOutput>

The paginationOutput.entriesPerPage field indicates the maximum number of items that can be returned in a response. The count attribute for the searchResult field indicates the actual number of items returned in the response. The count value will typically match the entriesPerPage value, except when your search returns fewer results than the value specified in entriesPerPage or when retrieving the last page of results.

Related Information

See also the reference documentation for this call:



Input

The box below lists all fields that could be included in the call request. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<getUserCasesRequest xmlns="http://www.ebay.com/marketplace/resolution/v1/services">
  <!-- Call-specific Input Fields -->
  <caseStatusFilter> CaseStatusFilterType
    <caseStatus> CaseStatusInputType </caseStatus>
    <!-- ... more caseStatus values allowed here ... -->
  </caseStatusFilter>
  <caseTypeFilter> CaseTypeFilterType
    <caseType> CaseType </caseType>
    <!-- ... more caseType values allowed here ... -->
  </caseTypeFilter>
  <creationDateRangeFilter> DateRangeFilterType
    <fromDate> dateTime </fromDate>
    <toDate> dateTime </toDate>
  </creationDateRangeFilter>
  <itemFilter> ItemFilterType
    <itemId> string </itemId>
    <transactionId> string </transactionId>
  </itemFilter>
  <paginationInput> PaginationInput
    <entriesPerPage> int </entriesPerPage>
    <pageNumber> int </pageNumber>
  </paginationInput>
  <sortOrder> CaseSortOrderType </sortOrder>
</getUserCasesRequest>
Argument Type Occurrence Meaning
caseStatusFilter CaseStatusFilterType Optional Container element for case status filters. One or more caseStatus elements may be used. The caseStatusFilter field uses Boolean OR logic, which means all specified and matching case statuses are returned. There are six possible case statuses to retrieve.
caseStatusFilter.caseStatus CaseStatusInputType Conditional,
repeatable: [1..*]
The case status to search for is specified in this field. At least one caseStatus field must be used if caseStatusFilter is included in the input.

Applicable values: See caseStatus.
caseTypeFilter CaseTypeFilterType Optional Container element for case type filters. One or more caseType elements may be used. The caseTypeFilter field uses Boolean OR logic, which means all specified and matching case types are returned. There are nine possible case types to retrieve.
caseTypeFilter.caseType CaseType Conditional,
repeatable: [1..*]
The type of case to search for is specified in this field. At least one caseType field must be used if caseTypeFilter is included in the input.

Applicable values: See caseType.
creationDateRangeFilter DateRangeFilterType Optional This filter restricts results to cases created within a specified date range. The specified date range is inclusive. The maximum date range that can be specified with this filter is 90 days. Cases with creation dates dating back more than 18 months cannot be returned. If you want to return cases for a period longer than 90 days, you have to make multiple getUserCases calls using this filter and specifying different date ranges in each subsequent call.
creationDateRangeFilter
  .fromDate
dateTime Conditional The starting date for the date range. The fromDate must be older than the toDate, and it cannot be set back more than 18 months in the past.
creationDateRangeFilter.toDate dateTime Optional The ending date for the date range. The toDate must be more recent than the fromDate. This field is optional. If it is omitted, all cases created from the fromDate up to the present (system date) are returned, unless the range specified by the fromDate and the present date is greater than 90 days, in which case the toDate defaults to 90 days forward from the fromDate.
itemFilter ItemFilterType Optional This filter restricts results to cases filed against a specific item or a specific transaction involving the same item. If the itemFilter.transactionId field is specified, a maximum of one case will be returned since there can only be one case per transaction.
itemFilter.itemId string Conditional The unique identifier for an eBay item listing. All cases filed against this itemId are returned.
Max length: 19.
itemFilter.transactionId string Optional The unique identifier for an eBay transaction. The transactionId must match the specified itemId or an error is returned. If a transactionId is specified, only one case, that matches the itemId and the transactionId, may be returned.
Max length: 19.
paginationInput PaginationInput Optional Controls the pagination of the result set, including the number of cases returned per page and the page number you want returned in the output.
paginationInput.entriesPerPage int Conditional Specifies the number of cases to return in one page of results in the getUserCases response. This value, along with the number of cases that match the input criteria in the getUserCases request, will determine how many result pages are returned.
Min: 1. Max: 200. Default: 200.
paginationInput.pageNumber int Conditional Specifies which page of case results to return in the response. The total number of result pages is determined by the total number of cases matching the input criteria divided by the number of cases to display in each page. The total number of cases is returned in the paginationOutput.totalEntries field of the getUserCases response. The cases to display per page is set with the paginationInput.entriesPerPage field. If there are multiple result pages returned, subsequent calls can be made with all of the same input parameters, except for the pageNumber field, which is incremented by a value of 1 each time so that each subsequent page may be viewed and/or handled.
Min: 1. Max: 100. Default: 1.
sortOrder CaseSortOrderType Optional Sorts the results based on creation date or case status, in ascending or descending order. Results are returned based on case creation date in ascending order if this field is not included in the request.
Default: CREATION_DATE_ASCENDING.

Applicable values:

CASE_STATUS_ASCENDING
Cases are sorted based on the status of the case in ascending order .
CASE_STATUS_DESCENDING
Cases are sorted based on the status of the case in descending order.
CREATION_DATE_ASCENDING
Cases are sorted based on creation date in ascending order.
CREATION_DATE_DESCENDING
Cases are sorted based on creation date in descending order.



Output

The box below lists all fields that might be returned in the response. To learn more about an individual field or its type, click its name in the box (or scroll down to find it in the table below the box).

See also Samples.

<?xml version="1.0" encoding="utf-8"?>
<getUserCasesResponse xmlns="http://www.ebay.com/marketplace/resolution/v1/services">
  <!-- Call-specific Output Fields -->
  <cases> CaseArrayType
    <caseSummary> CaseSummaryType
      <caseAmount> Amount (double) </caseAmount>
      <caseId> CaseIdType
        <id> string </id>
        <type> CaseType </type>
      </caseId>
      <caseQuantity> int </caseQuantity>
      <creationDate> dateTime </creationDate>
      <item> ItemType
        <itemId> string </itemId>
        <itemTitle> string </itemTitle>
        <transactionId> string </transactionId>
      </item>
      <lastModifiedDate> dateTime </lastModifiedDate>
      <otherParty> CaseUserType
        <role> CaseUserRoleType </role>
        <userId> string </userId>
      </otherParty>
      <respondByDate> dateTime </respondByDate>
      <status> CaseStatusType
        <cancelTransactionStatus> CancelTransactionCaseStatusType </cancelTransactionStatus>
        <EBPINRStatus> EBPINRCaseStatusType </EBPINRStatus>
        <EBPSNADStatus> EBPSNADCaseStatusType </EBPSNADStatus>
        <INRStatus> INRCaseStatusType </INRStatus>
        <PaypalINRStatus> PaypalINRCaseStatusType </PaypalINRStatus>
        <PaypalSNADStatus> PaypalSNADCaseStatusType </PaypalSNADStatus>
        <returnStatus> ReturnCaseStatusType </returnStatus>
        <SNADStatus> SNADCaseStatusType </SNADStatus>
        <UPIStatus> UPICaseStatusType </UPIStatus>
      </status>
      <user> CaseUserType
        <role> CaseUserRoleType </role>
        <userId> string </userId>
      </user>
    </caseSummary>
    <!-- ... more caseSummary nodes allowed here ... -->
  </cases>
  <paginationOutput> PaginationOutput
    <entriesPerPage> int </entriesPerPage>
    <pageNumber> int </pageNumber>
    <totalEntries> int </totalEntries>
    <totalPages> int </totalPages>
  </paginationOutput>
  <!-- Standard Output Fields -->
  <ack> AckValue </ack>
  <errorMessage> ErrorMessage
    <error> ErrorData
      <category> ErrorCategory </category>
      <domain> string </domain>
      <errorId> long </errorId>
      <exceptionId> token </exceptionId>
      <message> string </message>
      <parameter name="string"> ErrorParameter (string) </parameter>
      <!-- ... more parameter nodes allowed here ... -->
      <severity> ErrorSeverity </severity>
      <subdomain> string </subdomain>
    </error>
    <!-- ... more error nodes allowed here ... -->
  </errorMessage>
  <timestamp> dateTime </timestamp>
  <version> string </version>
</getUserCasesResponse>
Return Value Type Occurrence Meaning
Call-specific Output Fields [Jump to standard fields]
cases CaseArrayType Always Root container for all cases in which the caller is involved in either as the seller or buyer. There can be one or more caseSummary nodes under the cases container.
cases.caseSummary CaseSummaryType Always,
repeatable: [1..*]
Container consisting of summary information for a case. One caseSummary container will be returned for each case that matches the input criteria.
cases.caseSummary.caseAmount Amount (double) Always The amount of money involved in the case.
cases.caseSummary.caseId CaseIdType Always This container identifies a dispute case between the buyer and seller.
cases.caseSummary.caseId.id string Always Unique identifier of the case. The caseId.id values are returned in the caseSummary container in the getUserCases and getEBPCaseDetail calls.
Max length: 38.
cases.caseSummary.caseId.type CaseType Always eBay case type. Case types include eBay Buyer Protection and PayPal Buyer Protection cases (opened through the Resolution Center), older disputes created through other sites, and Unpaid Item or Cancel Transaction disputes created through the Resolution Center or with the AddDispute call of the Trading API. For all Resolution Case Management calls except getUserCases, only EBP_INR and EBP_SNAD are applicable caseType values.

Applicable values: See type.
cases.caseSummary.caseQuantity int Always This value indicates the quantity of items in the transaction related to the case. This value is usually '1' unless a buyer bought multiple items at the same time from the same fixed-priced listing.
Min: 1.
cases.caseSummary.creationDate dateTime Always Timestamp indicating the date that the case was opened.
cases.caseSummary.item ItemType Always A container consisting of details on the item associated with the case.
cases.caseSummary.item.itemId string Always The unique identifier for the eBay item listing involved in the case.
Max length: 19.
cases.caseSummary.item
  .itemTitle
string Always The title of the item listing involved in the case.
Max length: 55.
cases.caseSummary.item
  .transactionId
string Always The unique identifier for the eBay transaction being disputed in the case.
cases.caseSummary
  .lastModifiedDate
dateTime Always Timestamp indicating the date on which the case was last modified. A case is considered modified if the status value changes.
cases.caseSummary.otherParty CaseUserType Always The role (e.g. buyer, seller) of the other party involved in the case.
cases.caseSummary.otherParty
  .role
CaseUserRoleType Always The user's role in the eBay Buyer Protection case.

Applicable values:

BUYER
The user's role in the case is buyer.
EBAY
A representative of eBay involved in mediating the case.
OTHER
The user's role in the case is classified as 'other'.
SELLER
The user's role in the case is seller.

cases.caseSummary.otherParty
  .userId
string Conditionally The eBay user ID for the user involved in the case.
cases.caseSummary
  .respondByDate
dateTime Conditionally The date by which the next action in the case must be made either by the user (caller) or other party involved in the case. This field is only returned if a response or payment is due from the user or the other party involved in the case.
cases.caseSummary.status CaseStatusType Always Container holding the status of the case. The field appearing under this container is dependent on the case type. For getEBPCaseDetail, only the EBPINRStatus or EBPSNADStatus fields may be returned under the caseSummary.status field.
cases.caseSummary.status
  .cancelTransactionStatus
CancelTransactionCaseStatusType Conditionally The current status of a cancelled transaction case opened by the seller in the Resolution Center or with the AddDispute call of the Trading API.

Applicable values: See cancelTransactionStatus.
cases.caseSummary.status
  .EBPINRStatus
EBPINRCaseStatusType Conditionally The current status of an Item Not Received case opened by the buyer in the Resolution Center.

Applicable values: See EBPINRStatus.
cases.caseSummary.status
  .EBPSNADStatus
EBPSNADCaseStatusType Conditionally The current status of a Significantly Not As Described case opened by the buyer in the Resolution Center.

Applicable values: See EBPSNADStatus.
cases.caseSummary.status
  .INRStatus
INRCaseStatusType Conditionally The current status of an older Item Not Received case.

Applicable values: See INRStatus.
cases.caseSummary.status
  .PaypalINRStatus
PaypalINRCaseStatusType Conditionally The current status of an Item Not Received case opened by the buyer in the PayPal system.

Applicable values:

CLOSED
A closed PayPal Item Not Received case.
MY_RESPONSE_DUE
A response from the user in the PayPal Item Not Received case is due.
OPEN
An open PayPal Item Not Received case.
OTHER
The status of the PayPal Item Not Received case is 'other'.
OTHER_PARTY_RESPONSE_DUE
A response from the other party in the PayPal Item Not Received case is due.

cases.caseSummary.status
  .PaypalSNADStatus
PaypalSNADCaseStatusType Conditionally The current status of a Significantly Not As Described case opened by the buyer in the PayPal system.

Applicable values:

CLOSED
The case is closed.
MY_RESPONSE_DUE
A response is due from the user (caller).
OPEN
The case is open.
OTHER
The status of the case is classified as 'other'.
OTHER_PARTY_RESPONSE_DUE
A response is due from the other party in the case.

cases.caseSummary.status
  .returnStatus
ReturnCaseStatusType Conditionally The current status of a returned item case.

Applicable values: See returnStatus.
cases.caseSummary.status
  .SNADStatus
SNADCaseStatusType Conditionally The current status of an older Significantly Not As Described case.

Applicable values: See SNADStatus.
cases.caseSummary.status
  .UPIStatus
UPICaseStatusType Conditionally The current status of an Unpaid Item case opened by the seller in the Resolution Center or with the AddDispute call of the Trading API.

Applicable values: See UPIStatus.
cases.caseSummary.user CaseUserType Always The role (e.g. buyer, seller) of the user making the call.
cases.caseSummary.user.role CaseUserRoleType Always The user's role in the eBay Buyer Protection case.

Applicable values:

BUYER
The user's role in the case is buyer.
EBAY
A representative of eBay involved in mediating the case.
OTHER
The user's role in the case is classified as 'other'.
SELLER
The user's role in the case is seller.

cases.caseSummary.user.userId string Conditionally The eBay user ID for the user involved in the case.
paginationOutput PaginationOutput Always Pagination container consisting of fields that indicate the total number of pages and cases that match the input criteria, the number of cases per page, and the current page number being viewed. See the corresponding field descriptions for more information on the child elements of paginationOutput.
paginationOutput
  .entriesPerPage
int Always The number of cases returned per page. This value is set in the paginationInput.entriesPerPage field in the getUserCases request.
Min: 1. Max: 100. Default: 1.
paginationOutput.pageNumber int Always The page number currently being viewed. The total number of result pages is shown in the totalPages field. If totalPages is more than 1, multiple getUserCases calls must be made to view all case results, with the paginationInput.pageNumber value being incremented by 1 in each subsequent call.
Min: 1. Max: 200. Default: 1.
paginationOutput.totalEntries int Always This value indicates the total number of cases that exist based on the current input criteria. Once this value is known, the caller may want to considering tweaking the paginationInput fields and making another call.
paginationOutput.totalPages int Always This value indicates the total number of result pages that exist based on the current input criteria, including the paginationInput fields. If totalPages is more than 1, multiple getUserCases calls must be made to view all case results, with the paginationInput.pageNumber value being incremented by 1 in each subsequent call.
Standard Output Fields  
ack AckValue Always

Applicable values:

Failure
eBay encountered a fatal error during the processing of the request, causing the request to fail. When a serious application-level error occurs, the error is returned instead of the business data.
PartialFailure
eBay successfully processed the request, but one or more non-fatal errors occurred during the processing. Inspect the message details and resolve any problems before resubmitting the request.
Success
eBay successfully processed the request and the business data is returned in the response. Note that it is possible for a response to return Success, but still not contain the expected data in the result.
Warning
The request that triggered the error was processed successfully but with one or more warnings.

errorMessage ErrorMessage Conditionally Information for an error or warning that occurred when eBay processed the request. This field is not returned if the ack value is Success.
errorMessage.error ErrorData Conditionally,
repeatable: [0..*]
Details about a single error.
errorMessage.error.category ErrorCategory Conditionally There are three categories of errors: request errors, application errors, and system errors.

Applicable values:

Application
An error occurred due to a problem with the request, with the most likely source being the application sending the request. For example, the request is missing a required data element or it contains an invalid field. The problem must be corrected before the request can be resent. Inspect the error message to find the cause of the problem. If the problem is due to an application error, modify the application and resend the request. If the error is due to invalid data, the source of the data must be corrected before you resend the resend request to eBay.
Request
An error occurred due to a problem with the request, with the most likely source being missing or invalid data in the request. The problem must be corrected before the request can be retried. Inspect the error message to find the cause of the problem. If the problem is a result of end-user data, alert the end-user to the problem and provide the means for them to correct the problem. Once the problem is resolved, resend the request to eBay.
System
Indicates that an error has occurred on the eBay system side. For example, a database or server could be down. Inspect the error message to find the cause of the problem. If the problem is on the eBay side, an application can retry the request a reasonable number of times (eBay recommends twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, the request may be resent in its original form.

errorMessage.error.domain string Conditionally Name of the domain in which the error occurred.
errorMessage.error.errorId long Conditionally A unique code that identifies the particular error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.
errorMessage.error.exceptionId token Conditionally Unique identifier for an exception associated with an error.
errorMessage.error.message string Conditionally A detailed description of the condition that caused the error.
errorMessage.error.parameter ErrorParameter (string) Conditionally,
repeatable: [0..*]
Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.parameter
  [ attribute name ]
string Conditionally Various warning and error messages return one or more variables that contain contextual information about the error. This is often the field or value that triggered the error.
errorMessage.error.severity ErrorSeverity Conditionally Indicates whether the reported problem is fatal (an error) or is less- severe (a warning). Review the error message details for information on the cause.

If the request fails and the application is the source of the error (for example, a required element is missing), update the application before you retry the request. If the problem is due to incorrect user data, alert the end-user to the problem and provide the means for them to correct the data. Once the problem in the application or data is resolved, re-send the request to eBay.

If the source of the problem is on eBay's side, you can retry the request a reasonable number of times (eBay recommends you try the request twice). If the error persists, contact Developer Technical Support. Once the problem has been resolved, you can resend the request in its original form.

If a warning occurs, warning information is returned in addition to the business data. Normally, you do not need to resend the request (as the original request was successful). However, depending on the cause of the warning, you might need to contact the end user, or eBay, to effect a long term solution to the problem.

Applicable values:

Error
eBay encountered a fatal error during the processing of the request, causing the request to fail. When eBay encounters an error, it returns error data instead of the requested business data. Inspect the error details and resolve the problem before resubmitting the request.
Warning
The request was successfully processed, but eBay encountered a non-fatal error during the processing that could affect the data returned. For example, eBay might have changed the value of an input field. In this case, eBay returns a successful response, but it also returns a warning. For best results, requests should return without warnings. Inspect the warning details and resolve the problem before resubmitting the request.

errorMessage.error.subdomain string Conditionally Name of the subdomain in which the error occurred.
timestamp dateTime Always This value represents the date and time when eBay processed the request. The time zone of this value is GMT and the format is the ISO 8601 date and time format (YYYY-MM-DDTHH:MM:SS.SSSZ). See Time Values in the eBay Web Services guide for information about this time format and converting to and from the GMT time zone.
version string Always The version of the response payload schema. Indicates the version of the schema that eBay used to process the request.



Samples

Code samples not yet added for this call's documentation.



Change History

Change Date Description
1.0.0
2010-09-17
  • (added) New call.