Brandtribe Developer Portal

In this Portal a wide number of topics are covered.

  • General System: This covers general infomation about the platform, terminology used, etc.

  • User docs: This covers infomation about platform workflows, e.g. Campaign Creation.

  • Developer docs: This covers developer specific infomation.

    • Getting Started: Credentails, Endpoints, etc.
    • Quickstarts
    • Api Objects.

The Big Picture

What Is BrandTribe?

BrandTribe is a fully integrated Data Management and Buisiness Intelligence Ecosystem.

  • Crm: We view consumer data as the keystone of any organisations marketing stragergies. It forms the heart of the BrandTribe Ecosystem, all auxullary services are viewed as extensions.
  • 3rd Party Data: The ability to bring in data from 3rd party, Online Ad, Social Presents Telemetary.
  • Messaging: The ability to send messages to your consumers.
  • Polls: The ability to create surveys for your consumers to complete.

BrandTribe Profiler

Profiler is an interaction driven eCRM Platform. A Consumer profile is built up overtime using interactions, which are created whenever a consumer interacts with any campaign integrated with the BrandTribe Platform.

BrandTribe Insights

Insights is an analytics extension to the BrandTribe Ecosystem, which allows the collation of data from 3rd Party Platforms and provides a number of widget which can be overlayed with Crm data in user generated dashboards.

  • Facebook Connector: enables widgets making use of Facebook Page and Facebook Ads data.
  • Google Connector: enabled widgets making use of Google Analytics, Adwords, YouTube data.
  • Twitter Connector: enabled widgets making use of Twitter and Twitter Ads data.

BrandTribe Messenger

Messenger is a Messaging extension to the BrandTribe Ecosystem, which allows email and sms messages to be sent to a brands consumers. It enables benchmarking widgets to become available in system and custom dashboards.

  • Fast Sending of messages to any consumer segment.
  • A/B Testing available for campaigns.
  • Send Telemetary Reports and Widgets become available.
  • Send Benchmark Telemetary Reports and Widgets become available.

More about Messaging…

BrandTribe Shortener (bt.na)

Shortener is a high performance Url Shortener service. Unlike most of the available services you are able to bulk create short Url (Unique link for each consumer in a bulk send), so urls can be created without any fear of rate limiting.

  • Url Aliasing, create an alias for your short url i.e instead of https://bt.na/Edi2c2 you can have https://bt.na/beer
  • Enables ShortUrls to be used in BrandTribe Messenger.
  • Campaign Management allows Urls to be created against a campaign, this is useful when creating a bunch of Unique Urls for a send.
  • Enables Short Url Telemetary Reports and Widgets become available.

More about link shortener…

OpenID Connect is the newest of the three, but is considered to be the future because it has the most potential for modern applications. It was built for mobile application scenarios right from the start and is designed to be API friendly.

Architecture

The BrandTribe Eco System is a collection of core and extension system:

  • Profiler - Crm.
  • Insights - 3rd Party data aggrigator.
  • Messenger - Email and Sms Messenger.
  • Blitz - Sms and Ussd Gateway and Router
  • Shortner - Url Shortner.

Each of these systems is built around a Micro Architecture consisting of REST Api and many small background processing applications, linked via a servicebase.

More about Architecture….

Terminology

The specs, documentation and object model use a certain terminology that you should be aware of.

_images/terminology.png

Consumer

A Consumer is the BrandTribe representation of a person who has interacted with your Brand and we have have a single piece of core contact information (Mobile Number or Email Address)

Core Dataset

  • Firstname [1] : the firstname of the person, used to greet the consumer and is used through out the system when ever a consumer is shown.
  • Lastname: the lastname of the person, used through out the system when ever a consumer is shown.
  • Gender [1]: the gender of the person, used to segment consumers for reporting and messaging.
  • Date of Birth [1]: the date of the person, used to caculate the age of the person, used to segment consumers for reporting and messaging.

Extended Dataset

  • Title: the Preferred salutation of the consumer.
  • Preferred Language [2]: used for language specific messaging, defaults to English.
  • Education Level [2]: used to segment consumers by LSM.
  • Postal Address:
  • Physical Address:
  • Delivery Address:

Location Dataset

  • Country [3]: the country the person resides in.
  • Region [3]: the region / state / province the person resides in.
  • City [3]: the city the person resides in.
[1](1, 2, 3) First Contact Info: This is considered inportant to collect before contacting a consumer so that communications can be optimised.
[2](1, 2) Extended Info: This is used for Extended segmentation.
[3](1, 2, 3) Location Info: This is used for regional segmentation.

User

A user is a represent of your login and is used to track owenership of and access to assets within the platform.

Campaign

A Campaign is a container into which interaction and import data is captured.

Interaction data is processed into Campaign and Consumer metadata which is used to update consumer profiles and Campaign statistics and reporting data.

