The eBay Schema makes use of many simple schema types. Further, some eBay-defined types (e.g., Amount) are based on simple schema types.
Except where specified, the data types in the table below follow the conventions for XML Schema simple types as described by the World Wide Web Consortium in XML Schema Part 2: Datatypes.
| Data Type | Description |
|---|---|
| boolean | Specifies binary-valued logic (true/false). Possible input values are true, false, 1, and 0. Possible output values are true and false only (not 1 or 0). |
| dateTime | A specific instant of time.
Date-time values are in the ISO 8601 date and time format. Hours are in 24-hour format (e.g., 2:00:00pm is 14:00:00). Unless otherwise specified, all date-time values are recorded in Universal Coordinated Time (UTC), also known as Greenwich Mean Time (GMT) or Zulu (because the time portion of the time stamp ends with a Z). That is, time values do not reflect the time zone shown on the eBay Web site. Here is an example of the date-time format: YYYY-MM-DDTHH:MM:SS.SSSZ (e.g., 2004-08-04T19:09:02.768Z) See Time Values for information about how to convert between local time zones and GMT. We use the dateTime data type to convey start and end times, the official eBay time, and other time values. |
| double | A double-precision 64-bit floating point type.
In the API, most fields of type double can contain the digits 0-9, a hyphen to designate negative numbers as needed, and a period (".") for the decimal separator. Double values should never include a thousands separator. We typically use the double data type to convey values related to monetary amounts. See AmountType, below. In some cases, a whole number (i.e., without a period) can be passed or returned as a double value. See individual topics for specific restrictions beyond this for fields of type double. |
| int | A 32-bit integer value between -2147483648 and 2147483647.
In the API, most fields of type int can contain digits 0-9, and hyphen to indicate negative numbers. Some input fields restrict the input to particular values or a range of values. These cases are noted in the associated topic for the specific input field. We typically use the int data type for enumerations, counts (e.g., how many items are returned), quantities, certain kinds of IDs (other IDs are strings), and similar concepts. |
| long | A value between -9223372036854775808 and 9223372036854775807. |
| string | A string of characters. All characters in the Unicode character set are supported.
Character entity references are used for escaping markup-significant characters. For example, use & for the & (ampersand) character, < for the < (less-than sign) character, and > for the > (greater-than sign) character. It is a good idea to escape such characters in requests instead of using a CDATA contruct. Responses from eBay do not include CDATA constructs. Note that messages from eBay may contain HTML or XML markup within the message text. In this case, the markup elements within the text are escaped (e.g., <![CDATA[ ... ]]>). xs:string is part of the XML schema namespace defined as: xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| token |
A set of normalized strings. In the API, this type of string contains no white space, by convention. We typically use token to constrain a field to a specified set of normalized string values. For such a field, we define these values in an enumeration that uses token as its base type. |
| Amount | An eBay-defined complex type for specifying monetary amounts.
A double value (e.g., 1.00 or 1.0) is meaningful as an amount when accompanied by a specification of the currency, in which case the value specifies the amount in that currency. In the API, an object of type Amount expresses both the value (a decimal) and the currency. We typically use the Amount data type to specify details such as prices, fees, costs, and payments. In some cases, a whole number (i.e., without a period) can be passed or returned as a monetary value. This is necessary to support certain currencies that are only expressed as whole numbers (like the Italian Lira and Spanish Peseta). Because a double is used to represent the amount, this also means whole monetary amounts may be returned with only one 0 after the decimal. For example, a dollar value could be returned as 5.0 instead of 5.00 in calls like getBundles. See individual topics for specific restrictions beyond this for fields of type Amount. |
If the multiplicity of an element is defined as maxOccurs="unbounded" or a value greater than 1 in the schema, it means you can specify the field multiple times in a request (like you are specifying an array), or eBay can return the field multiple times in the response. In this case, the fields must be contiguous. That is, in a request, you cannot insert other fields between the repeating fields. Otherwise, some of the data will be dropped in an unpredictable manner.
For example, getBundles can return multiple product bundles.
| Sample XML notation | Corresponding doc notation | Meaning § |
|---|---|---|
| minOccurs="0" maxOccurs="unbounded" | [0..*] | Zero or more |
| minOccurs="0" | [0..1] | Zero or one |
| minOccurs="0" maxOccurs="1" | [0..1] | Zero or one |
| minOccurs="0" maxOccurs="6" | [0..6] | Zero to six |
§ While this is the general meaning, be sure to read the description of the particular field: it may state an exception for a particular use.
© 2009–2012 eBay, Inc. All rights reserved. This documentation and the API may only be used in accordance with the eBay Developer Network and API License Agreement.