Description
API call for getting a list of items filtered by assigned item tags
Request Parameters
| # |
Name |
Type |
Required |
Example |
Description |
| 1 |
TagFilter |
string |
1 |
See Additional Information for the XML structure |
Filter operator |
| 2 |
PartialTagNameMatch |
boolean |
0 |
0 or 1 |
Switch: Enables partial matching for tag name |
| 3 |
StrictANDCondition |
boolean |
0 |
0 or 1 |
Switch: Only exact matches for AND condition will be shown |
Request body
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dem="https://api.pixi.eu/soap/demosandbox/">
<soapenv:Header/>
<soapenv:Body>
<dem:pixiItemGetByTags>
<dem:TagFilter>See Additional Information for the XML structure</dem:TagFilter>
<dem:PartialTagNameMatch>0 or 1</dem:PartialTagNameMatch>
<dem:StrictANDCondition>0 or 1</dem:StrictANDCondition>
</dem:pixiItemGetByTags>
</soapenv:Body>
</soapenv:Envelope>
Response
Body 1: Items list
| # |
Name |
Type |
Description |
| 1 |
ItemId |
integer |
Item Id |
| 2 |
ItemNrInt |
string |
Shop item number |
| 3 |
ItemName |
string |
Item name |
Body 2: Error response
| # |
Name |
Type |
Description |
| 1 |
Operation |
string |
Filter operation (AND/OR/NOT) |
| 2 |
XMLTagId |
string |
TagId node value provided in XML |
| 3 |
XMLTagName |
string |
TagName node value provided in XML |
| 4 |
TagId |
integer |
TagId found in the database |
| 5 |
TagName |
string |
TagName found in the database |
| 6 |
Status |
string |
Filter line status (OK/ERROR) |
| 7 |
StatusMessage |
string |
Filter line status description |
Additional Notes
XML structure for @TagFilter parameter:
<TagFilter>
<AND>
<TagName>Batch Number</TagName>
<TagName>Best Before Date</TagName>
<TagId>-5</TagId>
</AND>
<OR>
<TagName>Personalized Item</TagName>
</OR>
<NOT>
<TagName>SN</TagName>
</NOT>
</TagFilter>
Sample to find all items with tag discount:
<TagFilter>
<AND/>
<OR>
<TagName>discount</TagName>
</OR>
<NOT/>
</TagFilter>
PartialTagNameMatch = 1
Items with tag "discount 10" or "discount 20" are returned
Sample to find items that have multiple tags assigned to them:
<TagFilter>
<AND>
<TagName>be</TagName>
</AND>
<OR/>
<NOT/>
</TagFilter>
PartialTagNameMatch = 1
StrictANDCondition = 1
Items that have "Best Before date" and "Batch Number" are returned. Since we have the StrictANDCondition set to 1 the api call returns only items that have only those two tags assigned.
In case we set parameter StrictANDCondition to 0, then the call will also return items that have those two tags and any other tag assigned.
Sample to find items that have multiple tags assigned to them and exclude some system tags:
<TagFilter>
<AND>
<TagName>Best Before date</TagName>
<TagName>Batch Number</TagName>
</AND>
<OR/>
<NOT>
<TagName>A</TagName>
<TagName>B</TagName>
</NOT>
</TagFilter>
PartialTagNameMatch = 0
Only items that have item tag "Best Before date" and "Batch Number" are returned. But it they also have system tag "A" or "B" they are ignored.