Campaign Types

Is a Container to group campaigns by mechanics and can be content managed by the Organisation Admins.

Examples:
  • UnderLiner : Consumers Interact by redeeming in ‘UnderLiner Codes’ from purchased products.
  • Contact Form : Consumer information is collected from website contact form submissions.

Segment

This is a user defined group of consumers, which is defined by a series of filters.

The following segmentation option are currently available:
  • Brand: The brand(s) to which a consumer is subscribed.
  • Channel: The Communication Channel(s) to which a consumer has an address (Mobile Number, Email Address).
  • Age Range: The min and max values for consumer age groups.
  • Birthday: Allows for filtering on consumer date of birth with modifiers likes ({{today}}, {{tomorrow}}, {{nextweek}})
  • Interactions: Allows to segment your consumers based on campaign interaction behavior.
  • Interaction Date: Allows to segment your consumers based on interaction date.
  • Regional: Allows to segment your consumers based on their geographic information.
  • Gender: Allows to segment your consumers based on their gender info.
  • Insights: Allows to segment your consumers based on their responses to Insights Questions setup by the brand.

Interaction

An Interaction is a representation of the data sent to a BrandTribe Campaign. Interactions are created either by importing data from a file or via Campaign Integrations Interactions contain different types of metadata which is used to:

  • enrich consumers’ profile and subscription information
  • update campaign statistics.

Campaign Integration

Integrations are the mechanism to allow 3rd party applications to pass Interaction Data into the selected campaign. Integration can be setup in a couple of configuration, depending on level of integration required and technology available.

Supports:
  • Webhooks: This is the simpliest way to push integrations into a campaign, where a Json or Form Data is POSTED to a UniqueUrl.
  • REST: This is the recommended way for 3rd party applications to integrate with your BrandTribe Campaign. It allows for both POSTing of data to your campaign as well as querying consumer data from BrandTribe.

Organisation Setup

Now that you have created your Brandtibe account, there are a couple of things which should be configured to make the platform more useful and your life way easier.

Configuring Brands

You should consider adding a Brand for each of your major product line or business entities. Brands are the primary segmentation used to control your consumers opt permissions.

Managing Brands

This section allows you to view and manage your brands.

Brand Manager

Brand Manager Thing a ding.

//#.. image:: images/brands/config_brands_1.jpg // :align: center // :target: images/brands/config_brands_1.jpg // // Brand Manager

Adding Brands

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras aliquam dictum urna, volutpat congue lorem sollicitudin a. Sed varius elit vel nunc rutrum ultrices. In orci eros, ultrices id magna ut, volutpat egestas turpis. Fusce nulla turpis, luctus in ipsum id, elementum volutpat ligula. Nullam vitae ligula enim. Nunc ultricies orci a fringilla sagittis. Sed urna turpis, lobortis in est et, fringilla tempor tortor. Praesent nec odio eu nunc malesuada interdum. Donec at finibus quam.

_images/config_brands_2.jpg _images/config_brands_3.jpg _images/config_brands_4.jpg _images/config_brands_5.jpg

Editing Brands

Ut porttitor, velit id tristique bibendum, urna dui rutrum leo, ac semper tellus arcu in mauris. Nunc massa metus, aliquet eget luctus sed, eleifend quis ex. Aliquam a tincidunt metus, vitae tincidunt quam. Sed placerat felis eget turpis porttitor sagittis. Quisque sem libero, imperdiet sit amet risus in, congue pellentesque purus. Integer vel magna et neque ultricies imperdiet in eget odio. Duis mollis sagittis nisl eu fringilla. Vestibulum sapien elit, elementum sed molestie vitae, hendrerit rhoncus urna. Quisque sit amet facilisis nisi, at imperdiet nulla. Morbi blandit tempus mauris et ornare. Praesent iaculis dictum augue, viverra placerat urna. Phasellus interdum rhoncus suscipit. Integer vehicula eu nisl eu tristique. Maecenas id tempus libero.

_images/config_brands_6.jpg

Configuring Campaign Types

This allows you to customise the default campaign types used by your Organisation. These are used to segment your campaigns so that we can determine which CRM drivers perform by type of campaign.

Managing Campaign Types

Manage Campaign Types allows you to view the campaign types configured for your Organisation. There will be a couple of defaults created when your Organisation is created, you’re welcome to delete them if they’re not to your liking.

_images/config_campaign_types_1.jpg

Adding new Campaign Types

Add new Campaign Types by

_images/config_campaign_types_2.jpg _images/config_campaign_types_3.jpg

Editing Campaign Types

_images/config_campaign_types_4.jpg

Managing Users

