Search

New standard of Core API supports search endpoints for various top level business entities. For example, you can search customers, search employees and search orders. An arbitrary query parameter called query will be available to allow for search on various entity fields. There are two types of search offered through API endpoints: Advanced Search and Basic Search. Advanced Search supports more complex search queries allowing you to search on multiple fields, nested fields and offers wild card support. With Basic Search you are able to search on specific data fields such as store.name.

Advanced Search Request Format

query (Required) - This is the search query string. Reference Search Query Language section for syntax and semantic logic.

Example search request: /crm/customers/search?query=firstName:Bob

Advanced Search Query Language Syntax

All search endpoints follow the Search Query Language syntax.

The query clause consists of a field , an operator and it’s value:

?query=firstName:Bob
  • field (All supported fields available for search will be denoted in the endpoint API reference): firstName

  • operators: :

  • value: Bob

Wild Card Support

Generic keyword with wildcard support: ?query=Bob*

Searching on multiple fields (AND)

Ability get granular with search: query=firstName:Bob;email:bob@example.com , delimited by ;.

Searching on nested fields

Attributes in objects should be filterable using the syntax attribute.attr_name : attribute.allow_email:true

Complex Queries using AND and OR

By default all of the clauses are AND together. To define an OR query, you can provide the | character between both sides of the OR in the clause.

Examples

Search for all customers with: firstName = Bob OR lastName = Danger

?query=firstName:Bob|lastName:Danger;

Search for all customers with: firstName = Bob OR firstName = Doug AND orderTotal = 1000

?query=firstName:bob|firstName:doug;orderTotal:1000

Basic Search Format

The query clause consists of providing a query parameter a value to search on:

?query="ABC_store_name"

Search Response Format

The search response format is the standard list response format that you will see with any search endpoint (advanced or basic) that returns a list of resources:

{
  "resources": [
        {...}
  ],
  "errors": [
        {...}
  ],
  "totalRecords": 0,
  "hasMore": true,
  "nextPageURL": "string"
}

Refer to Pagination and Sorting document for more on how to access multiple results through hasMore and nextPageURL and sort search results using sort and sort_direction parameters.