Skip to content

reevoo/reevoomark-dotnet-api

Repository files navigation

reevoomark-dotnet-api

Description

The reevoomark-dotnet-api is a .NET tag library for ReevooMark and Reevoo Essentials customers who want to quickly and easily integrate Reevoo content in to their sites server-side.

Other Languages

Tag libraries are also available for Java and PHP.

Features

  • Server-side inclusion of Reevoo content.
  • Included CSS for display of Reevoo content.
  • Server-side caching of content that respects the cache control rules set by Reevoo.

Support

For ReevooMark and Reevoo Essentials customers, support can be obtained by emailing operations@reevoo.com.

There is also a bug tracker available.

Installation

Install NuGet if you don't already have it, then run the following command in the package manager console:

Install-Package ReevooMark

Configuration

In your web.config file add the value of the TRKREF provided to you by Reevoo in the following way:

<appSettings>
   <add key="TRKREF" value="PIU"/>
</appSettings>

This will be used throughout your web server wherever you use a Reevoo asset without specifying an alternative TRKREF.

For example,

<reevoo:JavascriptAssets runat="server"/>

will initialize our Reevoo javascript assets with the default TRKREF provided in the web.config file, in this case trkref="PIU". You can override this default value by providing the TRKREF in the following way:

<reevoo:JavascriptAssets  trkref="REV" runat="server"/>

Implementation

Register the namespace prefix:

<%@ Register TagPrefix="reevoo" Namespace="ReevooMark" Assembly="ReevooMark" %>

You should include the Reevoo specific CSS in your header:

<reevoo:CssAssets runat="server"/>

You should include the Reevoo specific JavaScript at the bottom of your body:

<reevoo:JavascriptAssets runat="server"/>

As before you may set an explicit TRKREF if you wish.

<reevvoo:JavascriptAssets  trkref="REV" runat="server"/>

It also has support for multiple TRKREF'S.

<reevvoo:JavascriptAssets  trkref="REV, CYS, HYU" runat="server"/>

Standard Badges

Product Badge

To render "product badges" you can use any of the below. The SKU is compulsory but TRKREF and VariantName are optional.

Make sure to replace <SKU>,<TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:ProductBadge sku="<SKU>" runat="server"/>
  <reevoo:ProductBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
  <reevoo:ProductBadge sku="<SKU>" variantName="undecorated" runat="server"/>
  <reevoo:ProductBadge sku="<SKU>" trkref="<TRKREF>" variantName="stars_only" runat="server"/>

Conversations Badge

To render "conversations badges" you can use any of the below. The SKU is compulsory but TRKREF and VariantName are optional.

Make sure to replace <SKU>,<TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:ConversationsBadge sku="<SKU>" runat="server"/>
  <reevoo:ConversationsBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
  <reevoo:ConversationsBadge sku="<SKU>" variantName="undecorated" runat="server"/>
  <reevoo:ConversationsBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Series Badges

Product Badges

To render "product series badges" you can use any of the below. The SKU is compulsory and should be set to the series id. The TRKREF and VariantName are optional.

Make sure to replace <SKU>,<TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:ProductSeriesBadge sku="<SKU>" runat="server" />
  <reevoo:ProductSeriesBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
  <reevoo:ProductSeriesBadge sku="<SKU>" variantName="undecorated" runat="server"/>
  <reevoo:ProductSeriesBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Conversations Badges

To render "conversation series badges" you can use any of the below. The SKU is compulsory and should be set to the series id. The TRKREF and VariantName are optional.

Make sure to replace <SKU>,<TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:ConversationSeriesBadge sku="<SKU>" runat="server"/>
  <reevoo:ConversationSeriesBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
  <reevoo:ConversationSeriesBadge sku="<SKU>" variantName="undecorated" runat="server"/>
  <reevoo:ConversationSeriesBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Overall Service Rating Badges

To render "Overall Service Rating badges" you can use any of the below. The TRKREF and VariantName are optional.

Make sure to replace <TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:OverallServiceRatingBadge runat="server"/>
  <reevoo:OverallServiceRatingBadge trkref="<TRKREF>" runat="server"/>
  <reevoo:OverallServiceRatingBadge variantName="undecorated" runat="server"/>
  <reevoo:OverallServiceRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Customer Service Rating Badges

To render "Customer Service Rating badges" you can use any of the below. The TRKREF and VariantName are optional.

Make sure to replace <TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:CustomerServiceRatingBadge runat="server"/>
  <reevoo:CustomerServiceRatingBadge trkref="<TRKREF>" runat="server"/>
  <reevoo:CustomerServiceRatingBadge variantName="undecorated" runat="server"/>
  <reevoo:CustomerServiceRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Delivery Rating Badges

To render "Delivery Rating badges" you can use any of the below. The TRKREF and VariantName are optional.

Make sure to replace <TRKREF> and <VARIANT_NAME> with the appropriate values.

  <reevoo:DeliveryRatingBadge runat="server"/>
  <reevoo:DeliveryRatingBadge trkref="<TRKREF>" runat="server"/>
  <reevoo:DeliveryRatingBadge variantName="undecorated" runat="server"/>
  <reevoo:DeliveryRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>

Embedded Review Content

To render "embedded review content" you can use any of the below. The SKU attribute is compulsory but TRKREF, Locale and NumberOfReviews are optional.

If you wish to use NumberOfReviews you must include the Locale.