Users are people you wish to give access to your Organisation. Depending on their role you can determine what information they have access to and which action they can perform.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce euismod justo ut risus semper rhoncus in sit amet orci. Sed rutrum ullamcorper mauris, sollicitudin placerat nibh scelerisque ac. Praesent a nulla rutrum, finibus diam eu, elementum ante. Integer elementum purus sed felis blandit euismod. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis lacus lorem, facilisis at pharetra nec, consectetur at neque. Ut finibus metus eget nisi pretium mattis.

Inviting Users

Maecenas tincidunt scelerisque eros, ut pharetra est pulvinar vitae. Integer vel velit lorem. Aliquam malesuada elementum odio, ut blandit velit sodales vel. Donec in rhoncus elit. Donec posuere purus ipsum, eu feugiat nunc commodo et. Quisque nisi lacus, ultricies gravida purus at, ultricies luctus lorem. Sed cursus ultricies eros, id blandit mi. Vestibulum sit amet nulla rutrum, maximus massa non, lacinia orci. Nullam accumsan nec orci ac eleifend. Sed hendrerit, nibh quis pretium vestibulum, erat tortor convallis lacus, non consequat ipsum.

Campaign Setup

This section covers campaign management.

Campaign management

This section allows you to view a list of active campaigns

New Campaign

New campaigns are created by clicking ‘Add Campaign’ from the Actions menu on the campaign management page.

_images/campaign_management_2.jpg
_images/campaign_management_3.jpg
_images/campaign_management_4.jpg

Importing Data

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras aliquam dictum urna, volutpat congue lorem sollicitudin a. Sed varius elit vel nunc rutrum ultrices. In orci eros, ultrices id magna ut, volutpat egestas turpis. Fusce nulla turpis, luctus in ipsum id, elementum volutpat ligula. Nullam vitae ligula enim. Nunc ultricies orci a fringilla sagittis. Sed urna turpis, lobortis in est et, fringilla tempor tortor. Praesent nec odio eu nunc malesuada interdum. Donec at finibus quam.

Ut porttitor, velit id tristique bibendum, urna dui rutrum leo, ac semper tellus arcu in mauris. Nunc massa metus, aliquet eget luctus sed, eleifend quis ex. Aliquam a tincidunt metus, vitae tincidunt quam. Sed placerat felis eget turpis porttitor sagittis. Quisque sem libero, imperdiet sit amet risus in, congue pellentesque purus. Integer vel magna et neque ultricies imperdiet in eget odio. Duis mollis sagittis nisl eu fringilla. Vestibulum sapien elit, elementum sed molestie vitae, hendrerit rhoncus urna. Quisque sit amet facilisis nisi, at imperdiet nulla. Morbi blandit tempus mauris et ornare. Praesent iaculis dictum augue, viverra placerat urna. Phasellus interdum rhoncus suscipit. Integer vehicula eu nisl eu tristique. Maecenas id tempus libero.

Exporting Data

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras aliquam dictum urna, volutpat congue lorem sollicitudin a. Sed varius elit vel nunc rutrum ultrices. In orci eros, ultrices id magna ut, volutpat egestas turpis. Fusce nulla turpis, luctus in ipsum id, elementum volutpat ligula. Nullam vitae ligula enim. Nunc ultricies orci a fringilla sagittis. Sed urna turpis, lobortis in est et, fringilla tempor tortor. Praesent nec odio eu nunc malesuada interdum. Donec at finibus quam.

Ut porttitor, velit id tristique bibendum, urna dui rutrum leo, ac semper tellus arcu in mauris. Nunc massa metus, aliquet eget luctus sed, eleifend quis ex. Aliquam a tincidunt metus, vitae tincidunt quam. Sed placerat felis eget turpis porttitor sagittis. Quisque sem libero, imperdiet sit amet risus in, congue pellentesque purus. Integer vel magna et neque ultricies imperdiet in eget odio. Duis mollis sagittis nisl eu fringilla. Vestibulum sapien elit, elementum sed molestie vitae, hendrerit rhoncus urna. Quisque sit amet facilisis nisi, at imperdiet nulla. Morbi blandit tempus mauris et ornare. Praesent iaculis dictum augue, viverra placerat urna. Phasellus interdum rhoncus suscipit. Integer vehicula eu nisl eu tristique. Maecenas id tempus libero.

Segmenting Consumers

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras aliquam dictum urna, volutpat congue lorem sollicitudin a. Sed varius elit vel nunc rutrum ultrices. In orci eros, ultrices id magna ut, volutpat egestas turpis. Fusce nulla turpis, luctus in ipsum id, elementum volutpat ligula. Nullam vitae ligula enim. Nunc ultricies orci a fringilla sagittis. Sed urna turpis, lobortis in est et, fringilla tempor tortor. Praesent nec odio eu nunc malesuada interdum. Donec at finibus quam.

