pixi Developer & Integration Documentation

pixiItemGetByTags

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.