younifyd
Menu

productsSearch

Search products (not projections) with a filter/query expression, sorting and paging.

Use it in a workflow

  1. Add a step and choose the Commercetools connector.
  2. Pick the productsSearch action (under Products).
  3. Fill in the fields below, then reference the result from later steps as {{productssearch.response.data}}.

Query

This is the query the action sends by default. Edit it in the step's Query field to change which fields come back.

graphql
query ProductsSearch($query: SearchQueryInput, $postFilter: SearchQueryInput, $sort: [SearchSortingInput!], $limit: Int, $offset: Int, $markMatchingVariants: Boolean, $facets: [ProductSearchFacetExpressionInput!]) {
  productsSearch(
    query: $query
    postFilter: $postFilter
    sort: $sort
    limit: $limit
    offset: $offset
    markMatchingVariants: $markMatchingVariants
    facets: $facets
  ) {
    total
    offset
    limit
    results {
      id
    }
    facets {
      name
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

queryobject
andarray<object>
orarray<object>
notarray<object>
filterarray<object>12 fields
rangeobject5 fields
fullTextobject6 fields
fullTextPrefixobject6 fields
existsobject4 fields
prefixobject7 fields
wildcardobject7 fields
exactobject7 fields
fuzzyobject7 fields
postFilterobject
andarray<object>
orarray<object>
notarray<object>
filterarray<object>12 fields
rangeobject5 fields
fullTextobject6 fields
fullTextPrefixobject6 fields
existsobject4 fields
prefixobject7 fields
wildcardobject7 fields
exactobject7 fields
fuzzyobject7 fields
sortarray<object>
fieldstringrequired
languagestring
orderstringrequired

One ofascdesc

modestring

One ofminmaxavgsum

fieldTypestring

One ofbooleantextltextenumlenumnumbermoneydatedatetimetimereferenceset_booleanset_textset_ltextset_enumset_lenumset_numberset_moneyset_dateset_datetimeset_timeset_reference

filterobject12 fields
limitnumber
offsetnumber
markMatchingVariantsboolean
facetsarray<object>
countobject4 fields
distinctobject11 fields
rangesobject8 fields
statsobject5 fields
json
{
  "query": {
    "and": [
      {}
    ],
    "or": [
      {}
    ],
    "not": [
      {}
    ],
    "filter": [
      {
        "and": "string",
        "or": "string",
        "not": "string",
        "filter": "string",
        "range": "string",
        "fullText": "string",
        "fullTextPrefix": "string",
        "exists": "string",
        "prefix": "string",
        "wildcard": "string",
        "exact": "string",
        "fuzzy": "string"
      }
    ],
    "range": {
      "date": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "datetime": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "time": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "long": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "float": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      }
    },
    "fullText": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    },
    "fullTextPrefix": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    },
    "exists": {
      "field": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string"
    },
    "prefix": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "wildcard": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "exact": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "fuzzy": {
      "field": "string",
      "value": "string",
      "level": 0,
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    }
  },
  "postFilter": {
    "and": [
      {}
    ],
    "or": [
      {}
    ],
    "not": [
      {}
    ],
    "filter": [
      {
        "and": "string",
        "or": "string",
        "not": "string",
        "filter": "string",
        "range": "string",
        "fullText": "string",
        "fullTextPrefix": "string",
        "exists": "string",
        "prefix": "string",
        "wildcard": "string",
        "exact": "string",
        "fuzzy": "string"
      }
    ],
    "range": {
      "date": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "datetime": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "time": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "long": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      },
      "float": {
        "field": "string",
        "boost": "string",
        "fieldType": "string",
        "gte": "string",
        "gt": "string",
        "lte": "string",
        "lt": "string"
      }
    },
    "fullText": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    },
    "fullTextPrefix": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    },
    "exists": {
      "field": "string",
      "boost": 0,
      "fieldType": "boolean",
      "language": "string"
    },
    "prefix": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "wildcard": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "exact": {
      "field": "string",
      "value": "string",
      "boost": 0,
      "fieldType": "boolean",
      "gte": 0,
      "language": "string",
      "caseInsensitive": false
    },
    "fuzzy": {
      "field": "string",
      "value": "string",
      "level": 0,
      "boost": 0,
      "fieldType": "boolean",
      "language": "string",
      "mustMatch": "any"
    }
  },
  "sort": [
    {
      "field": "string",
      "order": "asc",
      "language": "string",
      "mode": "min",
      "fieldType": "boolean",
      "filter": {
        "and": "string",
        "or": "string",
        "not": "string",
        "filter": "string",
        "range": "string",
        "fullText": "string",
        "fullTextPrefix": "string",
        "exists": "string",
        "prefix": "string",
        "wildcard": "string",
        "exact": "string",
        "fuzzy": "string"
      }
    }
  ],
  "limit": 0,
  "offset": 0,
  "markMatchingVariants": false,
  "facets": [
    {
      "count": {
        "name": "string",
        "scope": "string",
        "filter": "string",
        "level": "string"
      },
      "distinct": {
        "name": "string",
        "field": "string",
        "scope": "string",
        "filter": "string",
        "level": "string",
        "includes": "string",
        "sort": "string",
        "limit": "string",
        "language": "string",
        "fieldType": "string",
        "missing": "string"
      },
      "ranges": {
        "name": "string",
        "field": "string",
        "ranges": "string",
        "scope": "string",
        "filter": "string",
        "level": "string",
        "language": "string",
        "fieldType": "string"
      },
      "stats": {
        "name": "string",
        "field": "string",
        "scope": "string",
        "filter": "string",
        "fieldType": "string"
      }
    }
  ]
}

Response

Read the result with {{productssearch.response.data.data.productsSearch}}. If the API returns errors, the step fails and they are at {{productssearch.response.data.errors}}.

totalstring
offsetnumber
limitnumber
resultsarray<object>
idobject
facetsarray<object>
nameobject

Need more? See the Commercetools guide for connection setup and behaviour shared by every action.

Was this page helpful?