Ut porttitor, velit id tristique bibendum, urna dui rutrum leo, ac semper tellus arcu in mauris. Nunc massa metus, aliquet eget luctus sed, eleifend quis ex. Aliquam a tincidunt metus, vitae tincidunt quam. Sed placerat felis eget turpis porttitor sagittis. Quisque sem libero, imperdiet sit amet risus in, congue pellentesque purus. Integer vel magna et neque ultricies imperdiet in eget odio. Duis mollis sagittis nisl eu fringilla. Vestibulum sapien elit, elementum sed molestie vitae, hendrerit rhoncus urna. Quisque sit amet facilisis nisi, at imperdiet nulla. Morbi blandit tempus mauris et ornare. Praesent iaculis dictum augue, viverra placerat urna. Phasellus interdum rhoncus suscipit. Integer vehicula eu nisl eu tristique. Maecenas id tempus libero.

Understanding Dashboards

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras aliquam dictum urna, volutpat congue lorem sollicitudin a. Sed varius elit vel nunc rutrum ultrices. In orci eros, ultrices id magna ut, volutpat egestas turpis. Fusce nulla turpis, luctus in ipsum id, elementum volutpat ligula. Nullam vitae ligula enim. Nunc ultricies orci a fringilla sagittis. Sed urna turpis, lobortis in est et, fringilla tempor tortor. Praesent nec odio eu nunc malesuada interdum. Donec at finibus quam.

Ut porttitor, velit id tristique bibendum, urna dui rutrum leo, ac semper tellus arcu in mauris. Nunc massa metus, aliquet eget luctus sed, eleifend quis ex. Aliquam a tincidunt metus, vitae tincidunt quam. Sed placerat felis eget turpis porttitor sagittis. Quisque sem libero, imperdiet sit amet risus in, congue pellentesque purus. Integer vel magna et neque ultricies imperdiet in eget odio. Duis mollis sagittis nisl eu fringilla. Vestibulum sapien elit, elementum sed molestie vitae, hendrerit rhoncus urna. Quisque sit amet facilisis nisi, at imperdiet nulla. Morbi blandit tempus mauris et ornare. Praesent iaculis dictum augue, viverra placerat urna. Phasellus interdum rhoncus suscipit. Integer vehicula eu nisl eu tristique. Maecenas id tempus libero.

API overview

The Brandtribe (TM) API allows for 3 types of integrations.

  • Webhooks: this allows for simple pushing of inteaction data into the system and requires no authentication, we recommend using IP white listing with these integrations.
  • Basic REST Api: allows for pushing of interactions data to Brandtribe, as well as the querying of consumer and analytics data. Makes use of HTTP Basic authentication, and is the recommended and most simple approach for most use cases.
  • Advanced REST Api: allows for deep integration with the Brandtribe ecosystem, and requires that your application be registed and approved via our developers portal.

Obtaining API Credentials

In most cases credentials can be found in the “Integrations” Section of campaign setup.

This will give you the UNIQUE URL for your campaign, as well as allow for creation / management of integration credentials.

Should you not have access to the Brandtribe platform, please contact support@brandbribe.biz for access credentials.

Making a request

Here’s an example of interacting with Encode Redemption API via REST. To make requests using Json, specify application/json for your Content-Type and Accept headers.

A simple example with curl.

1
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -u 'USERNAME:PASSWORD' -d '{"code":"XXAACCEE","redeemer":"27831234567"}' 'https://encode-api.techsys.co.za/Redeem/ef4284cd361a499991162a0baa5ad879'

Quick Samples

Below is a list of guides to get up and running very quickly in a few common languages.

dotNet

  1. Download the encode.client package from Techsys Package Server
  2. Create a campaign on the encode platform.
  3. Add an Integration.
  4. Copy the Integration Url, Username and Password from the integrations section, which you will use to configure the client.
1
2
3
4
5
6
7
8
var config = new EncodeClientConfig {
    Url = "https://encode-api.techsys.co.za/redeem/xxxxxxxxxxxxxxxxxxxxxxxxxxx",
    Username = "USERNAME",
    Password = "PASSWORD"
};

var client = EncodeClientFactory.Create(config);
var result = client.Redeem("27831234567", "XXAACCEE");

All components are designed to be injected.

The Client config should be injected as a Singleton and the Client as a Scoped or Transient.

Php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$username = 'USERNAME';
$password = 'PASSWORD';
$url = 'https://encode-api.techsys.co.za/redeem/xxxxxxxxxxxxxxxxxxxxxxxxxxx'
$headers = array(
    'Content-Type:application/json',
    'Authorization: Basic '. base64_encode($username . ":" . $password)
);
$data = array("code" => "XXAACCEE", "redeemer" => "27831234567");
$payload = json_encode($data);

$process = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $payload);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);

Node