Skip to content

Back-end

Introduction

The back-end integration is the completly secure solution for implementing the SmartWall into your website. It builds on top of the front-end solution to provide an extra layer of security that makes the wall unavoidable. It works for every back-end language since we provide a RESTful API to comunicate with SmartWall.

If your back-end programming language is PHP we recommend you use the PHP SDK instead.

How does it work ?

The principal issue with the front-end integration is that if the user blocks scripts before they run, there is no way to hide or lock the article's content. How to avoid this issue ? Simple, don't send the full article content with your page. Instead you'll send the article content to SmartWall's cache and it will take care of sending the full article when the user unlocks the wall.

Upgrade from front-end integration

If you started the integration of SmartWall with the front-end method, you can keep the configuration of the JavaScript SDK and add a new parameter called mode, which value should be backend.

new SmartWallSDK({
  smartwallUid: "your-smartwall-uid",
  apiKey: "your-api-key",
  mode: 'backend'
});

Skip front-end integration

We recommend that you first implement the front-end integration. When you're done and confident it's working, come back and continue the back-end integration.

RESTful API

The SmartWall's API will provide you with the endpoints needed for this integration.

Its domain is https://api.smartwall.ai. From now on will assume this domain for all endpoints described.

Caching your article

First thing is to cache your article in SmartWall's API. This will allow SmartWall to send the article content only and just only the user unlocks the wall some way or another, subscribing, micropayment, watching an ad, etc.

Caching the article will be done within your article's page back-end code.

Check if article is already cached

Sending the whole article to the API and waiting for the response can take a significant time from your article requests. To avoid this problem, you should send the article only if necessesary, so only when it's missing from SmartWall's cache. This endpoint will check if the article is in SmartWall's cache or not.

Endpoint:

GET /v2/articles/{articleUid}/is-cached

URL search params:

  • smartwallUid - UID of the SmartWall configured for your site.
  • md5 - md5 hash of the article content. If hash changed from last time the article was sent, then it will invalidate cache. This allows to update cache if article is updated.
  • apiKey - Key to access the API.

Returns:

200 HTTP code

{
  status: Boolean
}

Send article to cache

This endpoint will write the article content into SmartWall's cache.

Endpoint:

POST /v2/articles/

Body:

  • apiKey - Key to access the API.

  • smartwallUid - UID of the SmartWall configured for your site.

  • articleUid - UID you create for this article.

  • content - Article's HTML content.

  • url - Article's URL

Returns:

204 HTTP code

{}

Truncating your article

Once you're sure the article is in SmartWall's cache, you need to truncate the article before rendering it and sending it to the user. The lenght of the article's preview you want to show is up to you.

How to truncate the article depends on your programming language, but there are many ways to accomplish it and if you need it, an internet search can get you some answers.

Showing the wall

Right after your truncated article you may want to show the SmartWall for the user to unlock the article. If the front-end integration was done correctly the wall will appear once the SDK is loaded (which should take normally a few milliseconds). So nothing else to do.

However, if you find that the Smartwall takes a lot of time to kick off you may want to show a placeholder wall.

Placeholder wall

To add a placeholder wall to show until SmartWall is loaded, add the next code where you want to show the wall and change "your-wall-uid" to yours. You can customize the content and styling.

<div data-sw-wall="your-wall-uid">
  <!-- You can change the content to your liking -->
  <div style="text-align: center; font-size: 1.2rem; font-weight: 400; margin-top: 1.8rem">
    <p style=" margin-bottom: 1.8rem">Your article is taking more than usual to load.</p>
    <p style=" margin-bottom: 1.8rem">Hang in there...</p>
  </div>
</div>

When the SmartWall is loaded it will overwrite this element and show your SmartWall instead.

FAQs

Frenquently asked questions

What if I have a HTTP cache system on my site?

Back-end integrations works fine with your HTTP cache. You article page needs to run the backend code at least once before being stored rendered in the HTTP cache, so if you did the integration right, the article content will be send to SmartWall's API in that one rendering of the page. The HTTP cache will store the truncated article and SmartWall's cache the full article.

If SmartWall is not returning the full article when the wall is unlocked, try purging your HTTP cache. This way your back-end code will run again and refresh the SmartWall's cache.

What can I do for javascript-disabled browsers ?

When you are in backend mode, obviously, the content cannot be retrieve by definition as javascript will not be executed. W3C norms propose you to use a tag that will display its content only in this case:

