Standards for Technology in Automotive Retail

 
 Home -  News Feed 

4.4. Pull Web Service Filter Criteria

As discussed in Chapter 2, Common Components, the Pull web service was enhanced for 2008 with a Filter component. This component allows the service requestor to provide optional criteria that the service provider will use to restrict the number and types of BODs that will be returned in the response message. Additionally, filters can be defined as persistent, allowing them to be re-used across multiple Pull requests.

Figure 4.1. PullMessage Filter Type

PullMessage Filter Type

Each service requestor and service provider must implement the code that provides support for the filter component. STAR will provide the specifications for the filter component, however each implementor will be free to choose the method in which they implement the functionality.

4.4.1. Filter Elements

The Filter component consists of the following three elements:

Element

Occurrence

Description

filterConnection

Complex Type

Used to define persistence for the filter

receiptIDs

Complex Type

Used by service requestor to confirm the receipt of each message requested

filterCriteria

Complex Type

List of filter criteria to apply to the pull request

The complete list of elements within the filter criteria component are shown below.

Item

Type

Description

PullMessage

Complex Type

maxItems

Attribute

The maximum number of items to be sent. The service may send less than the number requested but should never send more than the number requested in any one pulling session.

filter

Complex Type

filterConnection

Element

connectionID

Attribute

A unique connection id for the filter. Used during persistance of a filter.

destroy

Attribute

The destroy attribute of FilterConnection will be set to true when the client decides to destroy a persisted filter before all of its applicable messages have been pulled. If and when the client does pull all of the persisted filter's applicable messages, then the web service will automatically destroy the connection and return an empty pull response. If the client does not pull all of a persisted filter's applicable messages and does not explicitly destroy the persisted filter by setting the destroy attribute to true, then based on an agreed upon out-of-band policy, the web service will expire the persisted filter after X number of days.

recieptIDs

Complex Type

receiptID

Element

An unbounded list of content ids that have been previously received since the last pull request.

filterCriteria

Complex Type

A list of filter criterias to be applied to pulling.

criteriaList

Complex Type

Criteria contains a unbounded list of filter criteria that can be applied to a queue. If included it is used to specify what should be retrieved. More than one criteria can be specified. Each criteria is it's own filter.

verb

Element

The OAGIS or STAR Verb. i.e. Process, Acknowledge, Notify, etc

operation

Attribute

Enumerated List: "and", "or", "not"

noun

Element

The OAGIS or STAR Noun for a particular BOD. i.e. PartsOrder, CreditApplication, FinancialStatement, etc.

operation

Attribute

Enumerated List: "and", "or", "not"

serviceID

Element

identifies the particular service to or from which a message is being sent (e.g. Parts:Orders)

operation

Attribute

Enumerated List: "and", "or", "not"

partyID

Element

Assigning Organization Party Id

operation

Attribute

Enumerated List: "and", "or", "not"

startDateTime

Element

Indicates the beginning time/date range of messages to be retrieved during this pull session. Based on the time/date at which each message was originally queued for delivery.

operation

Attribute

Enumerated List: "and", "or", "not"

endDateTime

Element

Indicates the ending time/date range of messages to be retrieved during this pull session. Based on the time/date at which each message was originally queued for delivery.

operation

Attribute

Enumerated List: "and", "or", "not"

pullStatus

Element

The status of an item to be pulled. (i.e. Pulled, Ready, etc.)

operation

Attribute

Enumerated List: "and", "or", "not"

communicatorID

Element

Identifer of the party on behalf of which the pull call was submitted. This could be the ID of the calling party or it may be an alternate party if the pull request is being proxied by another service.

operation

Attribute

Enumerated List: "and", "or", "not"

predefined

Element

These are complex queries or queries that can't be represented using the current filter criteria. They may contain if then else logic, and are identified by a name. (i.e. GetWidgetsGreaterThan10)

operation

Attribute

Enumerated List: "and", "or", "not"