I would like to get all analytical data from SendGrid for each email using "unique args".
Currently to be able to do this, i would need to:
With this approach i would make twice as much requests as needed to.
Does anyone know a way to skip step 2 and 3, and get all "events" data from just one call?
You can use Event Webhooks from SendGrid. Events are generated when the email is processed by SendGrid and email service providers. There are 2 types of events - delivery and engagement events.
Delivery events indicate the status of email delivery to the recipient. Engagement events indicate how the recipient is interacting with the email.
{
"email": "example@test.com",
"timestamp": 1513299569,
"smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
"event": "processed",
"category": "cat facts",
"sg_event_id": "sg_event_id",
"sg_message_id": "sg_message_id"
},
{
"email": "example@test.com",
"timestamp": 1513299569,
"smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
"event": "deferred",
"ip": "168.1.1.1",
"category": "cat facts",
"sg_event_id": "sg_event_id",
"sg_message_id": "sg_message_id",
"response": "400 try again later",
"attempt": "5"
},
{
"email": "example@test.com",
"timestamp": 1513299569,
"smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
"event": "delivered",
"ip": "168.1.1.1",
"category": "cat facts",
"sg_event_id": "sg_event_id",
"sg_message_id": "sg_message_id",
"response": "250 OK"
},
{
"email": "example@test.com",
"timestamp": 1513299569,
"smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
"event": "open",
"category": "cat facts",
"sg_event_id": "sg_event_id",
"sg_message_id": "sg_message_id",
"useragent": "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"ip": "255.255.255.255"
},
Delivery events include processed, dropped, delivered, deferred, and bounce.
Engagement events include open, click, spam report, unsubscribe, group unsubscribe, and group resubscribe.
I recommend you to check the link for more details.