MS представила отслеживание изменений для этой цели.
Функция отслеживания изменений в Dynamics 365 для взаимодействия с клиентами. Взаимодействие с клиентами предоставляет способ обеспечить синхронизацию данных эффективным способом, обнаруживая, какие данные изменились с момента первоначального извлечения или последней синхронизации.
Пример примера веб-API ниже:
GET [Organization URI]/org1/api/data/v9.0/accounts?$select=name,accountnumber,telephone1,fax HTTP/1.1
Prefer: odata.track-changes
Ответ будет содержать дельта-ссылку с дельта-токеном:
"@odata.deltaLink": "[Organization URI]/api/data/v9.0/accounts?$select=name,accountnumber,telephone1,fax&$deltatoken=919042%2108%2f22%2f2017%2008%3a10%3a44"
Когда вы используете вышеуказанный URI, вы можете получить изменения, включая удаленные записи.
{
"@odata.context":"[Organization URI]/data/v9.0/$metadata#accounts(name,telephone1,fax)/$delta",
"@odata.deltaLink":"[Organization URI]/api/data/v9.0/accounts?$select=name,telephone1,fax&$deltatoken=919058%2108%2f22%2f2017%2008%3a21%3a20",
"value":
[
{
"@odata.etag":"W/\"915244\"",
"name":"Monte Orton",
"telephone1":"555000",
"fax":"10101",
"accountid":"60c4e274-0d87-e711-80e5-00155db19e6d"
},
{
"@odata.context":"[Organization URI]/api/data/v9.0/$metadata#accounts/$deletedEntity",
"id":"2e451703-c686-e711-80e5-00155db19e6d",
"reason":"deleted"
}
]
}
Пример: синхронизация данных с внешними системами с использованием отслеживания изменений