API and business language schema design framework for message exchanges
Summary by NHIP
API Schema Exchange System
The system receives request messages containing a common data component that conforms to a reusable schema identified by a version identifier. It generates and sends response messages including a common data component with a time stamp, acknowledgement, or correlation identifier.
Claim Score by NHIP
Abstract
In one example, a server system facilitates an exchange of messages with a remote client application. An Application Program Interface (API) receives a first request message and a second request message, wherein the first request message includes a first data payload defined by a common definition and including a first payload data, the first payload defined by a first schema definition. The second request message includes a second data payload defined by the common definition and a second payload data, wherein the second payload is defined by a second schema definition different than the first schema definition. In response to receiving the first request message, the API transmits a first response message, and in response to receiving the second request message, the API transmits a second response.

Term
Term ended
Expired 3 August 2025, 1.1 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
20 claims: 3 independent, 17 dependent
- 1A system supporting a plurality of application program interfaces (APIs) that includes a targeted API, the system comprising:at least one processor;and memory encoding computer executable instructions that, when executed by the at least one processor, performs operations comprising: receive a request message generated by a remote client application, the request message requesting an activity to be performed by the targeted API, the request message comprising a data component common to a plurality of request messages, wherein the common data component of the plurality of request messages conforms to a reusable schema, and wherein the request message identifies a definition of the reusable schema;in response to receiving the request message, generate a response message;and send the response message to the remote client application.
- 10A non-transitory computer storage media comprising computer executable instructions that, when executed by at least one processor, perform a method of facilitating an exchange of messages between a remote client application and a server system, the server system supporting a plurality of application program interfaces (APIs) that includes a targeted API, the method comprising:receiving a request message generated by the remote client application, the request message requesting an activity to be performed by the targeted API, the request message comprising a data component common to a plurality of request messages, wherein the common data component of the plurality of request messages conforms to a reusable schema, and wherein the request message identifies a definition of the reusable schema;in response to receiving the request message, generating a response message;and sending the response message to the remote client application.
- 17Broadest claimClaim Score 59, broad(NHIP)A method of facilitating an exchange of messages between a remote client application and a server system, the server system supporting a plurality of application program interfaces (APIs) that includes a targeted API, the method comprising:receiving a request message generated by the remote client application, the request message requesting an activity to be performed by the targeted API, the request message comprising a data component common to a plurality of request messages, wherein the common data component of the plurality of request messages conforms to a reusable schema, and wherein the request message identifies a definition of the reusable schema;in response to receiving the request message, generating a response message;and sending the response message to the remote client application.
Independent claims3
111 paragraphs in 6 sections, as filed
RELATED APPLICATIONS
This application is a continuation of U.S. Pat. No. 10,678,607 filed Mar. 12, 2019, which is a continuation of U.S. application Ser. No. 15/945,093, filed Apr. 4, 2018, issued as U.S. Pat. No. 10,275,291, which is a continuation of U.S. application Ser. No. 15/488,747, filed Apr. 17, 2017, issued as U.S. Pat. No. 9,965,338, which is a continuation of U.S. application Ser. No. 14/920,949, filed Oct. 23, 2015, issued as U.S. Pat. No. 9,697,056, which is a continuation of U.S. application Ser. No. 13/735,574, filed Jan. 7, 2013, issued as U.S. Pat. No. 9,201,711, which is a continuation of U.S. application Ser. No. 12/984,461, filed Jan. 4, 2011, issued as U.S. Pat. No. 8,352,968, which application is a continuation of U.S. application Ser. No. 12/771,981, filed Apr. 30, 2010, issued as U.S. Pat. No. 7,886,305, which is a continuation of U.S. application Ser. No. 10/997,767, filed Nov. 24, 2004, issued as U.S. Pat. No. 7,818,759, which claims the priority benefit of the filing date of U.S. Provisional Application No. 60/524,782, filed Nov. 24, 2003, which are incorporated herein, in their entirety, by reference.
FIELD OF THE INVENTION
The present application relates generally to the technical field of application program interfaces (APIs) and language schemas.
BACKGROUND
Buyers, sellers, and other business partners, are increasingly utilizing electronic trading systems (e.g., electronic marketplaces) to collaborate and to do business with each other. Part of this collaboration may involve, for example, linking operational business processes. Business processes may be linked by the exchange of information, in agreed sequences and within agreed timeframes, between buyer and seller applications, and affiliated third party business service providers.
To facilitate the above-mentioned exchange of business information, buyer and seller applications, as well as applications of third party business service providers, may expose Application Program Interfaces (APIs) which allow applications to make calls (e.g., function calls) to other applications to either request or send information. However, as the number of buyers, sellers, and third party applications participating in the exchange of business information increases, the technical challenge of enabling this multitude of applications to exchange information increases. For example, the development of applications that are able to access APIs of a large number of other applications becomes increasingly burdensome and technically challenging.
SUMMARY OF THE INVENTION
According one aspect of the present invention, there is provided a server system to facilitate an exchange of messages with a remote client application. The server system includes a plurality of application servers hosting a plurality of applications. A plurality of Application Program Interfaces (APIs) provides programmatic access to the plurality of applications, each of the APIs being configured to receive request messages compiled by the remote client application. First and second request messages, respectively addressed to first and second APIs of the plurality of APIs, each comprise at least one common data component. Further, the first request message includes a first payload specific to the first API, and the second request message includes a payload specific to the second API.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. <b>1</b></figref> is a network diagram depicting a trading system, within which an exemplary embodiment of the present invention may be deployed, having a client-server architecture.
<figref idref="DRAWINGS">FIG. <b>2</b></figref> is a block diagram illustrating multiple marketplace and payment applications that, in one exemplary embodiment of the present invention, form part of a commerce server system.
<figref idref="DRAWINGS">FIG. <b>3</b></figref> is a high-level entity-relationship diagram illustrating various tables that may be maintained within databases utilized by the marketplace and payment applications described with reference to <figref idref="DRAWINGS">FIG. <b>2</b></figref>.
<figref idref="DRAWINGS">FIG. <b>4</b></figref> is a block diagram illustrating further details regarding an exemplary trading system, configured according to one of embodiment of the present invention.
<figref idref="DRAWINGS">FIG. <b>5</b></figref> is a block diagram illustrating the architecture of an exemplary third party application, configured according to one embodiment of the present invention, to communicate with a commerce server system that exposes a number of APIs.
<figref idref="DRAWINGS">FIG. <b>6</b></figref> is a block diagram illustrating the architecture of an API server, according to an exemplary embodiment of the present invention.
<figref idref="DRAWINGS">FIG. <b>7</b></figref> is a block diagram illustrating structural details of exemplary abstract request and response messages.
<figref idref="DRAWINGS">FIG. <b>8</b></figref> is a block diagram illustrating that the structure of an abstract request-response message may be extended to a specific item listing and payment requests, in one exemplary embodiment of the present invention.
<figref idref="DRAWINGS">FIG. <b>9</b></figref> is a flowchart illustrating a method, according to an exemplary embodiment of the present invention, to communicate messages between a client application and an API server of a plurality of API servers.
<figref idref="DRAWINGS">FIG. <b>10</b></figref> is a flowchart illustrating a method, according to an embodiment of the present invention, of performing version management between a client application and an API.
<figref idref="DRAWINGS">FIG. <b>11</b></figref> is a block diagram representation of a machine, in the exemplary form of a computer system, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
DETAILED DESCRIPTION
A business language schema design framework for message exchanges in a trading system is described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
An exemplary embodiment of the present invention is discussed below within the context of a network-based commerce system that supports a network-based, electronic marketplace. Buyers and sellers, utilizing buyer and seller applications, as well as third party business service providers, interact utilizing the electronic marketplace as a forum. Business processes may be driven by a wider range of electronic marketplace operational considerations, so as to enable buyers and sellers to conduct transactions utilizing the electronic marketplace. In one embodiment of the present invention, a buyer and seller communication model is proposed that identifies the requirements for message exchange sequences, message exchange timings, and the purpose of each message exchange.
In one embodiment, message exchanges comply with a business language schema component model. The business language schema design framework enables an electronic marketplace server system (e.g., the commerce system) to support a wide range of commerce transactions, including auction, fixed price buying and selling, product catalogs searches and payments. These transactions provide examples of communications between buying and selling applications via the electronic marketplace, as well as communications with other third party business service providers.
In an exemplary embodiment, there is provided a schema component model that provides an abstract definition of the business message payloads. Payloads may be defined in a way to support extensibility which enables other types of commerce transactions models to be made available via the marketplace (e.g., for electronic procurement, reverse auctioning, credit check, and shipment/logistic activities).
The business language schema catalogs common business message components that may be utilized for any number of business communications facilitated by an electronic marketplace (e.g., auction, fixed price buying and selling, product catalog search, catalog-based listings, and electronic payment in support of item purchases). The business language schema, in one embodiment, enables a wide range of business applications to interoperate with XML web services APIs, and externally located and internally hosted clients.
Request/response message payload components are defined by the business language schema which may be utilized to enable the building of a range of messages that may flow back and forth from buyers, sellers and third party business service providers to marketplace XML web services, these web services enabling trading parties to list, find, and sell items and services.
In various exemplary embodiments, message exchanges may be made, utilizing the business-language based message exchange model of an exemplary embodiment of the present invention, with both external and internal business applications over synchronous communication and asynchronous communication links. Further, document-oriented synchronous messaging, as well as document-oriented asynchronous messaging, may be supported. As will be described in further detail below, a message packaging format may be a flavor of the XML messaging format (e.g., SOAP 1.1, SOAP 1.2, ebXML, or an e-mail format such as MIME or any other arbitrary message packaging format). Further, transport protocols used may include HTTP, HTTPS, SMTP, or some other arbitrary transport protocol needed for particular business applications hosted remotely at a trading entity that requires moving data.
A schema design framework for a business language is accordingly provided, in an exemplary embodiment of the present invention, to support message payload definitions for a multitude of use cases and for use with a multitude of APIs. This may be accomplished via an extensibility model that includes base components, and business message components that support new transaction models and messaging components. Specifically, the base components provide a definition of basic core component types, basic components and aggregate components, including an abstract messaging framework. The business message components are based on the business information requirements for a particular use case.
Regarding the business messaging components, based on the business information requirements of a particular use case, the definitions of the basic set of messaging components are needed for a legacy transaction model can be supported utilizing the above mentioned base components in support of business message components. In one exemplary embodiment, the business language components for use in an electronic trading environment, such as that described below with respect to <figref idref="DRAWINGS">FIG. <b>1</b></figref>, may include: item, item transaction, shipping details, payment, address, user, buyer, seller and transaction components.
It will be appreciated that, over the course of time, many new types of business processes may be employed by a trading community (e.g., buyers, sellers and third party service providers) that utilize an electronic marketplace and accordingly that interface with services exposed by the electronic marketplace. Such new types of applications may exploit different types of transaction interfaces (e.g., APIs) exposed by an electronic marketplace. An exemplary embodiment of the present invention enables the reusability of certain components, both at a messaging and an application level, while providing for the extensibility to accommodate such new types of business processes and applications. Accordingly, an exemplary embodiment of the present invention proposes an abstract message payload framework that can be extended for many different types of messages and over different protocols, as may be required.
Accordingly, in one embodiment, the business language schema design framework of the present invention may be utilized to achieve reusability, layering, extensibility, as well as ease of use and interoperability between a number of business processes and applications.
Further, the exemplary business language schema design framework seeks to avoid XML Schema Definition (XSD) features that present interoperability issues (e.g., WSDL and SOAP) in processes deployed on client application runtimes. Further, the exemplary framework seeks to take advantage of a wide a range of client run-time environments and development tools (e.g., ranging from public domain to commercially available software), and to decrease the cost of maintenance to clients to easily interpret messages by exploiting underlying reusable base and aggregate business components as well as extensibility features. An embodiment of the present invention also seeks to import, extend and or restrict schemas for a wide range of “enumerated” code types (e.g., ISO, currency and country codes) to use name spaces that enable modularity of business message components and corresponding XML web services APIs that consume and produce the resulting messages, and to satisfy the customization and extensibility needs of widely differing trading communities and transaction models. For example, the business language schema design framework seeks to be reusable in consumer-to-consumer (C2C), business-to-consumer (B2C), and business-to-business (B2B) trading communities.
In order to facilitate a framework for standardizing business information semantics in a flexible and yet interoperable manner, according to one embodiment, there may be provided application-specific message payload components that link back to a common set of core data components from which they are derived. Below are described core component concepts.
Business Language Schema Component Concepts
Core Component Type (CCT): a core component type is, in one embodiment, a low level construct that may have no meaning on its own. A core component type has a content component and additional components (e.g., mandatory or optional) which give it a specific meaning. An example of a core component type is an “amount”, where the content part is a number (e.g., 87) and another required part is a unit (e.g., a Euro).
Basic core components: a basic core component represents, in the exemplary embodiment, a core business concept (e.g., a unique business semantic definition). This may be accomplished by employing a core component type (CCT) or a primitive data type (e.g., XSD data types) to which some other semantically unique object (e.g., a “weight” element is an instance of the core component type CCT Measure Type).
Aggregate core components: aggregate core components, in one exemplary embodiment, encapsulate two or more basic core components which represent higher-level business concepts (e.g., “shipping address” is an instance of Address Type). Each aggregate core component may have its own business semantic definition.
Having above provided a high level introduction, a more detailed description of an exemplary trading system, centered around a network-based commerce system, will now be described with reference to <figref idref="DRAWINGS">FIGS. <b>1</b>-<b>3</b></figref>.
Platform Architecture
<figref idref="DRAWINGS">FIG. <b>1</b></figref> is a network diagram depicting a trading environment <b>10</b>, according to one exemplary embodiment of the present invention, having a client-server architecture. A commerce server system, in the exemplary form of a network-based commerce system <b>12</b>, provides server-side functionality, via a network <b>14</b> (e.g., the Internet) to one or more clients. <figref idref="DRAWINGS">FIG. <b>1</b></figref> illustrates, for example, a web client <b>16</b> (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.), and a programmatic client <b>18</b> executing on respective client machines <b>20</b> and <b>22</b>.
Turning specifically to the network-based commerce system <b>12</b>, an Application Program Interface (API) server <b>24</b> and a web server <b>26</b> are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers <b>28</b>. Specifically, the API server <b>24</b> exposes multiple APIs to users of the commerce system <b>12</b>. Each of these APIs supports one or more function calls to applications of the system <b>12</b>.
The application servers <b>28</b> host one or more marketplace applications <b>30</b> and payment applications <b>32</b>. The application servers <b>28</b> are, in turn, shown to be coupled to one or more databases servers <b>34</b> that facilitate access to one or more databases <b>36</b>.
The marketplace applications <b>30</b> provide a number of marketplace functions and services to users that access the commerce system <b>12</b>. The payment applications <b>32</b> likewise provide a number of payment services and functions to users. The payment applications <b>30</b> may allow users to quantify for, and accumulate, value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications <b>30</b>. While the marketplace and payment applications <b>30</b> and <b>32</b> are shown in <figref idref="DRAWINGS">FIG. <b>1</b></figref> to both form part of the network-based commerce system <b>12</b>, it will be appreciated that, in alternative embodiments of the present invention, the payment applications <b>32</b> may form part of a payment service that is separate and distinct from the commerce system <b>12</b>.
Further, while the system <b>10</b> shown in <figref idref="DRAWINGS">FIG. <b>1</b></figref> employs a client-server architecture, the present invention is of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, system. The various marketplace and payment applications <b>30</b> and <b>32</b> could also be implemented as standalone software programs, which do not necessarily have networking capabilities.
The web client <b>16</b>, it will be appreciated, accesses the various marketplace and payment applications <b>30</b> and <b>32</b> via the web interface supported by the web server <b>26</b>. Similarly, the programmatic client <b>18</b> accesses the various services and functions provided by the marketplace and payment applications <b>30</b> and <b>32</b> via the programmatic interface provided by the API server <b>24</b>. The programmatic client <b>18</b> may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on the commerce system <b>12</b> in an off-line manner, and to perform batch-mode communications between the programmatic client <b>18</b> and the network-based commerce system <b>12</b>.
<figref idref="DRAWINGS">FIG. <b>1</b></figref> also illustrates a third party application <b>38</b>, executing on a third party server machine <b>40</b>, as having programmatic access to the network-based commerce system <b>12</b> via the programmatic interfaces provided by the API server <b>24</b>. For example, the third party application <b>38</b> may, utilizing information retrieved from the network-based commerce system <b>12</b>, support one or more features or functions on a website hosted by the third party. The third party website may, for example, provide one or more promotional, marketplace or payment functions that are supported by the relevant applications of the network-based commerce system <b>12</b>.
Marketplace Applications
<figref idref="DRAWINGS">FIG. <b>2</b></figref> is a block diagram illustrating multiple marketplace and payment applications <b>30</b> that, in one exemplary embodiment of the present invention, are provided as part of the network-based commerce system <b>12</b>. The commerce system <b>12</b> may provide a number of listing and price-setting mechanisms whereby a seller may list goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services. To this end, the marketplace applications <b>30</b> are shown to include one or more auction applications <b>44</b> which support auction-format listing and price setting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double, Reverse auctions etc.). The various auction applications <b>44</b> may also provide a number of features in support of such auction-format listings, such as a reserve price feature whereby a seller may specify a reserve price in connection with a listing and a proxy-bidding feature whereby a bidder may invoke automated proxy bidding.
A number of fixed-price applications <b>46</b> support fixed-price listing formats (e.g., the traditional classified advertisement-type listing or a catalogue listing) and buyout-type listings. Specifically, buyout-type listings (e.g., including the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.) may be offered in conjunction with an auction-format listing, and allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for a fixed-price that is typically higher than the starting price of the auction.
Store applications <b>48</b> allow sellers to group their listings within a “virtual” store, which may be branded and otherwise personalized by and for the sellers. Such a virtual store may also offer promotions, incentives and features that are specific and personalized to a relevant seller.
Reputation applications <b>50</b> allow parties that transact utilizing the network-based commerce system <b>12</b> to establish, build and maintain reputations, which may be made available and published to potential trading partners. Consider that where, for example, the network-based commerce system <b>12</b> supports person-to-person trading, users may have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed. The reputation applications <b>50</b> allow a user, for example through feedback provided by other transaction partners, to establish a reputation within the network-based commerce system <b>12</b> over time. Other potential trading partners may then reference such a reputation for the purposes of assessing credibility and trustworthiness.
Personalization applications <b>52</b> allow users of the commerce system <b>12</b> to personalize various aspects of their interactions with the commerce system <b>12</b>. For example a user may, utilizing an appropriate personalization application <b>52</b>, create a personalized reference page at which information regarding transactions to which the user is (or has been) a party may be viewed. Further, a personalization application <b>52</b> may enable a user to personalize listings and other aspects of their interactions with the commerce system <b>12</b> and other parties.
In one embodiment, the network-based commerce system <b>12</b> may support a number of marketplaces that are customized, for example, for specific geographic regions. A version of the commerce system <b>12</b> may be customized for the United Kingdom, whereas another version of the commerce system <b>12</b> may be customized for the United States. Each of these versions may operate as an independent marketplace, or may be customized (or internationalized) presentations of a common underlying marketplace.
Navigation of the network based-commerce system <b>12</b> may be facilitated by one or more navigation applications <b>56</b>. For example, a search application enables key word searches of listings published via the commerce system <b>12</b>. A browse application allows users to browse various category, catalogue, or inventory data structures according to which listings may be classified within the commerce system <b>12</b>. Various other navigation applications may be provided to supplement the search and browsing applications.
In order to make listings, available via the network-based commerce system <b>12</b>, as visually informing and attractive as possible, the marketplace applications <b>30</b> may include one or more imaging applications <b>58</b> utilizing which users may upload images for inclusion within listings. An imaging application <b>58</b> also operates to incorporate images within viewed listings. The imaging applications <b>58</b> may also support one or more promotional features, such as image galleries that are presented to potential buyers. For example, sellers may pay an additional fee to have an image included within a gallery of images for promoted items.
Listing creation applications <b>60</b> allow sellers conveniently to author listings pertaining to goods or services that they wish to transact via the commerce system <b>12</b>, and listing management applications <b>62</b> allow sellers to manage such listings. Specifically, where a particular seller has authored and/or published a large number of listings, the management of such listings may present a challenge. The listing management applications <b>62</b> provide a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the seller in managing such listings. One or more post-listing management applications <b>64</b> also assist sellers with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by one or more auction applications <b>44</b>, a seller may wish to leave feedback regarding a particular buyer. To this end, a post-listing management application <b>64</b> may provide an interface to one or more reputation applications <b>50</b>, so as to allow the seller conveniently to provide feedback regarding multiple buyers to the reputation applications <b>50</b>.
Dispute resolution applications <b>66</b> provide mechanisms whereby disputes arising between transacting parties may be resolved. For example, the dispute resolution applications <b>66</b> may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a third party mediator or arbitrator.
A number of fraud prevention applications <b>68</b> implement various fraud detection and prevention mechanisms to reduce the occurrence of fraud within the commerce system <b>12</b>.
Messaging applications <b>70</b> are responsible for the generation and delivery of messages to users of the network-based commerce system <b>12</b>, such messages for example advising users regarding the status of listings at the commerce system <b>12</b> (e.g., providing “outbid” notices to bidders during an auction process or to provide promotional and merchandising information to users).
Merchandising applications <b>72</b> support various merchandising functions that are made available to sellers to enable sellers to increase sales via the commerce system <b>12</b>. The merchandising applications <b>80</b> also operate the various merchandising features that may be invoked by sellers, and may monitor and track the success of merchandising strategies employed by sellers.
The network-based commerce system <b>12</b> itself, or one or more parties that transact via the commerce system <b>12</b>, may operate loyalty programs that are supported by one or more loyalty/promotions applications <b>74</b>. For example, a buyer may earn loyalty or promotions points for each transaction established and/or concluded with a particular seller, and be offered a reward for which accumulated loyalty points can be redeemed.
Data Structures
<figref idref="DRAWINGS">FIG. <b>3</b></figref> is a high-level entity-relationship diagram, illustrating various tables <b>90</b> that may be maintained within the databases <b>36</b>, and that are utilized by and support the marketplace and payment applications <b>30</b> and <b>32</b>. A user table <b>92</b> contains a record for each registered user of the network-based commerce system <b>12</b>, and may include identifier, address and financial instrument information pertaining to each such registered user. A user may, it will be appreciated, operate as a seller, a buyer, or both, within the network-based commerce system <b>12</b>. In one exemplary embodiment of the present invention, a buyer may be a user that has accumulated value (e.g., commercial or proprietary currency), and is then able to exchange the accumulated value for items that are offered for sale by the network-based commerce system <b>12</b>.
The tables <b>90</b> also include an items table <b>94</b> in which are maintained item records for goods and services that are available to be, or have been, transacted via the commerce system <b>12</b>. Each item record within the items table <b>94</b> may furthermore be linked to one or more user records within the user table <b>92</b>, so as to associate a seller and one or more actual or potential buyers with each item record.
A transaction table <b>96</b> contains a record for each transaction (e.g., a purchase transaction) pertaining to items for which records exist within the items table <b>94</b>.
An order table <b>98</b> is populated with order records, each order record being associated with an order. Each order, in turn, may be with respect to one or more transactions for which records exist within the transactions table <b>96</b>.
Bid records within a bids table <b>100</b> each relate to a bid received at the network-based commerce system <b>12</b> in connection with an auction-format listing supported by an auction application <b>44</b>. A feedback table <b>102</b> is utilized by one or more reputation applications <b>50</b>, in one exemplary embodiment, to construct and maintain reputation information concerning users. A history table <b>104</b> maintains a history of transactions to which a user has been a party. One or more attributes tables <b>106</b> record attribute information pertaining to items for which records exist within the items table <b>94</b>. Considering only a single example of such an attribute, the attributes tables <b>106</b> may indicate a currency attribute associated with a particular item, the currency attribute identifying the currency of a price for the relevant item as specified in by a seller.
Having above described an exemplary trading environment <b>10</b>, within which an exemplary embodiment of the present invention may be deployed, further details regarding a business language schema design framework, according to an exemplary embodiment of the present invention, for message exchanges (e.g., within the trading environment <b>10</b>) are now described. <figref idref="DRAWINGS">FIG. <b>4</b></figref> is block diagram illustrating a client-server architecture that may be deployed, for example, as part of the trading environment <b>10</b> described above with reference to <figref idref="DRAWINGS">FIG. <b>1</b></figref>. Referring specifically to <figref idref="DRAWINGS">FIG. <b>4</b></figref>, abstract request/response messages <b>120</b> are sent between one of N third party systems, such as third party system <b>122</b>, and a server system <b>125</b> that is accessed via a number of APIs exposed by respective API servers <b>24</b>
Thus, in broad terms, the third party system <b>122</b>, using the client application <b>124</b>, compiles a request message, which is directed to an API <b>126</b> (e.g., AddItem, GetItemTransaction, etc.) of the server system <b>125</b>. Each API <b>126</b> in turn provides access through supported function calls to one of a plurality of applications, indicated generally by arrow <b>128</b>, that have access to a database <b>130</b>.
Turning now to <figref idref="DRAWINGS">FIG. <b>5</b></figref>, further details regarding the exemplary client application <b>124</b>, hosted on a third party system <b>122</b>, are shown. The client application <b>124</b> includes an abstract request/response message process component <b>136</b> for processing the request/response messages <b>120</b> shown in <figref idref="DRAWINGS">FIG. <b>4</b></figref>. In particular, the abstract request/response message process component <b>136</b> comprises an Error Processor <b>138</b> and a Version Processor <b>140</b>. The client application <b>134</b> further comprises an API-specific component <b>142</b> that includes XML schema definitions <b>144</b>, <b>146</b> for the various API's <b>126</b> with which the client application <b>124</b> is configured to communicate (e.g., API_0 and API_1 shown in <figref idref="DRAWINGS">FIG. <b>4</b></figref>). A number of possible front end transport technologies, such as SOAP, MIME and HTTP, are shown to be supported by a transport handler <b>13</b>.
The client application <b>124</b> also includes a message handler <b>145</b>, and a serialization/deserialization handler <b>147</b>, in addition to the API specific component <b>142</b>. Specifically, each third party system <b>122</b> may host a client application <b>124</b>, which can exploit the abstract request/response message via any one of the following processing components: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0064">i) A transport handler <b>143</b> which supports the communication protocol e.g., HTTP, HTTPS, SMTP, etc;</li><li id="ul0001-0002" num="0065">ii) A message handler <b>145</b> which supports the message envelope processing capabilities. e.g., HTTP, POST Raw Data stream, SOAP, MIME, etc.;</li><li id="ul0001-0003" num="0066">iii) Abstract request serialization and response deserialization handler <b>147</b>; and</li><li id="ul0001-0004" num="0067">iv) Client-side API specific application components <b>142</b>.</li></ul>
The transport handler <b>143</b> and the message handler can be formed from any standard, commercially available Software Development Kit (SDK) to which a third party has access in its development and runtime deployment environments.
The abstract request serialization and response deserialization handler <b>147</b> can be developed for client applications <b>124</b> once, and reused multiple times, thus reducing the cost of interfacing and also providing consistent interfacing with API-based application services exposed by the commerce system <b>12</b> over a wide range of transport and messaging particles. Such a “write once and, use multiple times” deployment is useful for trading communities, regardless of use case and other infrastructure components in support of transport, security and messaging protocols.
Turning now to <figref idref="DRAWINGS">FIG. <b>6</b></figref>, at the server side, an exemplary API Server <b>148</b> comprises a front end Presentation tier <b>150</b>, which receives request messages and sends response messages, a Business tier <b>152</b> and a Data components tier <b>154</b>. The Business tier <b>152</b> includes components corresponding to the various APIs, indicated generally by arrow <b>156</b>. The benefits on the server side in terms of creating response payloads is that, as for request payloads, basic response components are compilable using reusable components
The structure of exemplary abstract request and response messages <b>158</b>, <b>176</b> will now be described in detail with reference to <figref idref="DRAWINGS">FIG. <b>7</b></figref>. Referring first to the abstract request message <b>158</b>, an exemplary abstract request message <b>158</b> comprises a Detail Level component <b>160</b> and an associated DetailCodeType <b>162</b>. This advantageously allows the client application <b>124</b> to request a required level of detail within a listing, for example, relating to a particular item listed on the commerce system <b>12</b>. The level of detail requested may range from a most detailed to a least detailed level. The abstract request message <b>158</b> further comprises an Error Language component <b>164</b> and an associated Language Identification Tag <b>166</b>, and a Version_ID component <b>168</b> and an associated Version Identifier <b>170</b>. The abstract request message <b>158</b> is then completed by providing a Request Payload component <b>172</b>, for carrying any type of XML data <b>174</b>.
An exemplary abstract response message <b>176</b> includes a Time Stamp component <b>178</b> and an associated DateTime <b>180</b>, and an Acknowledgement component <b>182</b> and an associated AckCodeType <b>184</b>. These components are used to acknowledge receipt of a request message of the received from a client application <b>124</b>.
The abstract response message <b>176</b> further includes a Correlation_ID component <b>186</b> and associated String Identifier <b>188</b>, an Error(s) Data component <b>190</b> and associated data <b>192</b>, a Version_ID <b>193</b>, a Build component <b>194</b> and a Response Payload component <b>196</b> for receiving any type of XML data <b>198</b>.
The Correlation_ID component <b>186</b> and associated String Identifier <b>188</b> allow the abstract response message <b>176</b> to be correlated with a particular incoming request message <b>158</b>, and to indicate this correlation to the requesting client application <b>124</b>.
Thus, there is some commonality in the abstract request and abstract response messages <b>158</b> and <b>176</b>, namely they both can carry any type of data, and both include version information.
The Error Language component <b>164</b> and the Error Data(s) component <b>190</b> ensure that the API request/response messages consistently use, manage and communicate error components. Part of this is the ability to communicate versioning information identifying what version of an API a particular API server <b>24</b> is using to communicate with a client application <b>124</b> of a third party system <b>122</b> (e.g., a client <b>20</b> and <b>22</b>). Thus, for example, if a third party system <b>122</b> sends a request message that includes incorrect data or that does not comply with the published requirements of a target API, the Error Data(s) component <b>190</b> is used by the target API to communicate information regarding the error back to the client application <b>124</b>. Thus, when an error is detected, a response message is generated by the relevant API, this response message being either a long message or a short message, and including an error code and associated severity code. This response message is sent to the relevant client application <b>124</b>, thereby informing the client application <b>124</b> as to the nature of the error.
Regarding the version of the API that the API server <b>24</b> is using, versioning information is included in both a request message from a client application <b>124</b> to the API server <b>24</b>, as well as a response message from the API server <b>24</b> back to the client application <b>124</b>. This is indicated schematically by blocks <b>168</b> and <b>193</b> in <figref idref="DRAWINGS">FIG. <b>7</b></figref>. Thus, the respective version components in the request and response messages indicate a particular version of the API on the API server <b>24</b>. In so doing, and in view of the fact that the API version used by the API server <b>24</b> typically changes, the client application <b>124</b> will have a way of detecting when it needs to upgrade the schema that it uses to format and generate request messages to the relevant.
An embodiment of the present invention facilitates extension of the behavior of the APIs in terms of the request and response message structures. In other words, the abstract request and response models can be extended to enable API requests and responses between a third party system <b>122</b> and any number of APIs provided by one or more API servers <b>24</b>. For example, a particular server system may expose a number of APIs, each conforming to the basic request/response messages described above. Thus, for example, the basic request/response messages can be extended to enable an AddItem API, or a GetItem API, or a GetAccount API. Thus, for example, for a third party system wishing to exchange item information with the commerce system <b>12</b>, the basic abstract request message may be extended with the addition of information conforming to a schema understood by a GetItem API.
In other words, this arrangement allows a third party system <b>122</b>, hosting an appropriately configured client application <b>124</b>, to communicate with multiple APIs with a degree of uniformity and predictability. In one embodiment, a uniform data processing model is utilized and supported by a number of APIs, thereby allowing developers of client applications to reuse parts of their code.
The abstract request and response data processing component <b>136</b> of a client application <b>124</b> allows a client application developer to create and modify a client application <b>124</b> to communicate with multiple APIs using a common portion of code. The abstract request and response data processing framework can be reused by a client application <b>124</b> for a number of APIs exposed by the commerce system <b>12</b>, for example.
Dealing more specifically with the re-usability of the business language schema data components, in a specific exemplary deployment environment of a trading environment <b>10</b> such as that illustrated in <figref idref="DRAWINGS">FIG. <b>1</b></figref>, schema components may be defined such that they can be reused for multiple cases of purchasing and selling items listed via the network-based commerce system <b>12</b>. Examples of such reuse are provided below: <ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0082">1) Listing an item utilizing an AddItem API: a client application <b>124</b> may be configured to list an item to be sold in specific regions of the world, and to recognize acceptable payment and shipment options for purchasing and shipping items in such a specific region.</li><li id="ul0002-0002" num="0083">2) Revising and relisting an item utilizing ReviseItem and RelistItem APIs: a client application <b>124</b> may be configured to enable the revision and relisting of existing items, such that the item properties are revised or a completely new listing for the item is created, should the item not previously have been sold.</li><li id="ul0002-0003" num="0084">3) Getting information about an item utilizing GetItem, GetSellerList, or GetBidderList APIs: a client application <b>124</b> may be configured to retrieve information about a particular item, or multiple items, that are actively listed via the network-based commerce system <b>12</b>.</li></ul>
In all of the above use cases, the client application <b>124</b> is required to send information back to a network-based commerce system <b>112</b> regarding items listed for sale via the commerce system <b>12</b>. This may require description of an <item> structure in a consistent manner such that the client applications <b>122</b> from which the API calls originate understand the semantics of an item listed by a seller on the e-commerce system <b>12</b>. However, since the context of each call from a client application <b>124</b> is different in each use case scenario, a different degree of information needs to be provided such that some data components are included or excluded.
Utilizing the item listing use case scenario described above, the issues described above can be addressed utilizing (1) an <item> data component model, and (2) multiple data validation levels.
Turning first to the <item> data component model, in terms of this model an “item” has required optional data components. These components internally also have child components that are required and optional components.
Accordingly, a single item component definition may be used for multiple API use cases, with the developers and designers of the APIs being able to select which elements of the item component must be present and which elements of an item component do not need to be present.
Turning now to the multiple data validation levels, when a client application <b>124</b> sends an API request message payload <b>172</b>, an API processing payload may, in one embodiment, include the following sequence of validations: <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0090">(a) Schema Level Data Validation: the API request message payload <b>172</b> is validated with respect to an underlying schema specific to the API message payload (e.g., utilizing the XML schema definition for the item data component).</li><li id="ul0003-0002" num="0091">(b) API Specific Syntactic Data validation: This involves additional data-level validation to ensure that the client application <b>124</b> has sent required data elements that are specified in the XML schema definition to the option elements, but that are defined as required elements by the relevant API.</li><li id="ul0003-0003" num="0092">(c) Business Application Data Validation: This validation involves checking for a wide range of business application level validations.</li></ul>
The above sequence of validations, it will be noted, utilizes a single definition of key business data components such that data variability in request/response messages can be supported in a controlled manner using the required validation logic for the business use case. For example, for the following the three exemplary APIs (GetItem, GetItem Transaction and SellerList), the same definition of an <item> business definition component can be used on the client side—yet the APIs will return response messages with varying API data structures. This enables uniformity in a semantic definition, yet allows the return of different views of the <item> business component according to use case. Examples of response are provided in the attached Computer Program Listing Appendix.
Accordingly, a server system (e.g., a network-based commerce system <b>12</b>) that exposes multiple business application services can utilize these multiple exposed business applications in communicating with multiple client applications <b>122</b> in a way that the client applications <b>122</b> can understand and communicate. For example, information about an item with varying syntactic characteristics that correspond to an item is communicated (e.g., information about an item with varying syntactic characteristics that correspond to a data item component with a common semantic definition). The above contributes to the reusability of data components within, for example, a trading community with multiple use cases.
To develop a client application <b>124</b> that communicates with multiple APIs, or to modify an existing client application <b>124</b> to talk to multiple APIs, a developer downloads or imports XML schema definitions for each of the multiple APIs. For example, for an exemplary GetTransactionDetail API, the developer will need to import or download the corresponding schema for this API, and in particular the GetTransactionDetail request message as well as the GetTransactionDetail response message. Thereafter, the client application <b>124</b> will need to integrate these schema processing components with their own (e.g., as part of the API specific component <b>142</b>).
The above-described business language schema design framework is able to cater for messages being compiled in different data formats, ranging from a raw ACP format, to SOAP, to MIME to HTTP. Thus, for example, the same message data format can be used to transfer a request payload <b>172</b> from a client application <b>124</b> to the server, yet with the response payload <b>196</b> being sent from the server to the client application <b>124</b> in a different message format. From the point of view of the client application <b>124</b>, a common data processing mechanism may be utilized. In other words, the request payload <b>172</b> and response payload <b>196</b> are transport and message data format independent.
With reference to <figref idref="DRAWINGS">FIG. <b>8</b></figref>, in exemplary use case scenarios, the abstract request/response message <b>120</b> may be extended to an “item listing” use case <b>200</b> and a payment application use case <b>206</b>. For the item listing use case <b>200</b>, an abstract message <b>120</b> may be extended to be an Add_Item Request/Response message <b>202</b> or a Get_Item_Transaction Request/Response message <b>204</b>. For the payment application use case <b>206</b>, the abstract message <b>120</b> may be extended to be a Refund_Transaction Request/Response <b>208</b> or a Get_Item_Transaction Request/Response <b>210</b>, merely for example.
An exemplary Get_Item_Transaction Request message is listed below:
<tables id="TABLE-US-00001" num="00001"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><thead><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry><GetItemTransactionsRequest xmlns:xsd=“http://www.w3.org/2001/XMLSchema</entry></row><row><entry>xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ErrorLanguage</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>xmlns=“urn:marketplace:apis:BLBaseComponents”>en_US</ErrorLanguage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><Version xmlns=“urn:marketplace:apis:BLBaseComponents”>383</Version></entry></row><row><entry /><entry><EndUserIP</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>xmlns=“urn:marketplace:apis:BLBaseComponents”>10.254.45.68</EndUserIP></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ItemID xmlns=“urn:marketplace:apis:BLBaseComponents”>4074744369</ItemID></entry></row><row><entry /><entry><ModTimeFrom>2004-11-10T17:23:00.0664190-08:00</ModTimeFrom></entry></row><row><entry /><entry><ModTimeTo>2004-11-15T17:23:00.0664190-08:00</ModTimeTo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry> </GetItemTransactionsRequest></entry></row><row><entry> <GetItemTransactionsResponse xmlns:xsd=“http://www.w3.org/2001/XMLSchema</entry></row><row><entry>xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ns1:Timestamp xmlns:ns1=“urn:marketplace:apis:BLBaseComponents”>2004-11-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>16T01:23:06.453Z</ns1:Timestamp></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ns2:Ack xmlns:ns2=“urn:marketplace:apis:BLBaseComponents”>Success</ns2:Ack></entry></row><row><entry /><entry><ns3:CorrelationID xmlns:ns3=“urn:marketplace:apis:BLBaseComponents”>00000000-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>00000000-00000000-00000000-00000000-00000000-0000000000</ns3:CorrelationID></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ns4:Version xmlns:ns4=“urn:marketplace:apis:BLBaseComponents”>383</ns4:Version></entry></row><row><entry /><entry><ns5:Build</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>xmlns:ns5=“urn:marketplace:apis:BLBaseComponents”>20041112174350</ns5:Build></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry><ns6:PaginationResult xmlns:ns6=“urn:marketplace:apis:BLBaseComponents”></entry></row><row><entry /><entry> <ns6:TotalNumberOfPages>1</ns6:TotalNumberOfPages></entry></row><row><entry /><entry> <ns6:TotalNumberOfEntries>1</ns6:TotalNumberOfEntries></entry></row><row><entry /><entry></ns6:PaginationResult></entry></row><row><entry /><entry><HasMoreTransactions>false</HasMoreTransactions></entry></row><row><entry /><entry><TransactionsPerPage>100</TransactionsPerPage></entry></row><row><entry /><entry><PageNumber>1</PageNumber></entry></row><row><entry /><entry><ReturnedTransactionCountActual>1</ReturnedTransactionCountActual></entry></row><row><entry /><entry><ns7:Item xmlns:ns7=“urn:marketplace:apis:BLBaseComponents”></entry></row><row><entry /><entry> <ns7:AutoPay>false</ns7:AutoPay></entry></row><row><entry /><entry> <ns7:BuyerProtection>ItemIneligible</ns7:BuyerProtection></entry></row><row><entry /><entry> <ns7:Currency>USD</ns7:Currency></entry></row><row><entry /><entry> <ns7:ItemID>4074744369</ns7:ItemID></entry></row><row><entry /><entry> <ns7:ListingType>Chinese</ns7:ListingType></entry></row><row><entry /><entry> <ns7:PaymentMethods>PaymentSeeDescription</ns7:PaymentMethods></entry></row><row><entry /><entry> <ns7:PrivateListing>false</ns7:PrivateListing></entry></row><row><entry /><entry> <ns7:Quantity>1</ns7:Quantity></entry></row><row><entry /><entry> <ns7:Seller></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:AboutMePage>false</ns7:AboutMePage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry><ns7:EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wJkoKpC5WCogqdj6x9nY+seQ==</ns7:EIASToken></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:Email>silkauto_beekde5@ds9.cc</ns7:Email></entry></row><row><entry /><entry><ns7:FeedbackScore>5</ns7:FeedbackScore></entry></row><row><entry /><entry><ns7:FeedbackPrivate>true</ns7:FeedbackPrivate></entry></row><row><entry /><entry><ns7:FeedbackRatingStar>None</ns7:FeedbackRatingStar></entry></row><row><entry /><entry><ns7:IDVerified>true</ns7:IDVerified></entry></row><row><entry /><entry><ns7:NewUser>false</ns7:NewUser></entry></row><row><entry /><entry><ns7:RegistrationDate>1999-01-19T08:00:00.000Z</ns7:RegistrationDate></entry></row><row><entry /><entry><ns7:Site>US</ns7:Site></entry></row><row><entry /><entry><ns7:Status>Confirmed</ns7:Status></entry></row><row><entry /><entry><ns7:UserID>beekde5</ns7:UserID></entry></row><row><entry /><entry><ns7:UserIDChanged>false</ns7:UserIDChanged></entry></row><row><entry /><entry><ns7:UserIDLastChanged>2001-01-19T17:13:05.000Z</ns7:UserIDLastChanged></entry></row><row><entry /><entry><ns7:SellerInfo></entry></row><row><entry /><entry> <ns7:AllowPaymentEdit>true</ns7:AllowPaymentEdit></entry></row><row><entry /><entry> <ns7:CheckoutEnabled>false</ns7:CheckoutEnabled></entry></row><row><entry /><entry> <ns7:CIPBankAccountStored>false</ns7:CIPBankAccountStored></entry></row><row><entry /><entry> <ns7:GoodStanding>true</ns7:GoodStanding></entry></row><row><entry /><entry> <ns7:LiveAuctionAuthorized>false</ns7:LiveAuctionAuthorized></entry></row><row><entry /><entry> <ns7:MerchandizingPref>OptOut</ns7:MerchandizingPref></entry></row><row><entry /><entry> <ns7:QualifiesForB2BVAT>false</ns7:QualifiesForB2BVAT></entry></row><row><entry /><entry> <ns7:SellerLevel>None</ns7:SellerLevel></entry></row><row><entry /><entry> <ns7:StoreOwner>false</ns7:StoreOwner></entry></row><row><entry /><entry></ns7:SellerInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns7:Seller></entry></row><row><entry /><entry> <ns7:SellingStatus></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:ConvertedCurrentPrice currencyID=“USD”>10.0</ns7:ConvertedCurrentPrice></entry></row><row><entry /><entry><ns7:CurrentPrice currencyID=“USD”>10.0</ns7:CurrentPrice></entry></row><row><entry /><entry><ns7:QuantitySold>1</ns7:QuantitySold></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns7:SellingStatus></entry></row><row><entry /><entry> <ns7:Site>US</ns7:Site></entry></row><row><entry /><entry> <ns7:Title>My ItemTitle</ns7:Title></entry></row><row><entry /><entry></ns7:Item></entry></row><row><entry /><entry><ns8:TransactionArray xmlns:ns8=“urn:marketplace:apis:BLBaseComponents”></entry></row><row><entry /><entry> <ns8:Transaction></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns8:AmountPaid currencyID=“USD”>10.0</ns8:AmountPaid></entry></row><row><entry /><entry><ns8:AdjustmentAmount currencyID=“USD”>0.0</ns8:AdjustmentAmount></entry></row><row><entry /><entry><ns8:ConvertedAdjustmentAmount</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>currencyID=“USD”>0.0</ns8:ConvertedAdjustmentAmount></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns8:Buyer></entry></row><row><entry /><entry> <ns8:AboutMePage>false</ns8:AboutMePage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry><ns8:EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wJkoKjAZKLpA+dj6x9nY+seQ==</ns8:EIASToken></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns8:Email>silkauto_ny_buy@unicorn.qa.marketplace.com</ns8:Email></entry></row><row><entry /><entry> <ns8:FeedbackScore>0</ns8:FeedbackScore></entry></row><row><entry /><entry> <ns8:FeedbackRatingStar>None</ns8:FeedbackRatingStar></entry></row><row><entry /><entry> <ns8:IDVerified>false</ns8:IDVerified></entry></row><row><entry /><entry> <ns8:NewUser>false</ns8:NewUser></entry></row><row><entry /><entry> <ns8:RegistrationDate>2001-12-13T00:56:09.000Z</ns8:RegistrationDate></entry></row><row><entry /><entry> <ns8:Site>US</ns8:Site></entry></row><row><entry /><entry> <ns8:Status>Confirmed</ns8:Status></entry></row><row><entry /><entry> <ns8:UserID>ny_buy</ns8:UserID></entry></row><row><entry /><entry> <ns8:UserIDChanged>false</ns8:UserIDChanged></entry></row><row><entry /><entry> <ns8:UserIDLastChanged>2002-02-02T00:33:10.000Z</ns8:UserIDLastChanged></entry></row><row><entry /><entry> <ns8:BuyerInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="287pt" align="left" /><tbody valign="top"><row><entry /><entry><ns8:ShippingAddress></entry></row><row><entry /><entry> <ns8:Country>US</ns8:Country></entry></row><row><entry /><entry> <ns8:PostalCode>12201</ns8:PostalCode></entry></row><row><entry /><entry></ns8:ShippingAddress></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns8:BuyerInfo></entry></row><row><entry /><entry></ns8:Buyer></entry></row><row><entry /><entry><ns8:ShippingDetails></entry></row><row><entry /><entry> <ns8:AllowPaymentEdit>false</ns8:AllowPaymentEdit></entry></row><row><entry /><entry> <ns8:ChangePaymentInstructions>false</ns8:ChangePaymentInstructions></entry></row><row><entry /><entry> <ns8:InsuranceOption>NotOffered</ns8:InsuranceOption></entry></row><row><entry /><entry> <ns8:InsuranceWanted>false</ns8:InsuranceWanted></entry></row><row><entry /><entry> <ns8:SalesTax></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="287pt" align="left" /><tbody valign="top"><row><entry /><entry><ns8:SalesTaxPercent>0.0</ns8:SalesTaxPercent></entry></row><row><entry /><entry><ns8:ShippingIncludedInTax>false</ns8:ShippingIncludedInTax></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns8:SalesTax></entry></row><row><entry /><entry></ns8:ShippingDetails></entry></row><row><entry /><entry><ns8:ConvertedAmountPaid currencyID=“USD”>10.0</ns8:ConvertedAmountPaid></entry></row><row><entry /><entry><ns8:ConvertedTransactionPrice</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry>currencyID=“USD”>10.0</ns8:ConvertedTransactionPrice></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="301pt" align="left" /><tbody valign="top"><row><entry /><entry><ns8:CreatedDate>2004-11-16T01:22:58.000Z</ns8:CreatedDate></entry></row><row><entry /><entry><ns8:DepositType>None</ns8:DepositType></entry></row><row><entry /><entry><ns8:QuantityPurchased>1</ns8:QuantityPurchased></entry></row><row><entry /><entry><ns8:Status></entry></row><row><entry /><entry> <ns8:marketplacePaymentStatus>NoPaymentFailure</ns8:marketplacePaymentStatus></entry></row><row><entry /><entry> <ns8:CheckoutStatus>CheckoutIncomplete</ns8:CheckoutStatus></entry></row><row><entry /><entry> <ns8:LastTimeModified>2004-11-16T01:22:58.000Z</ns8:LastTimeModified></entry></row><row><entry /><entry> <ns8:PaymentMethodUsed>None</ns8:PaymentMethodUsed></entry></row><row><entry /><entry> <ns8:CompleteStatus>Incomplete</ns8:CompleteStatus></entry></row><row><entry /><entry></ns8:Status></entry></row><row><entry /><entry><ns8:TransactionID>0</ns8:TransactionID></entry></row><row><entry /><entry><ns8:TransactionPrice currencyID=“USD”>10.0</ns8:TransactionPrice></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="315pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns8:Transaction></entry></row><row><entry /><entry></ns8:TransactionArray></entry></row><row><entry /><entry><PayPalPreferred>false</PayPalPreferred></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="329pt" align="left" /><tbody valign="top"><row><entry> </GetItemTransactionsResponse></entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
The request/response message exchange between the client application <b>124</b> and the API server will now be described with reference to <figref idref="DRAWINGS">FIG. <b>9</b></figref>. On the client application side of the message exchange, the operations involved in the content occasion <b>124</b> compiling a request message are as follows: <ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0101">receiving data to being included in the request message, indicated by block <b>212</b>;</li><li id="ul0004-0002" num="0102">determining the abstract request message payload data <b>1</b>, comprising, for example, the required level of detail and the version of the XML schema definition for a specific API (e.g. API_0) being used by the client application <b>124</b>, indicated by block <b>214</b>;</li><li id="ul0004-0003" num="0103">determining the payload data <b>2</b>, indicated by block <b>216</b>;</li><li id="ul0004-0004" num="0104">creating the abstract portion of the message from data <b>1</b>, indicated by block <b>218</b>;</li><li id="ul0004-0005" num="0105">invoking an API-specific component and identifying the API-specific XML schema definitions, indicated by block <b>220</b>;</li><li id="ul0004-0006" num="0106">creating the API-specific portion of the message from data <b>2</b>, using the API-specific component, indicated by block <b>222</b>;</li><li id="ul0004-0007" num="0107">creating an extended request message from the abstract and API-specific portions, indicated by block <b>224</b>;</li><li id="ul0004-0008" num="0108">enveloping the extended request message in a transport level wrapper, indicated by block <b>226</b>; and</li><li id="ul0004-0009" num="0109">transmitting the wrapped extended request message via a network to the API server, indicated by block <b>228</b>.</li></ul>
At the API server, the operations involved in compiling a response message for the client application <b>124</b> can be summarized as follows: <ul id="ul0005" list-style="none"><li id="ul0005-0001" num="0111">receiving the client's extended request message, indicated by block <b>230</b>;</li><li id="ul0005-0002" num="0112">extracting the abstract and extended payload data, indicated by block <b>232</b>;</li><li id="ul0005-0003" num="0113">performing the required version and error check operations, indicated by block <b>234</b>;</li><li id="ul0005-0004" num="0114">performing the activity requested in the extended message payload, indicated by block <b>236</b>;</li><li id="ul0005-0005" num="0115">generating a time stamp, acknowledgement, correlation_ID, error and version data, and including this data into the abstract portion of the response messages, indicated by block <b>238</b>;</li><li id="ul0005-0006" num="0116">identifying the appropriate response data and including this in the extended portion of the response message, indicated by block <b>240</b>;</li><li id="ul0005-0007" num="0117">creating an extended response message from the abstract and extended portions, indicated by block <b>242</b>;</li><li id="ul0005-0008" num="0118">enveloping the extended response message in a transport level wrapper, indicated by block <b>244</b>; and</li><li id="ul0005-0009" num="0119">transmitting the wrapped extended response message via a network to the client application, indicated by block <b>246</b>.</li></ul>
An embodiment of the present invention further utilizes enumerated code types. This feature is described with reference to an example, such as the ListingDuration code type. Enumerated code types can be used for information components that may have a fixed set of values. For example, ListingDuration code type identifies how long an item may be listed on the commerce system <b>12</b>. There are typically three different values that ListingDuration code type may assume, namely 7, 10 or 14 days. These can be enumerate in some constant data structure (e.g., weeks) so that, for example, a duration of 14 days can be formalized with the number “2”. Accordingly, any ListingDuration code type can only correspond to 7, 10 or 14 days. If the ListingDuration code type is attributed a value of 21 or 15, then such a value would violate the relevant XML schema definition.
According to one embodiment of the present invention, as and provides a “forced element” when encountering a value that violates an XML schema definition. Thus, a default value is provided as the enumerated code type can change over a period of time. Thus, in one month, an original XML schema definition may define 7, 10, 14 and 21 day duration values, but the next month, the updated up XML schema definition may be updated to remove the duration value of 21 days. Thus, when a client application <b>124</b>, utilizing the original XML schema, attempt to provide a 21 day duration value against an updated API, this will be registered as a violation. To address this, the updated API will insert a “default value”, which can carry any value, into the response payload <b>196</b> of a response message <b>176</b> provided by the updated API and to the according client application <b>124</b>.
Thus, an indication of a 21 day duration value duration value against the updated API of the commerce system <b>12</b> will be accepted, but as the updated API will issue a warning to the relevant client application <b>124</b> that it needs to upgrade the relevant XML schema. In use, the default value is only inserted by the API server into the response message when the server detects that the client is using an outdated version of the schema.
<figref idref="DRAWINGS">FIG. <b>10</b></figref> is a flowchart illustrating a method <b>250</b>, according to an exemplary embodiment of the present invention, of performing version management between a client application <b>124</b> and an API, for example implemented by the commerce system <b>12</b>. The method <b>250</b> illustrates how the API of the commerce system <b>12</b> leverages the business language schema design framework described above to communicate back to a client application <b>124</b> with client enumerated code types in a scenario in which the client application <b>124</b> may not be synchronized with a latest version of an API adopted by the commerce server <b>12</b>.
The method <b>250</b> commences at block <b>252</b>, with the client application <b>124</b> including its version identifier (e.g., version_ID), identifying the version of an XML schema definition stored by the client application <b>124</b>, within a request message <b>158</b> addressed to a particular target API. An example of the version identifier <b>170</b> is provided below: <ul id="ul0006" list-style="none"><li id="ul0006-0001" num="0000"><ul id="ul0007" list-style="none"><li id="ul0007-0001" num="0125">(Version xmlns=“URN: marketplace: APIs: BLBase Components”>383</Version>).</li></ul></li></ul>
At block <b>254</b>, an API <b>126</b> of the server system <b>125</b> receives the request message <b>158</b> from the client application <b>124</b>, and determines from the version identifier that the client application <b>124</b> is utilizing a different and older version of an API schema supported by the relevant target API <b>126</b>.
At block <b>256</b>, the targeted API composes a response message <b>176</b>, including a response payload <b>196</b>, and includes within the payload instances of specific enumerated code types for an element (e.g., <Site> CustomCode </Site>). This indicates that the API has defined new, additional enumerated codes that may not be understood and correctly processed by the client application <b>124</b>, in view of its updated XML schema definition for the targeted API. The “CustomCode” element being returned in such scenarios will prevent the client application <b>124</b> from experiencing a communication breakdown with the API, due to incremental schema changes and evolutions that may occur as part of the commerce system <b>12</b>, for example, revising API-based application service offerings.
An enumerate code type examples follow hereunder: <ul id="ul0008" list-style="none"><li id="ul0008-0001" num="0129">GetUser with version <b>383</b> returns SiteCode of China <ul id="ul0009" list-style="none"><li id="ul0009-0001" num="0130">Example #1: API client has up-to-date version of API schema to communicate with XML Web Service APIs, e.g., GetUser API. Hence, the server system XML Web Service API returns the up-to-date enumeration code value (“China”) for the <Site> enumerated code element.</li></ul></li></ul>
<tables id="TABLE-US-00002" num="00002"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><thead><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry><?xml version= “1.0” encoding=“utf-16”?></entry></row><row><entry><soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”</entry></row><row><entry>xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”</entry></row><row><entry>xmlns:xsd=“http://www.w3.org/2001/XMLSchema”></entry></row><row><entry> <soap:Header></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><RequesterCredentials xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <Credentials xmlns=“urn:marketplace:apis:eBLBaseComponents”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><AppId>dbeek</AppId></entry></row><row><entry /><entry><DevId>apiteam</DevId></entry></row><row><entry /><entry><AuthCert>apiteamcert</AuthCert></entry></row><row><entry /><entry><Username>soapuser</Username></entry></row><row><entry /><entry><Password>password</Password></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> </Credentials></entry></row><row><entry /><entry></RequesterCredentials></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soap:Header></entry></row><row><entry> <soap:Body></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><GetUserRequest xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <MessageID xmlns=“urn:marketplace:apis:eBLBaseComponents”>00cccc08-9875-43a0-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>97b8-8100a586af4f</MessageID></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <Version xmlns=“urn:marketplace:apis:eBLBaseComponents”>383</Version></entry></row><row><entry /><entry> <EndUserIP</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns=“urn:marketplace:apis:eBLBaseComponents”>10.254.45.68</EndUserIP></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <UserID>beekde_cn</UserID></entry></row><row><entry /><entry></GetUserRequest></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soap:Body></entry></row><row><entry></soap:Envelope></entry></row><row><entry><?xml version=“1.0” encoding=“utf-16”?></entry></row><row><entry><soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/”</entry></row><row><entry>xmlns:xsd=“http://www.w3.org/2001/XMLSchema”</entry></row><row><entry>xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”></entry></row><row><entry> <soapenv:Body></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><GetUserResponse xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <ns1:Timestamp xmlns:ns1=“urn:marketplace:apis:eBLBaseComponents”>2004-11-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>24T19:15:52.586Z</ns1:Timestamp></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns2:Ack xmlns:ns2=“urn:marketplace:apis:eBLBaseComponents”>Success</ns2:Ack></entry></row><row><entry /><entry> <ns3:CorrelationID xmlns:ns3=“urn:marketplace:apis:eBLBaseComponents”>00cccc08-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="112pt" align="left" /><colspec colname="2" colwidth="210pt" align="left" /><tbody valign="top"><row><entry>9875-43a0-97b8-8100a586af4f</entry><entry></ns3:CorrelationID></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns4:Version</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns:ns4=“urn:marketplace:apis:eBLBaseComponents”>383</ns4:Version></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns5:Build</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns:ns5=“urn:marketplace:apis:eBLBaseComponents”>20041119132302</ns5:Build></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns6:User xmlns:ns6=“urn:marketplace:apis:eBLBaseComponents”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns6:AboutMePage>false</ns6:AboutMePage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry><ns6:EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wJkoelD5KKpgydj6x9nY+seQ==</ns6:EIASToken></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns6:Email>Invalid Request</ns6:Email></entry></row><row><entry /><entry><ns6:FeedbackScore>1</ns6:FeedbackScore></entry></row><row><entry /><entry><ns6:FeedbackRatingStar>None</ns6:FeedbackRatingStar></entry></row><row><entry /><entry><ns6:IDVerified>false</ns6:IDVerified></entry></row><row><entry /><entry><ns6:NewUser>true</ns6:NewUser></entry></row><row><entry /><entry><ns6:RegistrationDate>2004-11-10T23:14:56.000Z</ns6:RegistrationDate></entry></row><row><entry /><entry><ns6:Site>China</ns6:Site></entry></row><row><entry /><entry><ns6:Status>Confirmed</ns6:Status></entry></row><row><entry /><entry><ns6:UserID>beekde_cn</ns6:UserID></entry></row><row><entry /><entry><ns6:UserIDChanged>false</ns6:UserIDChanged></entry></row><row><entry /><entry><ns6:UserIDLastChanged>2004-11-10T23:14:56.000Z</ns6:UserIDLastChanged></entry></row><row><entry /><entry><ns6:BuyerInfo /></entry></row><row><entry /><entry><ns6:SellerInfo></entry></row><row><entry /><entry> <ns6:AllowPaymentEdit>false</ns6:AllowPaymentEdit></entry></row><row><entry /><entry> <ns6:CheckoutEnabled>true</ns6:CheckoutEnabled></entry></row><row><entry /><entry> <ns6:CIPBankAccountStored>false</ns6:CIPBankAccountStored></entry></row><row><entry /><entry> <ns6:GoodStanding>true</ns6:GoodStanding></entry></row><row><entry /><entry> <ns6:LiveAuctionAuthorized>false</ns6:LiveAuctionAuthorized></entry></row><row><entry /><entry> <ns6:MerchandizingPref>OptIn</ns6:MerchandizingPref></entry></row><row><entry /><entry> <ns6:QualifiesForB2BVAT>false</ns6:QualifiesForB2BVAT></entry></row><row><entry /><entry> <ns6:SellerGuaranteeLevel>NotEligible</ns6:SellerGuaranteeLevel></entry></row><row><entry /><entry> <ns6:SellerLevel>None</ns6:SellerLevel></entry></row><row><entry /><entry> <ns6:SchedulingInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="280pt" align="left" /><tbody valign="top"><row><entry /><entry><ns6:MaxScheduledMinutes>30240</ns6:MaxScheduledMinutes></entry></row><row><entry /><entry><ns6:MinScheduledMinutes>0</ns6:MinScheduledMinutes></entry></row><row><entry /><entry><ns6:MaxScheduledItems>1000</ns6:MaxScheduledItems></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns6:SchedulingInfo></entry></row><row><entry /><entry> <ns6:StoreOwner>false</ns6:StoreOwner></entry></row><row><entry /><entry></ns6:SellerInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns6:User></entry></row><row><entry /><entry></GetUserResponse></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soapenv:Body></entry></row><row><entry></soapenv:Envelope></entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables><ul id="ul0010" list-style="none"><li id="ul0010-0001" num="0000"><ul id="ul0011" list-style="none"><li id="ul0011-0001" num="0132">Example #2: API client has upto-date version of API schema (as specified in <Version> sub-element in GetUserRequest message below) to communicate with XML Web Service APIs: GetUser API. <ul id="ul0012" list-style="none"><li id="ul0012-0001" num="0133">Hence, XML Web Service API returns in response message:</li><li id="ul0012-0002" num="0134">(a) the default enumeration code value (“CustomCode”) for the <Site> enumerated code element; and,</li><li id="ul0012-0003" num="0135">(b) the <Errors> sub-element also includes information to indicate to client that client's version of API schema is out of date:</li></ul></li></ul></li></ul>
<tables id="TABLE-US-00003" num="00003"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="280pt" align="left" /><thead><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /><entry> <Errors></entry></row><row><entry /><entry> <ShortMessage>Warning. Client schema out of date. <ShortMessage></entry></row><row><entry /><entry> <LongMessage>Warning. Client schema out of date. Client Schema Version: 361.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="56pt" align="left" /><colspec colname="2" colwidth="266pt" align="left" /><tbody valign="top"><row><entry /><entry>Latest Schema Version: 347. LongMessage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>GetUser using 361 Version</entry></row><row><entry><?xml version=“1.0” encoding=“utf-16”?></entry></row><row><entry><soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”</entry></row><row><entry>xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”</entry></row><row><entry>xmlns:xsd=“http://www.w3.org/2001/XMLSchema”></entry></row><row><entry> <soap:Header></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><RequesterCredentials xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <Credentials xmlns=“urn:marketplace:apis:eBLBaseComponents”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><AppId>dbeek</AppId></entry></row><row><entry /><entry><DevId>apiteam</DevId></entry></row><row><entry /><entry><AuthCert>apiteamcert</AuthCert></entry></row><row><entry /><entry><Username>soapuser</Username></entry></row><row><entry /><entry><Password>password</Password></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> </Credentials></entry></row><row><entry /><entry></RequesterCredentials></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soap:Header></entry></row><row><entry> <soap:Body></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><GetUserRequest xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <MessageID xmlns=“urn:marketplace:apis:eBLBaseComponents”>b54b5206-901c-43ec-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>865f-86497e3bab5c</MessageID></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <Version xmlns=“urn:marketplace:apis:eBLBaseComponents”>361</Version></entry></row><row><entry /><entry> <EndUserIP</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns=“urn:marketplace:apis:eBLBaseComponents”>10.254.45.68</EndUserIP></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <UserID>beekde_cn</UserID></entry></row><row><entry /><entry></GetUserRequest></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soap:Body></entry></row><row><entry></soap:Envelope></entry></row><row><entry><?xml version=“1.0” encoding=“utf-16”?></entry></row><row><entry><soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/”</entry></row><row><entry>xmlns:xsd=“http://www.w3.org/2001/XMLSchema”</entry></row><row><entry>xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”></entry></row><row><entry> <soapenv:Body></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry><GetUserResponse xmlns=“urn:marketplace:api:marketplaceAPI”></entry></row><row><entry /><entry> <ns1:Timestamp xmlns:ns1=“urn:marketplace:apis:eBLBaseComponents”>2004-11-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>24T19:16:41.445Z</ns1:Timestamp></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns2:Ack xmlns:ns2=“urn:marketplace:apis:eBLBaseComponents”>Warning</ns2:Ack></entry></row><row><entry /><entry> <ns3:CorrelationID xmlns:ns3=“urn:marketplace:apis:eBLBaseComponents”>b54b5206-</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="112pt" align="left" /><colspec colname="2" colwidth="210pt" align="left" /><tbody valign="top"><row><entry>901c-43ec-865f-86497e3bab5c</entry><entry></ns3:CorrelationID></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns4:Errors xmlns:ns4=“urn:marketplace:apis:eBLBaseComponents”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns4:ShortMessage>Warning. Client schema out of date. </ns4:ShortMessage></entry></row><row><entry /><entry><ns4:LongMessage>Warning. Client schema out of date. Client Schema Version: 361.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>marketplace Latest Schema Version: 347. </ns4:LongMessage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns4:ErrorCode>14003</ns4:ErrorCode></entry></row><row><entry /><entry><ns4:SeverityCode>Warning</ns4:SeverityCode></entry></row><row><entry /><entry><ns4:ErrorParameters ParamID=“0”></entry></row><row><entry /><entry> <ns4:Value>361</ns4:Value></entry></row><row><entry /><entry></ns4:ErrorParameters></entry></row><row><entry /><entry><ns4:ErrorParameters ParamID=“1”></entry></row><row><entry /><entry> <ns4:Value>347</ns4:Value></entry></row><row><entry /><entry></ns4:ErrorParameters></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns4:Errors></entry></row><row><entry /><entry> <ns5:Version</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns:ns5=“urn:marketplace:apis:eBLBaseComponents”>383</ns5:Version></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns6:Build</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry>xmlns:ns6=“urn:marketplace:apis:eBLBaseComponents”>20041119132302</ns6:Build></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> <ns7:User xmlns:ns7=“urn:marketplace:apis:eBLBaseComponents”></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:AboutMePage>false</ns7:AboutMePage></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry><ns7:EIASToken>nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wJkoelD5KKpgydj6x9nY+seQ==</ns7:EIASToken></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:Email>Invalid Request</ns7:Email></entry></row><row><entry /><entry><ns7:FeedbackScore>1</ns7:FeedbackScore></entry></row><row><entry /><entry><ns7:FeedbackRatingStar>None</ns7:FeedbackRatingStar></entry></row><row><entry /><entry><ns7:IDVerified>false</ns7:IDVerified></entry></row><row><entry /><entry><ns7:NewUser>true</ns7:NewUser></entry></row><row><entry /><entry><ns7:RegistrationDate>2004-11-10T23:14:56.000Z</ns7:RegistrationDate></entry></row><row><entry /><entry><ns7:Site>CustomCode</ns7:Site></entry></row><row><entry /><entry><ns7:Status>Confirmed</ns7:Status></entry></row><row><entry /><entry><ns7:UserID>beekde_cn</ns7:UserID></entry></row><row><entry /><entry><ns7:UserIDChanged>false</ns7:UserIDChanged></entry></row><row><entry /><entry><ns7:UserIDLastChanged>2004-11-10T23:14:56.000Z</ns7:UserIDLastChanged></entry></row><row><entry /><entry><ns7:BuyerInfo /></entry></row><row><entry /><entry><ns7:SellerInfo></entry></row><row><entry /><entry> <ns7:AllowPaymentEdit>false</ns7:AllowPaymentEdit></entry></row><row><entry /><entry> <ns7:CheckoutEnabled>true</ns7:CheckoutEnabled></entry></row><row><entry /><entry> <ns7:CIPBankAccountStored>false</ns7:CIPBankAccountStored></entry></row><row><entry /><entry> <ns7:GoodStanding>true</ns7:GoodStanding></entry></row><row><entry /><entry> <ns7:LiveAuctionAuthorized>false</ns7:LiveAuctionAuthorized></entry></row><row><entry /><entry> <ns7:MerchandizingPref>OptIn</ns7:MerchandizingPref></entry></row><row><entry /><entry> <ns7:QualifiesForB2BVAT>false</ns7:QualifiesForB2BVAT></entry></row><row><entry /><entry> <ns7:SellerGuaranteeLevel>NotEligible</ns7:SellerGuaranteeLevel></entry></row><row><entry /><entry> <ns7:SellerLevel>None</ns7:SellerLevel></entry></row><row><entry /><entry> <ns7:SchedulingInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="42pt" align="left" /><colspec colname="2" colwidth="280pt" align="left" /><tbody valign="top"><row><entry /><entry><ns7:MaxScheduledMinutes>30240</ns7:MaxScheduledMinutes></entry></row><row><entry /><entry><ns7:MinScheduledMinutes>0</ns7:MinScheduledMinutes></entry></row><row><entry /><entry><ns7:MaxScheduledItems>1000</ns7:MaxScheduledItems></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="28pt" align="left" /><colspec colname="2" colwidth="294pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns7:SchedulingInfo></entry></row><row><entry /><entry> <ns7:StoreOwner>false</ns7:StoreOwner></entry></row><row><entry /><entry></ns7:SellerInfo></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="14pt" align="left" /><colspec colname="2" colwidth="308pt" align="left" /><tbody valign="top"><row><entry /><entry> </ns7:User></entry></row><row><entry /><entry></GetUserResponse></entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="322pt" align="left" /><tbody valign="top"><row><entry> </soapenv:Body></entry></row><row><entry></soapenv:Envelope></entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
<figref idref="DRAWINGS">FIG. <b>11</b></figref> shows a diagrammatic representation of machine in the exemplary form of a computer system <b>300</b> within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The exemplary computer system <b>300</b> includes a processor <b>302</b> (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory <b>304</b> and a static memory <b>306</b>, which communicate with each other via a bus <b>308</b>. The computer system <b>300</b> may further include a video display unit <b>310</b> (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system <b>300</b> also includes an alphanumeric input device <b>312</b> (e.g., a keyboard), a cursor control device <b>314</b> (e.g., a mouse), a disk drive unit <b>316</b>, a signal generation device <b>318</b> (e.g., a speaker) and a network interface device <b>320</b>.
The disk drive unit <b>316</b> includes a machine-readable medium <b>322</b> on which is stored one or more sets of instructions (e.g., software <b>324</b>) embodying any one or more of the methodologies or functions described herein. The software <b>324</b> may also reside, completely or at least partially, within the main memory <b>304</b> and/or within the processor <b>302</b> during execution thereof by the computer system <b>300</b>, the main memory <b>304</b> and the processor <b>302</b> also constituting machine-readable media.
The software <b>324</b> may further be transmitted or received over a network <b>326</b> via the network interface device <b>320</b>.
While the machine-readable medium <b>322</b> is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media and magnetic media.
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Contents6
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both waysCites: the store holds 84 of 85
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO02101510A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US10275291B2 | Cites | United States of America | Applicant |
| US10678607B2 | Cites | United States of America | Applicant |
| US2002078094A1 | Cites | United States of America | Applicant |
| US2003055828A1 | Cites | United States of America | Applicant |
| US2003110176A1 | Cites | United States of America | Applicant |
| US2003191757A1 | Cites | United States of America | Applicant |
| US2004010791A1 | Cites | United States of America | Applicant |
| US2004015783A1 | Cites | United States of America | Applicant |
| US2004044959A1 | Cites | United States of America | Applicant |
| US2004075857A1 | Cites | United States of America | Applicant |
| US2004103098A1 | Cites | United States of America | Applicant |
| US2004216147A1 | Cites | United States of America | Applicant |
| US2005015439A1 | Cites | United States of America | Applicant |
| US2005050056A1 | Cites | United States of America | Applicant |
| WO2005052759A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2005138648A1 | Cites | United States of America | Applicant |
| US2005149543A1 | Cites | United States of America | Applicant |
| US2010223633A1 | Cites | United States of America | Applicant |
| US2011035417A1 | Cites | United States of America | Applicant |
| US2011167430A1 | Cites | United States of America | Applicant |
| US2013125147A1 | Cites | United States of America | Applicant |
| US2014040321A1 | Cites | United States of America | Applicant |
| US2016112536A1 | Cites | United States of America | Applicant |
| US2017220402A1 | Cites | United States of America | Applicant |
| US2018225157A1 | Cites | United States of America | Applicant |
| US2019205181A1 | Cites | United States of America | Applicant |
| US5668991A | Cites | United States of America | Applicant |
| US5717924A | Cites | United States of America | Applicant |
| US5826030A | Cites | United States of America | Applicant |
| US5926636A | Cites | United States of America | Applicant |
| US5937409A | Cites | United States of America | Applicant |
| US6061515A | Cites | United States of America | Applicant |
| US6076090A | Cites | United States of America | Applicant |
| US6119130A | Cites | United States of America | Applicant |
| US6324693B1 | Cites | United States of America | Applicant |
| US6370566B2 | Cites | United States of America | Applicant |
| US6569207B1 | Cites | United States of America | Applicant |
| US6631519B1 | Cites | United States of America | Applicant |
| US6772180B1 | Cites | United States of America | Applicant |
| US6779184B1 | Cites | United States of America | Applicant |
| US6842904B1 | Cites | United States of America | Applicant |
| US6847974B2 | Cites | United States of America | Applicant |
| US7117504B2 | Cites | United States of America | Applicant |
| US7194516B2 | Cites | United States of America | Applicant |
| US7296022B2 | Cites | United States of America | Applicant |
| US7403956B2 | Cites | United States of America | Applicant |
| US7818759B2 | Cites | United States of America | Applicant |
| US7844639B2 | Cites | United States of America | Applicant |
| US7886305B2 | Cites | United States of America | Applicant |
| US8121978B2 | Cites | United States of America | Applicant |
| US8135796B1 | Cites | United States of America | Search report |
| US8352968B2 | Cites | United States of America | Applicant |
| US8606824B2 | Cites | United States of America | Applicant |
| US9058343B2 | Cites | United States of America | Applicant |
| US9201711B2 | Cites | United States of America | Applicant |
| US9697056B2 | Cites | United States of America | Applicant |
| US9965338B2 | Cites | United States of America | Applicant |
| US20020078094A1 | Cites | United States of America | Applicant |
| US20030055828A1 | Cites | United States of America | Applicant |
| US20030110176A1 | Cites | United States of America | Applicant |
| US20030191757A1 | Cites | United States of America | Applicant |
| US20040010791A1 | Cites | United States of America | Applicant |
| US20040015783A1 | Cites | United States of America | Applicant |
| US20040044959A1 | Cites | United States of America | Applicant |
| US20040075857A1 | Cites | United States of America | Applicant |
| US20040103098A1 | Cites | United States of America | Applicant |
| US20040216147A1 | Cites | United States of America | Applicant |
| US20050015439A1 | Cites | United States of America | Applicant |
| US20050050056A1 | Cites | United States of America | Applicant |
| US20050138648A1 | Cites | United States of America | Applicant |
| US20050149543A1 | Cites | United States of America | Applicant |
| US20100223633A1 | Cites | United States of America | Applicant |
| US20110035417A1 | Cites | United States of America | Applicant |
| US20110167430A1 | Cites | United States of America | Applicant |
| US20130125147A1 | Cites | United States of America | Applicant |
| US20140040321A1 | Cites | United States of America | Applicant |
| US20160112536A1 | Cites | United States of America | Applicant |
| US20170220402A1 | Cites | United States of America | Applicant |
| US20180225157A1 | Cites | United States of America | Applicant |
| US20190205181A1 | Cites | United States of America | Applicant |
| WO2002101510A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO2005052759A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO2005052759A3 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| Response to Final Office Action filed on Apr. 23, 2015 for U.S. Appl. No. 13/735,574, dated Dec. 23, 2014, 6 pages. | Non-patent | – | Applicant |
| Response to Final Office Action filed on Jun. 18, 2015 for 2015 for U.S. Appl. No. 13/735,574 dated Dec. 23, 2015, 6 pages. | Non-patent | – | Applicant |
| Response to Non-Final Office Action filed on Nov. 17, 2014, for U.S. Appl. No. 13/735,574, dated Jun. 16, 2014, 8 pages. | Non-patent | – | Applicant |
| Non-Final Office Action received for U.S. Appl. No. 14/051,750, dated Oct. 15, 2014, 10 pages. | Non-patent | – | Applicant |
| Notice of Allowance received for U.S. Appl. No. 14/051,750, dated Feb. 13, 2015, 11 pages. | Non-patent | – | Applicant |
| Preliminary Amendment received for U.S. Appl. No. 14/051,750, filed Oct. 15, 2013, 8 pages. | Non-patent | – | Applicant |
| Response to Non-Final Office Action filed on Jan. 14, 2015 for U.S. Appl. No. 14/051,750, dated Oct. 15, 2014, 10 pages. | Non-patent | – | Applicant |
| Preliminary Amendment received for U.S. Appl. No. 14/739,098, filed Jun. 19, 2015, 8 pages. | Non-patent | – | Applicant |
| Non-Final Office Action received for U.S. Appl. No. 14/920,949, dated Oct. 26, 2016, 10 pages. | Non-patent | – | Applicant |
| Notice of Allowance received for U.S. Appl. No. 14/920,949, dated Mar. 1, 2017, 7 pages. | Non-patent | – | Applicant |
| Response to Non-Final Office Action filed on Jan. 19, 2017 for U.S. Appl. No. 14/920,949, dated Oct. 26, 2016, 20 pages. | Non-patent | – | Applicant |
| Notice of Allowance received for U.S. Appl. No. 15/488,747, dated Jan. 19, 2018, 7 Pages. | Non-patent | – | Applicant |
| Preinterview First Office Action received for U.S. Appl. No. 15/488,747, dated Oct. 4, 2017, 3 pages. | Non-patent | – | Applicant |
| Preliminary Amendment filed for U.S. Appl. No. 15/488,747, dated May 8, 2017, 6 Pages. | Non-patent | – | Applicant |
| Response to Preinterview First Office Action filed on Oct. 19, 2017 for U.S. Appl. No. 15/488,747, dated Oct. 4, 2017, 6 pages. | Non-patent | – | Applicant |
| Non-Final Office Action received for U.S. Appl. No. 15/945,093, dated Sep. 21, 2018, 6 pages. | Non-patent | – | Applicant |
30 members in 2 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 52478203 | United States of America | P | |
| 99776704 | United States of America | A | |
| 77198110 | United States of America | A | |
| 98446111 | United States of America | A | |
| 201313735574 | United States of America | A | |
| 201514920949 | United States of America | A | |
| 201715488747 | United States of America | A | |
| 201815945093 | United States of America | A | |
| 201916299941 | United States of America | A |
Members30
| Document | Office | Kind | |
|---|---|---|---|
| WO2005052759A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2005138648A1 | United States of America | A1 | |
| US2005149543A1 | United States of America | A1 | |
| WO2005052759A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2010223633A1 | United States of America | A1 | |
| US7818759B2 | United States of America | B2 | |
| US7844639B2 | United States of America | B2 | |
| US7886305B2 | United States of America | B2 | |
| US2011035417A1 | United States of America | A1 | |
| US2011167430A1 | United States of America | A1 | |
| US8352968B2 | United States of America | B2 | |
| US2013125147A1 | United States of America | A1 | |
| US8606824B2 | United States of America | B2 | |
| US2014040321A1 | United States of America | A1 | |
| US9058343B2 | United States of America | B2 | |
| US2015278257A1 | United States of America | A1 | |
| US9201711B2 | United States of America | B2 | |
| US2016112536A1 | United States of America | A1 | |
| US9697056B2 | United States of America | B2 | |
| US2017220402A1 | United States of America | A1 | |
| US9965338B2 | United States of America | B2 | |
| US10031929B2 | United States of America | B2 | |
| US2018225157A1 | United States of America | A1 | |
| US2019057116A1 | United States of America | A1 | |
| US10275291B2 | United States of America | B2 | |
| US2019205181A1 | United States of America | A1 | |
| US10678607B2 | United States of America | B2 | |
| US2020301762A1 | United States of America | A1 | |
| US11556397B2This record | United States of America | B2 | |
| US2023106120A1 | United States of America | A1 |
74 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Terminal Disclaimer FiledDIST | DIST | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Response after Non-Final ActionA... | A... | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Interview Summary RecordEXIN | EXIN | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Dispatched from OIPEOIPE | OIPE | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Cleared by L&R (LARS)L128 | L128 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
12 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT VERIFIEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNON FINAL ACTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| Information on status: application discontinuationFINAL REJECTION MAILEDSTCB | STCB | |
| Information on status: patent application and granting procedure in generalFINAL REJECTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNON FINAL ACTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| AssignmentAS | AS | |
| Fee payment procedureENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP |
Numbers
- Publication
- 11556397
- Application
- 16867935
Titles
- English
- API and business language schema design framework for message exchanges
Patent term adjustment
- A delay
- +252 daysthe office missed an examination deadline
- Net adjustment
- 252 days
Classification
- CPC, 10
- G06F9/54
- H04L67/02
- G06F9/547
- H04L67/10
- G06F9/548
- G06F2209/541
- G06Q30/08
- G06F9/451
- H04L67/01
- H04L67/133
- IPC, 7
- G06F9 54
- H04L67 01
- H04L67 133
- G06Q30 08
- G06F
- G06F3 00
- G06F9 46