no notification after contact changed

Public Account 1 Reputation point
2022-04-29T03:11:18.66+00:00

I tested the contact subscription days before, and it works fine except no feedback after delete contact. But from yersterday, after contact created/updated/deleted, no notification back to my server. There is no firewall and I had passed the validation for my contact subscription.
Here is the subsription:
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity",
"id":"092f00b8-4553-4515-aad7-05f9f667e870",
"resource":"me/contacts",
"applicationId":"1a60750b-ee4a-4d59-a006-6555798beadf",
"changeType":"created,updated,deleted",
"clientState":null,
"notificationUrl":"https://e6ed-38-99-100-2.ngrok.io/nws/calendar/1.0/notification/callback/contact/{PII}/{PII}?zm_aid={PII}&zm_haid=74",
"notificationQueryOptions":null,
"lifecycleNotificationUrl":null,
"expirationDateTime":"2022-05-01T09:35:17.779Z",
"creatorId":"0a89b663-30dc-4ac0-b33b-0c36b6c3e699",
"includeResourceData":null,
"latestSupportedTlsVersion":"v1_2",
"encryptionCertificate":null,
"encryptionCertificateId":null,
"notificationUrlAppId":null
}

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
10,588 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sheena-MSFT 1,721 Reputation points
    2022-05-06T14:30:59.737+00:00

    Hi @Public Account ,

    You can check the lifecycleUrl concepts, this is to help applications awareness on missed notifications exist, so an application can resync, only upon detection of missed ones, and not by polling delta queries which would make the solution not scalable.

    You can use the below link to get more details on lifecycle notifications.

    Reduce missing subscriptions and change notifications - Microsoft Graph | Microsoft Learn. This mechanism requires that you expose a separate webhook to process notifications of type “lifecycle”. In case a service missed a notification for your subscribed-to resource, you will be notified with a “missed” notification. This notification will not include the ID of the missed item; hence your application will need to resynchronize this resource.

    As it is not feasible to resynchronize a resource from scratch every time a notification misses, it is recommended that you also implement delta change tracking alongside change notifications. This is documented as a best practice here: Best practices for working with Microsoft Graph - Microsoft Graph | Microsoft Learn

    Please also read this blog to get more Insights on how lifecycle Notifications can be useful.

    If the answer is helpful, please click Accept Answer and kindly upvote it. If you have any further questions about this answer, please click Comment.