Populating the field from extending RT event table

jasonw30638826

15-10-2019

Hi,

It's surprising that there is no First name and last name field from RT event table. So I decided to extend the RT event table by adding First name and Last name field to map the data from the SOAP API. I don't want to map the data from CTX as it's difficult to export the CTX data to CSV .

I used <%= rtEvent.firstName %> in HTML to populate the first name from SOAP call, however, when I receive the email, it says this field is "undefined". Has anyone has successfully populated the fields from the extended RT event table?

Thanks,

Jason

Accepted Solutions (1)

Accepted Solutions (1)

somasundaramhal

16-10-2019

You can create a link in the custom rtEvent table as follows:

<element integrity="neutral" label="Recipient" name="recipient" revLink="rtEvent"

             target="nms:recipient" type="link">

      <join xpath-dst="@email" xpath-src="@email"/>

    </element>

More details: Database mapping

Answers (6)

Answers (6)

somasundaramhal

16-10-2019

You can retrieve firstname from the linked recipient table. It can be like the following:

<%= rtEvent.recipient.firstName %>

Thanks,

Somasundaram

somasundaramhal

16-10-2019

Hi,

1845128_pastedImage_0.png

It works for me. Make sure you publish the delivery template after you make changes. If the contact is a new one, which is not available in the recipient table that will not work.

Check when did you extended the field. Sometimes it will take upto 24hours to capture data in newly created fields. Hope this helps.

Jyoti_Y

MVP

15-10-2019

Hi Jason,

Have you saved your firstName in your rtEvent table. As you have created firstName fields in your rtEvent table, please check if values are stored in your table.

When you do <%= rtEvent.ctx.firstName %>, it fetches data directly from the event recieved from webservice call and that is reason you get value.

Thanks,

Jyoti

jasonw30638826

16-10-2019

Hi Somasundaram,

Thanks for sending this over. I wonder how you get to see the "Recipient" from the Available fields. I only see the Real time events fields below.  It seems like you linked RT event table to the Recipient table? If so, How did you link these two tables?

1845123_pastedImage_0.png

Thanks,

jasonw30638826

16-10-2019

Hi, Somasundaram,

I just tried using <%= rtEvent.recipient.firstName %>, it didn't work as there is no recipient table in RT event.

Thanks,

Jason

jasonw30638826

16-10-2019

Hi Jyoti,

When I use <%= rtEvent.ctx.firstName %>, it works as the first name stored in CTX.  However I have extended the RT event table and added the first name field, so I guess the syntax will be <%= rtEvent.firstName %>, the following is the code I used, but the first name is not populated in HTML email.

<rtEvent type="welcome_member" email="jasonxxxx@hotmail.com" firstName="Jason"  wishedChannel="0">

          <ctx>

<orderNumber>ABC358989</orderNumber>

          </ctx>

</rtEvent>

Jason