The Open Connectors Query Language (OCNQL) provides a standard way to search across all of our connectors. Rather than having users research how to query each resource at a provider, we've normalized your search experience. SAP Open Connectors translates your queries to the API provider's search syntax. OCNQL represents the "where" portion of a typical query that can include many other components like field selection, sorting, and pagination. For more details on Querying, see Querying with OCNQL.
To determine whether where clause is supported for an object, you can make an API call to object/{objectName}/metadata
while providing the Connector version and check for "filterable"="true".
Use OCNQL to query the following endpoints:
- GET /accounts
- GET /bulk/jobs
- GET /contacts
- GET /{objectName}
- GET /{objectName}/{objectId}/{childObjectName}
- GET /leads
- GET/notes
- GET/opportunities
- GET/users
We use the vendor’s DataService.query for most of the GET calls, since there is no GET or GETById directly exposed as APIs or webservices. For DataService.query, the table columns (field names) need to be passed to vendor in body. Users connecting to Infusionsoft ERP from SAP can use OCNQL to query the object.
Below is the comparison of vendor vs. OCNQL operators:
Vendor Operator | SAP Operator |
---|---|
~<>~ | != |
= | = |
~>~ | > |
~<~ | < |
~<=~ | <= |
~>=~ | >= |
~null~ | IS NULL |
However, objects/{objectName}/metadata
has ready info regarding querying.
In the above image, we are making a call to GET/ objects/{sales-orders}/metadata
and we can see the filterable operators and the path which is the field to filter by.