I am trying to send the emails via Sendgrid using v3 API doing so, I want to pass the json data similar to this
{
"personalizations": [
{
"to": [
{
"email": "john.doe@example.com",
"name": "John Doe"
}
],
"subject": "Hello, World!"
}
],
"from": {
"email": "sam.smith@example.com",
"name": "Sam Smith"
},
"reply_to": {
"email": "sam.smith@example.com",
"name": "Sam Smith"
}
}
my code :
$email_content = [
'personalizations' => [
'to' => [
'email' => 'ashuomble5@gmail.com',
'name' => 'Ashutosh'
],
'subject' => 'Test'
],
'from' => [
'email' => 'ashuomble5@gmail.com',
'name' => 'Ashu'
],
'reply_to' => [
'email' => 'ashuomble5@gmail.com',
'name' => 'AO'
],
'content' => [
'type' => 'text/plain',
'value' => 'Hello'
]
];
after json_encode() output is coming in following format:
{
"personalizations":{
"to":{
"email":"ashuomble5@gmail.com",
"name":"Ashutosh"
},
"subject":"Test"
},
"from":{
"email":"ashuomble5@gmail.com",
"name":"Ashu"
},
"reply_to":{
"email":"ashuomble5@gmail.com",
"name":"AO"
},
"content":{
"type":"text\/plain",
"value":"Hello"
}
}
Any help will be appreciated. I want to use only v3 API for specific reasons
You need to add [] - brackets to your 'to' array. Please have a look.
'to' => [
[ // add this brackets
'email' => 'ashuomble5@gmail.com',
'name' => 'Ashutosh'
] // add this brackets
],
The output would be same as per your requirement.