Advanced JSON-based search

This example pipeline demonstrates how to search for entities from the Syndigo server using a JSON file that contains the search criteria.

The search query: Find those SKUs where the size is either 30 or 32, AND vendor is MejDaw and color is 1999.

Configure the Syndigo Search Snap as follows:
  • Entity: sku.
  • Use editor for advanced criteria: Selected
  • Click the Edit criteria button and specify the search criteria as follows:
    {
    								"and": [
    								{
    								"attributesCriterion": [
    								{
    								"size": {
    								"exacts": ["30", "32"],
    								"type": "_STRING"
    								}
    								}
    								]
    								},
    								{
    								"attributesCriterion": [
    								{
    								"primaryvendor": {
    								"exact": ["MejDaw"],
    								"type": "_STRING"
    								}
    								},
    								{
    								"color": {
    								"exacts": ["1999"],
    								"type": "_STRING"
    								}
    								}
    								]
    								}
    								]
    }
  • Sort settings:
    • Order by attributes:
      • Name: mdmid
      • Sort order: ASC
      • Name: mdmname
      • Sort order: ASC
  • Simplify response: Selected
  • Relationships:
    • Relationship:
      • hasdocuments-document
      • hasvideo-video
      • ischildofproductmodel-productmodel
      • crosssell-sku
  • Leave Fetch size and UOM separator with the respective default values - 100 to retrieve 100 records per fetch and ## between an attribute value and its UOM.

On validation, the Snap displays the information on the entities that match the specified criteria.

Syndigo Search Snap configuration Syndigo Search Snap output

Syndigo Search Snap configuration


Syndigo Search Snap output

Here is another search criteria JSON for reference:
{
      			"or":[
      			{
      			"or": [
      			{
      			"attributesCriterion": [
      			{
      			"color": {
      			"hasvalue": [
      			true
      			],
      			"type": "_STRING"
      			}
      			},
      			{
      			"status": {
      			"exact": ["Active"],
      			"type": "_STRING"
      			}
      			}
      			] // color Red and status Active // color has value and status active
      			},
      			{
      			"attributesCriterion": [
      			{
      			"status": {
      			"exact": [
      			"Active"
      			],
      			"type": "_STRING"
      			}
      			}
      			]
      			}
      			] //-- OR bracket end ->  (color Red and status Active ) OR (status Active)
      			},
      			{
      			"attributesCriterion": [
      			{
      			"standardcolor": {
      			"exact": [
      			"Red"
      			],
      			"type": "_STRING"
      			}
      			},
      			{
      			"size": {
      			"exacts": [
      			"10",
      			"11"
      			],
      			"type": "_STRING"
      			}
      			}
      			] // ( (color Red and status Active ) OR (status Active) ) AND (std color Dark red and size (10,11))
      			},
      			{
      			"attributesCriterion": [
      			{
      			"status": {
      			"exact": [
      			"Active"
      			],
      			"type": "_STRING"
      			}
      			}
      			]
      			} // ((color Red and status Active ) OR (status Active) ) AND (std color Dark red and size (10,11)) AND (status Active)
      			]
}
To successfully reuse pipelines:
  1. Download and import the pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide pipeline parameters as applicable.