Injection of Transactional Data into Mapp Engage
    • 6 Minutes to read
    • Dark
      Light

    Injection of Transactional Data into Mapp Engage

    • Dark
      Light

    Article summary

    Injection with a Mapp Connect integration

    Mapp Connect currently supports saving transaction data from:

    For more information, see Mapp Connect.

    Automated Imports

    Schedule a job in Whiteboard.

    When following the structure presented below, remember that the field "user_id" needs to be an email address. Importing transactions will not trigger a Whiteboard event "New Transaction Registered".

    Schedule a job in Whiteboard.

    Example

    Manual import from UI

    1. Go to Administration > E-commerce > System Transactions

    2. Manually import transactions using this sample file.

    For more details, see Manual Import & Search of eCommerce Data.

    Data injection with API

    Storing data without email sendout

    All required fields need to be provided to save the record. Learn more...

    Storing data with email sendout

    Using REST call sendTransactionalWithEventDetails,  you can send a Transactional (order confirmation) email and store data under Transactional Related Data at the same time. 

    Read more here.

    Transactions will be stored for users (email) already existing in the designated Mapp Engage instance. 

    Example of call body

    {
    "parameters":
       [
           {"name" : "Parameter Name 1","value" : "Parameter Value 1"},
           {"name" : "Parameter Name 2","value": "Parameter Value 2"}
       ],
      "attachments": [
        {
          "name": "twitter_logo.png",
          "contentType": "image/png",
          "content": "iVBORw0KGgoAAAANSUhEUgAAABUAAAARCAYAAAAyhueAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASFJREFUeNqslM0NgkAQhRdiAdiAgQ6468EO1INntQOpwFABdqBe9aAdiIl3twS1AbECfJPMkhVZftSXjJPsDh87z2WsNE1Fb3d3z+POVVQIdQ5ShJhqywdEgEgQQ1qwutsbFT4QM4DXFcALwi3YJqDD2bPx4/PGCg/OSw46NwAFA0nU7d7ObUYAHxF+wYMDUU8jiz19aG9TihEbyuS3oSavNmoT5Sm1thA/CkCLsvJ0In5XdnsIKkv+gCaSGZQ8QF7+AXrST0peBH8Ar9+grKfuS1Mgd/wBjb/0lmChvmBr14GgMy5qoiA/N+zcPSNfPN2fCoVF86KlDQxqvc93tl8DaBxALcAi/qLqKuaWpalAffsOz8iB4ZRSzYIymNJLgAEAYsJkJOLW//gAAAAASUVORK5CYII="
        }
      ],"eventDetails":
       [
          {
              "itemDetails":[
                    {"name":"productName","value":"Chair C1"},
                    {"name":"brandName", "value":"aaa aaa"}
                  ]
          },
          {
              "itemDetails":[
                    {"name":"productName","value":"Sofa S1"},
                    {"name":"brandName", "value":"bbb bbb"}
                  ]
          },
          {
              "itemDetails":[
                   {"name":"productName","value":"Bed B1"},
                    {"name":"brandName", "value":"cccc cccc"}
                  ]
          }
       ]
    }

    XML  Example of a HTML prepared message

    <html>
      
    <body>
      <p>Dear
        <%user.firstname%>
          <%user.lastname%>
      </p>
      <p> Thank you for shopping , please see your order details below: </p>
      <br>
          <table class="order-details">
            <tr>
              <td class="address-details">
                <h3>Billing Info</h3>
                <p>
                  <%parameter.billingAddress%>
                </p>
              </td>
              <td class="address-details">
                <h3>Shipping Info</h3>
                <p>
                  <%parameter.shippingAddress%>
                </p>
              </td>
            </tr>
            <tr>
              <td class="method-info">
                <h3>Payment Method</h3>
                <p>
                  <%parameter.paymentInfo%>
                </p>
              </td>
              <td class="method-info">
                <h3>Shipping Method</h3>
                <p>
                  <%parameter.shippingMethod%>
                </p>
      
                <%InsertIf expression="${not empty parameter['shippingMessage']}" id="1"%>
                  <h3>Shipping message:</h3>
                  <p>
                    <%parameter.shippingMessage%>
                  </p>
                  <%/InsertIf%>
              </td>
            </tr>
          </table>
      
          <%ForEach var="product" items="${transaction_details}"%>
            <table width="100%" cellpadding="0" cellspacing="0" border="0" >
              <tr>
                <td align="top" >
                  <table width="100%" cellpadding="0" cellspacing="0" border="0" >
                    <tr>
                      <td align="center" class="someCSSSstyle">
                        <a href="<%${product['productURL']}%>" >
                  <img src="<%${product['imageURL']}%>" width="280" border="0"  /></a>
                      </td>
                    </tr>
                    <tr>
                      <td >
                        <table width="100%" cellpadding="0" cellspacing="0" border="0" >
                          <tr>
                            <td align="center" >
                              <a href="url" target="_blank" >
                               
                              <%${product['brand']}%>
                               
                               </a>
                            </td>
                          </tr>
                          <tr>
                            <td align="center" >
                              <a href="url" target="_blank" >
                               
                              <%${product['productName']}%>
                               
                               </a>
                            </td>
                          </tr>
                          <tr>
                            <td align="center" >
                              <a href="url" target="_blank" >
                               
                              Quantity: <%${product['productQuantity']}%>, Price per item: <%${product['productPrice']}%> <%${product['currency']}%>
                               
                               </a>
                            </td>
                          </tr>
                        </table>
                      </td>
                    </tr>
                  </table>
                </td>
              </tr>
            </table>
            <%/ForEach%>
      
              <table class="order-details">
                <tr>
                  <td class="address-details">
                    <h3>Shiping Price:</h3>
                    <p>
                      <%parameter.shippingTotal%>
                    </p>
                  </td>
                  <td class="address-details">
                    <h3>Order items total:</h3>
                    <p>
                      <%parameter.orderItemsTotal%>
                    </p>
                  </td>
                </tr>
              </table>
      
              <br>
              <h2> TOTAL:
                <%parameter.orderTotal%>
                  <%${product['currency']}%>
              </h2>
              <br>
      
              <p>Greetings!</p>
    </body>
      
    </html>

    Mapp Acquire Transaction Event

    Mapp Acquire allows storing order data in Mapp Engage Transactional Related Data table.

    Requirements

    To set up the Transaction Event properly, you need to have Google E-commerce Data Layer set up in your Google Tag Manager. 

    Storing data works only for users matched between Mapp Acquire and Mapp Engage. Other scripts might block standard setup and a custom script is required. 

    Related Topics

    Set Up Data Imports (Data Feeds)

    Set Up a Mapp Connect Automation Event

    Getting started with Mapp Connect and a custom plugin

    Data Import


    Was this article helpful?


    What's Next