<noscript>
This tag can be used in the <head> section of your article's page as well as in the <body> section As a courtesy from Smartwall we provide you below with a styling that you could include in a <noscript> tag in the <head> section of your page
...
<noscript>
      <style>
            .sw-widget-widget {
                width: auto;
                padding: 30px;
                background: #fff;
                border: 1px solid rgba(51, 51, 51, 0.1);
            }
            .sw-widget-color-text {
                color: #333;
            }
            .sw-widget-head {
              margin: 2rem 0px;
              text-align: center;
            }
            .sw-widget-title {
                font-size: 24px;
                font-weight: 400;
            }
            .sw-widget-title {
                color: #333;
                font-size: 18px;
                font-weight: 400;
            }
            .sw-widget-paragraph {
                font-size: 18px;
                font-weight: 300;
            }
            .sw-widget-font {
                font-family: 'Source Sans Pro', sans-serif;
            }
            .sw-widget-btn, .sw-widget-inline-btn, .sw-widget-check-btn {
                position: relative;
                cursor: pointer;
            }
            .sw-widget-input, .sw-widget-btn, .sw-widget-check-btn {
                width: 100%;
                display: block;
                overflow: hidden;
                padding: 15px 10px;
                margin: 1rem auto;
                width: -webkit-fill-available;
                width: -moz-available;
                cursor: pointer;
            }
            .sw-widget-btn-style {
                color: #fff;
                background: #333;
                border-radius: 4px;
                box-shadow: none;
                border: none;
            }
            .sw-trademark {
                margin-top: 15px;
                text-align: center;
                font-size: 13px;
                color: #9D9D9D;
            }
            .sw-trademark-logo {
                display: inline-block;
                background: url(data:image/png;base64,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) center no-repeat;
                background-size: contain;
                height: 29px;
                width: 90px;
                margin-left: 5px;
                -webkit-transform: translateY(11%);
                -moz-transform: translateY(11%);
                transform: translateY(11%);
            }
            .sw-gradient-effect-cmp .sw-gradient-effect {
                height: 120px;
                transform: translateY(-120px);
                position: absolute;
                width: 100%;
                background: linear-gradient(to bottom, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, .5) 0%, white 100%);
            }
            .sw-card {
                width: 100%;
                background: #FFF;
                border-radius: 2px;
                box-sizing: border-box;
                box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
            }

      </style>
    </noscript>
    ...

and the embed in a <noscript>tag html to create a card styled by the previous code block:

<noscript>
  <span style="align:center;">
<div>
  <div class="sw-gradient-effect-cmp">
    <div class="sw-gradient-effect"></div>
  </div>
  <div data-sw-wall="sw-demo-ad-block-wall" style="width: 100%; margin: auto; max-width: 600px;">
    <div class="sw-main">
      <div class="sw-card">
        <div class="sw-block sw-block-html" data-sw-widget="html" data-sw-block-id="419">
          <div class="sw-content">
            <div class="sw-widget-widget sw-widget-font sw-widget-color-text">
              <div class="sw-widget-logo-ad-block">
                <i class="icon video svg-font-like rotate90"></i>
              </div>
              <div class="sw-widget-form">
                <h3 class="sw-widget-head sw-widget-title">
                  <span>You use a no javascript browser</span>
                </h3>
                <h3 class="sw-widget-head sw-widget-paragraph">
                  <span>To enable the full experience and read our articles, please enable client script and hit .... </span>
                </h3>
                <button class="sw-widget-btn sw-widget-btn-style sw-widget-paragraph" type="submit">.... reload</button>
              </div>
            </div>
          </div>
        </div>
        <div class="clear"></div>
      </div>
      <div class="sw-trademark">
        <span>Powered by</span>
        <a href="https://smartwall.ai" target="_blank">
          <div class="sw-trademark-logo"></div>
        </a>
      </div>
    </div>
  </span>
</noscript>

Some of my content is not properly loading after unlock, what can I do ?

SmartWall works well with text, html and images, but some content that requires a script to work, like videos, ads, twitter feeds and other social network embedded elements, may need its script to be reseted after the unlocking of the content.

The SmartWall SDK tries to reset the most popular scripts after unlocking, like those from popular social networks. However we may not include all that there are out there. If you have this issue, we'd appreciate that you contact us and let us know. We'll study your case and consider adding the fix for your type of content. Contact us at hello@smartwall.ai

On the other hand, if you prefer to solve this issue youself, you can do it reseting the script responsible for the problematic element using the onUnlock hook.