Transactional params randomly do not populate

Hello,
I am trying to send transactional email using the golang SDK. Everything seems to work fine while generating the API requests, however some of the emails that are sent do not contain the parameters. Which emails are affected appears to be random.

For example if I send the following json document using the SendTransacEmail Endpoint:

{
  "sender": {
    "name": "Sender Person",
    "email": "sender@domain.com"
  },
  "replyTo": {
    "name": "Sender Person",
    "email": "sender@domain.com"
  },
  "templateId": 2,
  "messageVersions": [
    {
      "to": [
        {
          "email": "recipient@domain2.com",
          "name": "Recipient Person"
        }
      ],
      "params": {
        "ProductTable": "<table><thead><th>heading</th></thead><tbody><tr><td>content</td></tr></tbody></table>",
        "ResponsibleEmail": "sender@domain.com",
        "ResponsibleFunction": "IT-Department",
        "ResponsibleName": "Sender Person",
        "ResponsiblePhone": "137 293 999",
        "Salutation": "Dear Mr. X"
      },
      "bcc": [
        {
          "email": "anotherperson@domain.com",
          "name": "Another Person"
        }
      ]
    },
    {
      "to": [
        {
          "email": "recipient2@domain3.com",
          "name": "Recipient2 Person"
        }
      ],
      "params": {
        "ProductTable": "<table><thead><th>heading</th></thead><tbody><tr><td>more content</td></tr></tbody></table>",
        "ResponsibleEmail": "sender@domain.com",
        "ResponsibleFunction": "IT-Department",
        "ResponsibleName": "Sender Person",
        "ResponsiblePhone": "137 293 999",
        "Salutation": "Dear Mrs. Y"
      },
      "bcc": [
        {
          "email": "anotherperson@domain.com",
          "name": "Another Person"
        }
      ]
    }
  ]
}

Sometimes both emails will have the parameters populated correctly. But sometimes one email will not contain any of the parameters (just the « empty » template will be sent).

Whether a specific messageVersion is affected appears to be completely random. I have made sure that the json document I am sending to the API is correct (it does contain all the information and it is the same every time I send a request). However, when I send exactly the same request multiple times, the emails being sent by Brevo will be different (some containing all params, some not containing any).

I would be very glad if someone has any ideas what I could try to do.

Hi @bene , thanks for posting on this community.

That’s weird, indeed. So you’re doing the exact same call, but the output is not always the same (sometimes an email with parameters filled in, sometimes an email without them)? @Mauricio is this something you’ve already heard of by any chance?

Hi @ahudavert ,
yes, that is correct. I am doing the same call (I have checked that the json documents generated by the golang SDK are exactly the same) but I am not getting the same result every time.
I am sending multiple emails and some of them will have the parameters filled in, some of them won’t. Which emails have them and which don’t changes with every call.

I have also checked, whether the length of the params makes a difference, but it does not (emails with « short » params are affected as well as emails with « long » params, close to the 100 KB limit).

I have checked, whether the document itself is too long but the problem also occurs when I only send a few message versions (actually it appears to be more fequent with fewer message versions). When I send 30 messages, about 30 % seem to have the problem, when I send 10 messages, about 50 % remain empty.

Since the problem affects different messages randomly, I have also concluded that the template or the exact data I am sending is most likely not the problem.

Does anyone else have any more ideas, where I could start to look? I am now populating an html template directly in my own app (to submit via the « HtmlContent » parameter) and that works as a workaround for now. However, I specifically selected Brevo because of the templating functionality for transactional email.
My problem is that I don’t really have a starting point for debugging the problem. I can only check the JSON document I am sending (which appears to be correct). But since I am just getting the « OK » response from the API I don’t really see any way to figure out, where the problem is…

Did you find the issue?
ours stopped filling params a few days ago.
tried making a new template and still has the same issue.
Thinking of switching or start making our email without template with just HTML.

No we never found the issue. In the end we went down the path you are also considering.
We are now creating the complete HTML ourselves and sending that to the API. This works fine, however it did require us to integrate our own HTML editor including our own templating system…

We’ve experienced the same issue since Friday. This is the first post I’ve found with any other examples. I’ve logged a ticket with their support but as we have no transactional emails at the moment but its likely they won’t come back till tomorrow.

i ended up just copy and pasting the HTML code from brevo template. and replace the placeholders with our variables. as a temporary fix to make our signup work.
remove the templateId and submit it as HTMLContent + needs a subject line.