SDKs and APIs
47 TopicsBraze User ID in /campaigns/trigger/send API Response
Hey folks 👋 — I’m working on an integration using the /campaigns/trigger/send endpoint and wanted to share something I ran into. Here’s a sample payload I’m sending: { "campaign_id": "d44eaedf-bd07-4a95-881f-3c1662796a96", "recipients": [ { "external_user_id": "{{HASHED_EMAIL_ADDRESS}}", "prioritization": ["unidentified"], "send_to_existing_only": false, "attributes": { "email": "{{EMAIL_ADDRESS}}" } } ] } And here’s the response I’m getting back: { "dispatch_id": "687e7579a602835baed3e4868af9c06e", "message": "success" } Love that it’s working, but… It would be incredibly helpful if the response also included the Braze User ID (braze_id) that the message was sent to. In use cases where we’re sending to partially identified users or passing in attributes dynamically, it’d be really valuable to get confirmation of the user object Braze resolved to. This would help with: Debugging user identity issues Verifying merge behavior when using prioritization Logging and downstream analytics Ensuring consistency across systems (especially when using Braze as source-of-truth for user resolution) Could Braze consider optionally including the braze_id in the response when the user resolution is successful? Curious if anyone else has tackled this — or has a good workaround? Would love to hear your thoughts. Thanks! J26Views1like1CommentTracking Users' Post Click
Hi Braze Community, I am scratching my head a bit trying to understand how the Braze SDK does not have an out-of-box feature that automatically associates a session with a specific user post email/sms campaign click. From what I am reading, even after having clicked through a campaign, if a user comes in a private browser or is not cookied Braze will not recognize them until they log in or put their email somewhere onsite. This is hugely challenging for us, and I assume others as we want all email/sms traffic post-click automatically identified to help fuel abandonment flows. The only solution that we have found is surfacing the external id in every campaign URL and calling changeuser once they hit the site referencing their external id in the URL to tie their session to the correct profile. Is this truly the only option or am I misinterpreting this workflow? How have others dealt with this issue?34Views0likes2CommentsiOS Braze SDK and Content Card Data Questions
Hello there! Quite a newbie here in Braze Bonfire. Hopefully someone knows something about the question I have: We have an iOS mobile app created using Swift and we are in the process of implementing content cards via Braze SDK. What we noticed is Braze SDK didn't have the content card data on our first call to Braze SDK even when I already called the cancellable stated in this documentation. Only when we do further calls to requestRefresh() it is only then we are able to get content card data. Has anyone experienced this before and is there a way to do it in such a way that when you do a first call to SDK and a first call to requestRefresh() will have the content card data ready for fetching? Thanks!23Views0likes0Comments- 80Views0likes3Comments
Need to export Opted In date. Any ideas?
Hi all We are linking our Braze instance to some internal tooling and it is a non-negotiable requirement that we share the opted in date for each user we pass, so they know how old the opt in is. I can see the date exists inside Braze but it does not look like the API passes this date. Has anyone had a similar problem or know of a workaround? Thanks!87Views0likes4CommentsBraze Webhook notifications do not work
Hi, I have several webhook alerts: Scheduled Campaign Finished Sending Scheduled Campaign Sent/Not Sent It stopped working a few days ago. I also have Webhook Errors email notification, but I got nothing. Strangely, apart from the webhook, the email alerts for `Scheduled Campaign Finished Sending` and `Scheduled Campaign Sent/Not Sent` are working. Please let me know if there's a problem. Thank you.103Views0likes4CommentsManage Connected Content Headers
This page suggests the ability to set and manage connected content authorization. Our admin has raised my credentials (I've logged in and out) and I'm still not seeing this available under any of the settings menus. Can someone provide insight here either the exact breadcrumbs and/or the permission set needed to access the menu?98Views1like3CommentsJSON body arrays in connected content API calls
Currently building out some complex connected content use cases. Many APIs require arrays in the request, however I haven't able to make these types of requests in Braze. I would like to make a request with this body structure: { "model": "sonar-pro", "messages": [ { "role": "system", "content": "Be precise and concise." }, { "role": "user", "content": "How many stars are there in our galaxy?" } ], "max_tokens": 123, "temperature": 0.2 } For context, this is a request to Perplexity API. So far, in testing through webhook.site I haven't been able to properly make this request. I have gotten close using some complex url-encoding but its not 100%. Is there any known limitation of using arrays within the body of requests or a solution/workaround to this issue? Cheers!56Views0likes0CommentsPUSH TOKENS
Hi I'm trying send test to my flutter APP but I'm facing this issue None of the selected users have matching push tokens for Android Push. This exact same config worked just a day ago, but I had to reinstall the app after modifications, now I'm running into this error anyone who could help would be much appreciated197Views0likes0CommentsLiquid Date Formatting for API-Triggered Properties
I'm trying to format the date and time on our transactional appt confirmation emails. I found a formula that worked perfectly when I used a date field from Braze, but when I plug this same formula in with a property from an API trigger, it doesn't work. Here's the liquid logic and output for a custom attribute date field stored on the user profile (correct result): And here's the liquid script used with the API-triggered property and the output I get with that one (incorrect result): Does anyone know what might be causing this?212Views1like5Comments