Expand my Community achievements bar.

SOLVED

Populating the field from extending RT event table

Avatar

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

Avatar

Correct answer by
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

7 Replies

Avatar

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

Avatar

Level 5

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

<%= rtEvent.recipient.firstName %>

Thanks,

Somasundaram

Avatar

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

Avatar

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

Avatar

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.

Avatar

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,

Avatar

Correct answer by
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