Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Populating the field from extending RT event table

jasonw30638826
Level 4
Level 4

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

1 Accepted Solution
somasundaramhal
Correct answer by
Level 5
Level 5

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

View solution in original post

0 Replies
Jyoti_Y
Community Advisor
Community Advisor

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

somasundaramhal
Level 5
Level 5

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

<%= rtEvent.recipient.firstName %>

Thanks,

Somasundaram

jasonw30638826
Level 4
Level 4

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

jasonw30638826
Level 4
Level 4

Hi, Somasundaram,

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

Thanks,

Jason

somasundaramhal
Level 5
Level 5

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.

jasonw30638826
Level 4
Level 4

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,

somasundaramhal
Correct answer by
Level 5
Level 5

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

View solution in original post