Я пытаюсь получить пользовательские аргументы при отправке электронной почты через SendGrid и перетащить их в свою базу данных, когда они сохраняются с помощью уведомления о событиях.
У меня есть настройка уведомлений о событиях, так что после того, как SendGrid обрабатывает электронную почту, сохраняет ее в моей БД, я просто не могу понять, как получить настраиваемые аргументы, которые я отправляю.
Я посылаю аргумент так:
$mail->addCustomArg("campaign", "welcome69");
И затем сталкиваюсь с проблемами, пытающимися получить это (после того, как SendGrid отправляет это)
$data = file_get_contents("php://input");
$events = json_decode($data, true);
foreach ($events as $event) {
$sg_event_id = $event['sg_event_id'];
$unique_args = $event['unique_args'];
}
В нижнем фрагменте кода переменная $ unique_args работает, вторая — нет. Любая помощь с благодарностью.
Какие Sendgrid POSTs
к вашему крючку является объект JSON. Вы можете получить unique_args
непосредственно написав что-то вроде
$unique_args = $events['unique_args']; // this is an associative array.
Вы можете пройти по ассоциативному массиву, используя цикл foreach следующим образом:
foreach($unique_args as $field => $value) {
}
Других решений пока нет …