Краткий ответ: вы правы: API не поддерживает поиск записей CIM. И из-за того, как он структурирован, нет простого способа использовать только CIM для поиска всех записей.
Чтобы искать их описанным вами способом:
- Используйте getCustomerProfileIdsRequest, чтобы получить все сохраненные идентификаторы профиля клиента.
- Для каждого из CustomerProfileIds, возвращаемых этим запросом, используйте getCustomerProfileRequest, чтобы получить конкретную запись для этого клиента.
- Изучите каждую запись в то время, ищите критерий, который вы хотите, сохраняя соответствующие записи в некоторой другой структуре; класс, многомерный массив, таблица данных ADO, что угодно.
Да, это обременительно. Но это буквально единственный способ продолжить.
Ранее упомянутый API отчетности применяется только к транзакциям, а не к Менеджеру информации о клиентах.
Обратите внимание, что вы можете собирать данные, которые вам нужны, во время записи транзакции, и если вы не сделаете их личными, вы можете хранить их локально.
Например, вы можете выполнить запрос на все записи вашего профиля клиента CIM и сохранить состояние каждого клиента в локальной базе данных.
Если все, что вы храните, это состояние, то вы можете работать с этими записями, потому что ничто не связывает состояние с конкретной записью клиента. В дальнейшем вы можете написать логику для обновления локального хранилища записей о состоянии одновременно с созданием / обновлением записей профиля клиента.
Я понимаю, что это, вероятно, не то, что вы хотели услышать, а их перерывы.