Introduction

This document provides a guideline for integration between GetQuorum (GQ) and other software providers (SP). GetQuorum recognizes that partners have their own unique systems and accordingly is open to alternative implementations not discussed in this document.

GetQuorum issues a unique, cryptographically signed URL to each owner/voter to ensure that they are authorized to vote. We rely on the customer to provide accurate data regarding their voting members. Many condos and associations already maintain owner lists using property management software. Integration with management software providers provides efficiencies in fulfilling a campaign for mutual customers of GQ and SP.

Efficiencies result in more rapid provisioning of GQ services and enhanced campaign performance details provided back to SPs via the GQ Partner API.

Integration Workflow

When a customer provisions a voting campaign using GQ, the following will take place:

  1. Customer requests a voting campaign from GQ
  2. GQ retrieves the latest customer owner data via SP
  3. GQ begins our campaign and fulfills its service
  4. SP can access campaign performance statistics from GQ for display within their systems (via GQ Partner API)

Authorization

It is critical that our mutual customers provide proper authorization for GQ and SP to exchange data.

Customer must provide authorization for SP to retrieve campaign performance data from GQ

GQ's Partner API uses OAuth as its authorization framework to allow SPs to access limited data on behalf of our customers. When a customer wants to access their GQ data from SP, they can grant access directly through their GQ account. Learn more at GQ Partner API Documentation.

Customer must provide authorization for GQ to retrieve owner data from SP

This will be dependent upon the SP. Our preference is for our partner to use OAuth or some form of API Key exchange to allow the customer to grant GQ permission to retrieve owner data from your platform. However, we are open to other implementations.

Service Provider Endpoints

In order for GQ to more rapidly provision our services for mutual customers, we would also request access to your API endpoints.

We don't expect SPs to customize their existing APIs for us, especially since you may already have integrations with others. GQ will work with existing SP APIs provided they enable GQ to retrieve the required data.

If the SP is able to implement a dedicated endpoint for GQ, the example below shows the ideal response signature.

Get List of Units and Owners

Retrieve a list of all units and their respective owners (no tenants) for a given customer. The ACCESS_TOKEN will limit access to the target customer's owner data.

Request Header

Authorization: Bearer <ACCESS_TOKEN>

Response Body:

[
  {
    "unit": "Unit 1034",
    "address": "10 River Street",
    "mailAddress1": "44 Lake Road",
    "mailAddress2": "Suite 100",
    "mailCity": "Toronto",
    "mailProv": "Ontario",
    "mailPostal": "M5B 2G9",
    "mailCountry": "Canada",
    "owners": [
      {
        "name": "Patty Bouvier",
        "email": "pbouvier@example.com"
      },
      {
        "name": "Selma Bouvier",
        "email": "sbouvier@example.com"
      }
    ]
  },
  {
    "unit": "Unit 1035",
    "address": "10 River Street",
    "mailAddress1": "10 River Street",
    "mailAddress2": "Unit 1035",
    "mailCity": "Toronto",
    "mailProv": "Ontario",
    "mailPostal": "A1A 1A1",
    "mailCountry": "Canada",
    "owners": [
      {
        "name": "Rainier Wolfcastle",
        "email": "mcbain@example.com"
      }
    ]
  },
  {
    "unit": "Unit 1036",
    "address": "10 River Street",
    "mailAddress1": "10 River Street",
    "mailAddress2": "Unit 1036",
    "mailCity": "Toronto",
    "mailProv": "Ontario",
    "mailPostal": "A1A 1A1",
    "mailCountry": "Canada",
    "owners": []
  }
]

Response Description

Property Type Description
unit string (Required) The unit number of the property owned.
address string (Required) The address of the unit at the property owned
mailAddress1 string Mailing/Billing address info for the owner
mailAddress2 string ^
mailCity string ^
mailProv string ^
mailPostal string ^
mailCountry string ^
owners object[] (Required) Array of owner(s) of the unit. The object must contain both name and email. Duplicate email records are not allowed. An empty array indicates the unit has no owners.
>>> name string (Required) The owner name
>>> email string (Required) The owner's email address. Format: email
  • GQ will key a unit record by unit and address.
  • Duplicate unit records will be overwritten by the latest one