SAP Open Connectors

Infusionsoft ERP Querying

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 OperatorSAP 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.

Note: The reference fields can be found here: https://developer.infusionsoft.com/docs/table-schema/ . Since there is no API method at the moment that can retrieve the table, SAP stores these fields and passes them to the vendor; without them, the vendor would not give back the necessary fields as a response.