Hello,
I created a two-way sync program using "Managed API" between Exchange and a custom CRM system, using the commands SyncFolderHierarchy and SyncFolderItems. I store the SyncState's in the CRM system per each Folder. Everything works ok, but there is an issue. When I sync an Item from the custom CRM to Exchange, Exchange re-syncs it back to the custom CRM. For instance, when I add an Item to Exchange "programmically" (i.e. a Contact), Exchange treats it as a change, and includes it when I call SyncFolderItems the next time. Then it gets "re-synced" back to the custom CRM. I have a work-around that checks if the ItemID already exists in the custom system before adding, but this is far from ideal because of performance reasons. I tried to use the "IgnoredItemList" parameter in the SyncFolderItems function, but it needs a list of ItemIds that cannot be created without calling "GetItem" etc. This is because it doesn't allow you to set the ChangeKey manually (read only).
So my question is, is there a way to set items to be ignored when added (modified and deleted) "programmically" so that they don't show up in the next SyncFolderItems call? Or, is there some other way to solve this problem that I am not aware of. I have to assume this has come up before.
Thanks a lot