| Standards for Technology in Automotive Retail |
| Home - News Feed

4.4. Pull Web Service Filter Criteria
Prev | Chapter 4. Generic Web Services Specifications | Next

## 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

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"

Prev | Up | Next
4.3. Benefits and Considerations | Home | 4.5. Generic WSDL Example