Example use cases and deletion scenarios
Understand common deletion scenarios that you may encounter.
The example describes a user scenario, the settings on Aurea CRM, and the subsequent processing of the delete command by CRM.interface for each use case. Six use cases are described.
Connector server settings
- Appointments are synchronized to CRM as #1 (Visit) contact type.
- Contact types enabled for synchronization from CRM: #1 (Visit), #3 (Event).
- Synchronization time frame: 0 days in the past, 21 days into the future.
- Deletion time frame: 0 days in the past, 7 days into the future.
- Default DeleteSync handler in forms.xml
:
<SyncHandler type="DeleteSync"> <condition> <cond tablename="Contact" fieldname="FreeC1" op="!=" value="deleted"/> <cond tablename="Contact" fieldname="Contact" op="!=" value="#5"/> </condition> </SyncHandler>
User activity scenario
User synchronized the following items with Aurea CRM:
- An email received today (synchronized with contact type #5).
- App1: a single appointment scheduled for today + 3 days.
- App2: a single appointment scheduled for today + 11 days.
- App3: a recurring appointment scheduled for days today – 10 days and today + 20 days occurring every day.
In this case, delete requests are processed by CRM.interface as described below:
- an email record won’t be sent because its contact type was not requested.
- App1 is sent by the Get command because:
- It is scheduled for today + 3 days which is within the deletion time frame
- It has contact type #1
- App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame
- App3: only occurrences falling within deletion sync frame will be sent by the Get command.
In this case, delete requests are processed by CRM.interface as described below:
- An email record won’t be sent because its contact type was not requested.
- App1 will be sent in Delete command because:
- It is scheduled for today + 3 days which is within deletion time frame
- It has contact type #1
- App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
- App3: only occurrences falling within deletion sync frame will be sent in Get commands.
In this case, delete requests are processed by CRM.interface as described below:
- an email record won’t be sent because its contact type was not requested.
- App1 will be sent in Get command because:
- It is scheduled for today + 3 days which is within deletion time frame
- It has contact type #1
- App2 won’t be sent because it is scheduled for today + 11 days which is not within the deletion time frame.
- App3: only occurrences falling within the deletion sync frame will be sent in Get commands.
In this case, delete requests are processed by CRM.interface as described below:
- an email record won’t be sent because its contact type was not requested.
- App1 will be sent in Get command because:
- It is scheduled for today + 3 days which is within deletion time frame.
- It has contact type #1.
- App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
- App3
- occurrences scheduled for today + 3 and today + 5 days will be sent in Delete commands.
- other occurrences falling within deletion sync frame will be sent in Get commands.
- occurrence scheduled for today + 8 days won’t be sent at all (it’s outside of deletion time frame).
This causes the connector to send a 410 status in response to a Get command sent by interface for App1 record in CRM. Assuming the default configuration, the App1 record in CRM gets marked as deleted by setting the field FreeC1 = “deleted”.
In this case, delete requests are processed by CRM.interface as described below:
- an email record won’t be sent because its contact type was not requested.
- App1 won’t be sent because it is filtered out by condition FreeC1 != “deleted” in DeleteSync handler.
- App2 won’t be sent because it is scheduled for today + 11 days which is not within deletion time frame.
- App3: only occurrences falling within deletion sync frame will be sent in Get commands.
In this case, delete requests are processed by CRM.interface as described below:
- an email record won’t be sent because it is filtered out by condition Contact != “#5” in DeleteSync handler.
- App1 will be sent in Get command because:
- It is scheduled for today + 3 days which is within deletion time frame
- It has contact type #1
- App2 won’t be sent because it is scheduled for today + 11 days which is not within the tdeletion time frame.
- App3: only occurrences falling within the deletion sync frame will be sent in Get commands.