Retrieving Clickwrap HTML or Data

At certain times, you may not be able to utilize one of our SDKs or our JavaScript Snippet but need a way to present your Clickwrap or at least retrieve data about the Clickwrap. Fortunately, this is still a possibility with our Activity API.

🚧

Heads Up

Going this route typically requires heavy customization that would normally be provided by one of our SDKs or our JavaScript Library. Technical support may be limited.

Endpoints

We have two available endpoints, which both allow you to retrieve data about a Group set up within your PactSafe account:

Usage Examples

Retrieve Group HTML

In some scenarios, you may want to load the Group data server-side rather than using the JavaScript Library/SDKs. You may also need the HTML and appropriate CSS styling as well. This is possible with the /load/html endpoint, which contains data fairly similar to what our JavaScript library would normally contain.

This would require doing a GET with https://pactsafe.io/load/html?sid=YOUR_SITE_ACCESS_ID&gkey=YOUR_GROUP_KEY, which will return data with the styling and HTML for the clickwrap chosen within your Group settings.

As an example, with my test group, I receive the following HTML data:

<div id="ps-group-example-web-group" class="ps-group ps-style-combined" data-gid="6972" data-key="example-web-group"
  data-rdid="5f64fd8094c03836a4a744b4"
  data-legal="https://vault.pactsafe.io/s/790d7014-9806-4acc-8b8a-30c4987f3a95/legal.html">
  <style scoped>
    #ps-group-example-web-group *,
    #ps-group-example-web-group div {
      border: 0;
      margin: 0;
      padding: 0;
      min-height: 0;
      max-height: none;
      min-width: 0;
      max-width: none;
    }

    #ps-group-example-web-group a {
      font-size: 1em;
    }

    #ps-group-example-web-group a:hover {
      text-decoration: underline;
    }

    #ps-group-example-web-group div,
    #ps-group-example-web-group p,
    #ps-group-example-web-group span {
      color: #444;
    }

    #ps-group-example-web-group div.ps-contract {
      display: block;
      padding: 0 0 25px;
      margin: 0;
      color: #444;
      font-size: 13px;
      line-height: 1.5;
    }

    #ps-group-example-web-group div.ps-checkbox-container {
      display: block;
      font-size: 1em;
      line-height: 1.65;
      padding: 0 0 0 20px;
      margin: 0;
    }

    #ps-group-example-web-group input[type="checkbox"].ps-contract-target {
      display: inline;
      vertical-align: middle;
      width: auto;
      min-height: 0;
      max-height: none;
      min-width: 0;
      max-width: none;
      padding: 0;
      margin: 0 0 0 -20px;
      cursor: pointer;
    }

    #ps-group-example-web-group label.ps-contract-label {
      display: inline;
      vertical-align: middle;
      padding: 0;
      margin: 0 0 0 6px;
      text-transform: none;
      cursor: pointer;
    }

    #ps-group-example-web-group a.ps-contract-link {
      display: inline;
    }
  </style>
  <div id="ps-contracts-6972" class="ps-contract" data-multiple="true" data-cid="54147,54146"
    data-vid="5e3060462985a640d78aba14,5e95dcf23e634b0aac650716"
    data-mjvid="5e3060462985a640d78aba14,5e95dcf23e634b0aac650716" style="display: none;">
    <div class="ps-checkbox-container ps-checkbox-line">
      <input type="checkbox" class="ps-contract-target ps-combined-target ps-checkbox"
        id="ps-contract-checkbox-group-6972" name="ps-contract-checkbox-group-6972"
        value="54147:5e3060462985a640d78aba14,54146:5e95dcf23e634b0aac650716">
      <label for="ps-contract-checkbox-group-6972" class="ps-contract-label">I understand and agree to <a
          href="https://vault.pactsafe.io/s/790d7014-9806-4acc-8b8a-30c4987f3a95/legal.html?g=6972#contract-rki1kxfps"
          data-ckey="contract-rki1kxfps" target="_blank" class="ps-contract-link">Terms of Service</a> and <a
          href="https://vault.pactsafe.io/s/790d7014-9806-4acc-8b8a-30c4987f3a95/legal.html?g=6972#privacy-policy"
          data-ckey="privacy-policy" target="_blank" class="ps-contract-link">Privacy Policy</a>.</label>
    </div>
  </div>
</div>

This gives me the data I need to create the Clickwrap within my own environment.

🚧

Functionality Caveat

Functionality for the Clickwrap requires custom code when our JavaScript library is not being used.

Retrieve Group JSON

Say for example you have a mobile native app where our JavaScript Library may not be the best fit for implementation. Instead, you may want to grab the raw JSON data for the Group that can be used for your environment.

You could then do a GET https://pactsafe.io/load/json?sid=YOUR_SITE_ACCESS_IDgkey=YOUR_GROUP_KEY to retrieve JSON data about the group.

As an example, with my test group, I receive the following JSON data:

{
  "key": "example-web-group",
  "type": "group",
  "style": "combined",
  "group": 6972,
  "container_selector": "contracts-container",
  "signer_id_selector": "",
  "form_selector": "",
  "block_form_submission": true,
  "force_scroll": false,
  "alert_message": "Before you can submit this form, you must accept all of our legal contracts.",
  "confirmation_email": false,
  "triggered": false,
  "legal_center_url": "https://vault.pactsafe.io/s/790d7014-9806-4acc-8b8a-30c4987f3a95/legal.html",
  "acceptance_language": "I understand and agree to {{contracts}}.",
  "contract_data": {
    "54146": {
      "published_version": "5e95dcf23e634b0aac650716",
      "title": "Privacy Policy",
      "key": "privacy-policy",
      "change_summary": ""
    },
    "54147": {
      "published_version": "5e3060462985a640d78aba14",
      "title": "Terms of Service",
      "key": "contract-rki1kxfps",
      "change_summary": ""
    }
  },
  "contracts": [54147, 54146],
  "versions": ["5e3060462985a640d78aba14", "5e95dcf23e634b0aac650716"],
  "major_versions": ["5e3060462985a640d78aba14", "5e95dcf23e634b0aac650716"],
  "render_id": "5f64c0cddbf1201742e99b0b",
  "rendered_time": 1600438477,
  "auto_run": true,
  "display_all": false,
  "contract_html": "...",
  "locale": "en-us"
}

This gives you most of the information you would need about the Group to create your own Clickwrap and/or retrieve the required information for sending acceptance.


Did this page help you?