General step-by-step guide
Here's how you can create a data-only send for Braze.
- Create a template
Log in to Braze and create an email template. Use placeholder variables where dynamic content should go. For example:
<p>Hey {{ first_name }},</p>
<p>We have a special offer just for you!</p>
<p>Use {{ offer_code }} to get 10% off your next purchase!</p>
- Find the template ID
Once the template is created, you can get the template ID by viewing the template in the Braze dashboard.
- Log in to Braze and navigate to the "Campaigns" or "Email Templates" section from the main dashboard.
- Click on “Email Templates” (or go directly to the "Templates" section if you're in the "Campaigns" tab).
- You will see a list of your email templates. Click on the template you want to use.
- Once inside the template editor, you'll see the template ID in the "settings" area of the "template details" page.
(Alternate Method)
If you have your private API key handy, you can also use Braze's API to list the IDs of all your email templates.
GET https://your-api.braze.com/templates/email
The response will look something like this:
{
"data": [
{
"template_id": "YOUR_TEMPLATE_ID_1",
"template_name": "Welcome Email",
"subject": "Welcome to our Service",
"from": "[email protected]"
},
{
"template_id": "YOUR_TEMPLATE_ID_2",
"template_name": "Discount Offer",
"subject": "Special Offer Just for You!",
"from": "[email protected]"
}
]
}
- Prepare the payload
Create a properly formatted JSON structure. Include the template ID and the variables that will populate the placeholders. Note, the "recipients" field takes in an array. You can have multiple recipients, each with different dynamic fields.
{
"recipients": [
{
"external_user_id": "john.doe@exam",
"first_name": "John",
"offer_code": "DISCOUNT123"
},
{
"external_user_id": "[email protected]",
"first_name": "Jane",
"offer_code": "SUMMER2024"
}
],
"template_id": "T-12345abc-6789-def0-1234-ghij56789klm",
"from": "[email protected]",
"subject": "Your Special Offer Inside!"
}
Field Guide
{{first_name}} will become "John" for the first recipient and "Jane" for the second recipient.
{{offer_code}} will become "DISCOUNT123" for the first recipient and "SUMMER2024" for the second recipient.
external_user_id: The id of the user you want to send to.
template_id: The ID of your Braze template.
from: The email address you want to send from.
subject: The subject of the email.
- Send the request
POST the payload to Wunderkind.
POST https://api-gateway.wunderkind.co/v1/inbox/sendemail
If everything is set up correctly, you'll get a response that looks like this:
{
"status": "success",
"message": "Emails sent successfully",
"data": {
"recipients_sent": 2,
"email_campaign_id": "1234567890"
}
}
Response Guide
200 OK: Success (email sent successfully).
4xx: Client-side errors (e.g., missing required fields).
5xx: Server-side errors (e.g., temporary issues with the Braze API server).
And that's it. You just created a data-only send! 🎉