Make sure to replace <SKU> and <TRKREF>, <LOCALE> and <NUMBEROFREVIEWS> with the appropriate values.

  <reevoo:ProductReviews sku="<SKU>" runat="server" />
  <reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" runat="server"/>
  <reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" runat="server"/>
  <reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
  <reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" numberOfReviews="<NUMBEROFREVIEWS>" paginated="true" runat="server"/>

Overall rating

The overall rating section at the top of inline reviews contains an overall score, a summary and the score breakdowns.

Fallback

If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:

  <reevoo:ProductReviews sku="<SKU>" runat="server">
    <p>Sorry we don't have any reviews available right now</p>
  </reevoo:ProductReviews>

Embedded Conversation Content

To render "embedded conversations content" you can use any of the below. The SKU attribute is compulsory but TRKREF is optional.

Make sure to replace <SKU> and <TRKREF> with the appropriate values.

  <reevoo:Conversations sku="<SKU>" runat="server" />
  <reevoo:Conversations sku="<SKU>" trkref="<TRKREF>" runat="server"/>

Fallback

If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:

  <reevoo:Conversations sku="<SKU>" runat="server">
    <p>Sorry we don't have any conversations available right now</p>
  </reevoo:Conversations>

Embedded Customer Experience Review Content

To render "embedded customer experience review content" you can use any of the below. The TRKREF and NumberOfReviews are optional.

Make sure to replace <TRKREF> and <NUMBEROFREVIEWS> with the appropriate values.

  <reevoo:CustomerExperienceReviews runat="server"/>
  <reevoo:CustomerExperienceReviews trkref="<TRKREF>" runat="server"/>
  <reevoo:CustomerExperienceReviews numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
  <reevoo:CustomerExperienceReviews trkref="<TRKREF>" numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
  <reevoo:CustomerExperienceReviews trkref="<TRKREF>" numberOfReviews="<NUMBEROFREVIEWS>" paginated="true" runat="server"/>

Fallback

If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:

  <reevoo:CustomerExperienceReviews sku="<SKU>" runat="server">
    <p>Sorry we don't have any customer experience reviews available right now</p>
  </reevoo:CustomerExperienceReviews>

Generic Mark Embeddable Content Tag

There is a generic tag that allows to specify the base url to call on the Reevoo server for generic embeddable content that is not provided by any of the previous tags. The tag name is "mark" and you can use it in the following way:

Make sure to replace <SKU> and <TRKREF> with the appropriate values:

  <reevoo:Mark sku="<SKU>" trkref="<TRKREF>" BaseUri="http://mark.reevoo.com/reevoomark/embeddable_reviews.html" runat="server"/>

It is also possible to specify locale and the number of reviews you'd like in the baseURI:

  <reevoo:Mark sku="<SKU>" trkref="<TRKREF>" baseURI="http://mark.reevoo.com/reevoomark/fr-FR/10/embeddable_reviews.html" runat="server" />

Rendering Issues

Any changes to the visiblity settings of the 'traffic reviews solution' will require you to call the code below to ensure the correct formatting is applied.

NOTE: This assumes you are using the latest version of the Reevoo JS library.

ReevooMark.auto_scale()

Tracking

If you display the reviews in a tabbed display, or otherwise require visitors to your site to click an element before seeing the embedded reviews, add the following onclick attribute to track the clickthroughs:

If your trkref value is for example "REV" you would add:

  onclick="ReevooMark_REV.track_click_through(‘<SKU>’)”

If your trkref value is for example "PIU" you would add:

  onclick="ReevooMark_PIU.track_click_through(‘<SKU>’)”

See how in examples above you need to put your trkref value as a suffix to the ReevooMark_ bit. Also remember to replace by the sku of the product to which the reviews belong.

Purchase Tracking

If your site includes online shopping functionality add Reevoo's purchase tracking to your store by including the following tag in your "Order Confirmation Page":

<reevoo:PurchaseTrackingEvent trkref="REV" skus="999,222,3373" value="342.00" runat="server"/>

In the tag above:

  • Make sure to replace the value of the "trkref" attribute with your own trkref.
  • Replace the value of the "skus" attribute with a comma separated list of all the skus that have been purchased as part of the order.
  • Replace the value of the "value" attribute with the total value of the order, you don't need to include currency symbol.

All this tracking information will be available to you on your Reevoo Analytics account.

Propensity to Buy Tracking

This type of tracking is used as a substitute of purchase tracking, detailed in the section above, for retailers that do not offer online purchase in their stores and therefore do not have an order confirmation page.

These retailers can use reevoo:propensityToBuyTrackingEvent, which can be added to any page they wish on the site.

To add a propensity to buy event to a page use the following tag:

<reevoo:PropensityToBuyTrackingEvent trkref="REV" action="Requested Brochure" sku="234" runat="server"/>

In the tag above:

  • Make sure to replace the value of the "trkref" attribute with your own trkref.
  • Replace the value of the "action" attribute with a string desccribing the type of event that you want to track, can be anything you want like "user visited the buy now page" or "user requested brochure" or "user requested a test drive", etc...
  • The "sku" attribute is optional, you only have to include it if you want to link the tracking event to a specific product sku, otherwise just leave it empty.

All this tracking information will be available to you on your Google Analitycs account.

Requirements

.NET v2.0+

License

This software is released under the MIT license. Only certified ReevooMark partners are licensed to display Reevoo content on their sites. Contact sales@reevoo.com for more information.

(The MIT License)

Copyright (c) 2008 - 2010:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.