Infusionsoft DataService.query 或按标签查找联系人

Infusionsoft DataService.query or find Contacts by tags

我的任务是使用 InfusionSoft API 按标签查找联系人。现有ID抓取数据很简单,但如果我需要排除一些标签怎么办?

例如,是否可以获取标签 ID 为 111 的联系人,但跳过标签 ID 为 222 的联系人?

我可以看到在ContactGroupAssign table 中有一个字段Contact.Groups,它有所有标签id,但我找不到执行查询的方法NOT LIKE

是否可以在InfusionSoft的DataService.query中使用NOT LIKE?或者也许还有另一种方法可以通过标签获取联系人?

我使用 PHP SDK,但我不想在我这边管理数据。我知道我可以检索数据,然后在 foreach 中删除其中的一些数据,但我更愿意提出更好的查询请求。

另外: 是否可以在查询中使用 OR/AND?例如,GroupId => 111||222

Infusionsoft API 文档已更新,以下是所有支持的查询运算符的列表:https://developer.infusionsoft.com/docs/xml-rpc/#data-query-a-data-table。支持不等于和 IN 语句。

InfusionSoft 根据要求更新了他们的文档,您可以使用 IN 和 NOT(嗯,不等于):

1. Greater Than ex: LastUpdated => '~>~ 2017-01-01 00:00:00' 
2. Greater Than or Equal to ex: LastUpdated => '~>=~ 2017-01-01 00:00:00'
3. Less Than ex: LastUpdated => '~<~ 2017-01-01 00:00:00'
4. Less Than or Equal to ex: LastUpdated => '~<=~ 2017-01-01 00:00:00'
5. Not Equal to ex: Id => '~<>~123'
6. Is Null ex: FirstName => '~null~'
7. IN statement ex: Id => [1,2,3,4]**
*The raw xml, will need be html encoded for '>' and '<'
**IN statements only work on Id fields and are limited to 1000 ids

https://developer.infusionsoft.com/docs/xml-rpc/#data-query-a-data-table