Hi Eshwar,
Technically, you can filter only the removed campaigns in the get call to CampaignService and pass the list of removed campaignIds to your
CustomerSyncSelector.
SelectorBuilder builder = new SelectorBuilder();
Selector selector = builder
.fields(CampaignField.Id, CampaignField.Name)
.equals(CampaignField.Status, "REMOVED".toString())
.build();
CampaignPage campaigns = campaignService.get(selector);
If there were any recent changes made to the campaign, those changes will be available even after removing the campaign. For example, I added a criterion to a campaign and then deleted the campaign but I was still able to fetch the changes after the campaign was removed (campaign IDs were changed to random numbers).
Before Removing:
Campaign with ID 123456789 was changed:
Campaign changed status: 'FIELDS_CHANGED'
Added campaign criteria: {1003,264467738550}
Removed campaign criteria: {}
After Removing:
Campaign with ID 123456789 was changed:
Campaign changed status: 'FIELDS_CHANGED'
Added campaign criteria: {1003,264467738550}
Removed campaign criteria: {}
Hope this helps. Please revert if you have additional questions.