Streamate Blacklabel

Integration Guide v 1.2.3

Nov 6, 2018

Introduction

This guide will introduce you to the basics and benefits of Streamate blacklabels and help you integrate with our API.

In this section, you’ll learn about the features of blacklabels and how they compare to whitelabels.

What is a blacklabel?

A blacklabel is a seamless integration of Streamate’s live cam content on your website. Using multiple API endpoints and the Live Show client, your site’s members can search for performers, view their details, and spend money on paid shows directly on your website.

The Live Show client enables users to watch live free and paid shows, and chat with the performers. Free shows require no authentication, but if one of your users wants to watch a paid show, they can link their existing Streamate account or provide new payment information.

What does it look like?

Blacklabels are fully customizable and can use the content provided by Streamate’s API to perfectly integrate live cam content within your existing website and branding.

How does it work?

Integrating with Streamate content requires:

What is the difference between a blacklabel and a whitelabel?

Blacklabels and whitelabels are similar but have different features and implementations.

affinitycamslive.com (whitelabel) vs. affinitycams.com (blacklabel)

A whitelabel (seen above on the left) is hosted by Streamate. It skins the Streamate content to match the affiliate’s branding. The domain is registered by Streamate and whitelabel owners use Streamate’s Cambuilder tool to design and configure it. Usage and revenue data is tracked by Streamate and visible in Cambuilder.

The advantages of a whitelabel include:

A blacklabel (seen above on the right) is hosted by you and is completely custom-built. Blacklabels use their existing site to host Streamate content by making external API calls and using the retrieved data to populate search results, performer information, and more. The Live Show client is placed somewhere on the affiliate’s existing site so that users can watch and chat with live performers.

The advantages of a blacklabel include:

Quick Start

The blacklabel product enables you to integrate the following Streamate features on your own website:

Authenticating users

Authentication with a Streamate server is required for users to participate in paid shows. If a blacklabel user has already had Streamate credentials created for them for that blacklabel, they will be logged in. If a blacklabel user does not have an existing Streamate account, the blacklabel must submit user data that Streamate can use to create one.

Authenticating a user with existing blacklabel and Streamate accounts

The following diagram shows how Streamate authenticates blacklabel users with linked Streamate accounts. To fully authenticate, a user must have a valid status and valid payment data on file with Streamate:

To authenticate an existing user:

  1. The blacklabel makes a service call to Streamate’s /auth endpoint, posting the required user data (see the “Authorization Operation” section later in this guide).

  2. Streamate validates the HMAC data and confirms that the hash is valid and not expired.

  3. Streamate checks the state of the user.

    a. If the user account is in good standing, the payment information is checked.

    i.  *If the payment information is good*, the authorization
        service returns an sakey. The blacklabel client should
        reload the Live Show component using this key—the user is
        now logged in and can begin spending.
    
    ii. *If the payment information is bad (missing or flagged
        as invalid)*, the authorization service will
        return SM_REQUIRES_BILLING_DATA. The blacklabel client
        should prompt the user to provide billing information (see
        “Creating a Streamate Account” below), then direct the user
        to the destination specified in returnUrl.
    

    b. If the user account is not in good standing, the authorization service returns SM_REQUIRES_SUPPORT. The blacklabel client should direct users to Streamate’s live chat (<whitelabel>/supportchat.html) for support.

Creating a Streamate account

If a blacklabel attempts to authenticate a user (see above), but no matching Streamate account is found, the user will need to provide their billing data.

The following diagram shows how Streamate collects a user’s payment information and sends it to a payment processor.

To add payment information for a user:

  1. If the blacklabel doesn’t have a blacklabel userid, email, and country for the user, it should collect it (or create it, in the case of the userid).

You can optionally use the /userexists endpoint to check if Streamate already has details for this user (see the “User Exists Operation” section later in this guide). You still need to collect user data, in case the email and password do not exactly match a Streamate account.

  1. The blacklabel forwards the users to the matching whitelabel’s /blacklabel/paymentinfo/ page (an HTTPS redirect, not a cURL request) with the query parameters below appended. Note that a trailing slash should be included as such: /blacklabel/paymentinfo/?parameter=value
Parameter Description Required
referrerid Streamate-provided ID. Yes
email The user’s email address. Yes
password The user’s password. Yes
clientUserId The blacklabel’s user ID. Yes
nickname The user’s desired nickname. (Users with nicknames that violate Streamate’s standards will be given a temporary nickname.) Yes
country The user’s country. Yes
zip The user’s zip code. (Required in US only.) Yes (US only)
returnURL The URL to redirect the user to at the end of the process. Yes
firstname The user’s first name. No
lastname The user’s last name. No
address The user’s street address. No
city The user’s city. No
state The user’s state. No
lang The user's language (two letter code, uppercase/case sensitive) No
trackingid A numeric value used to group revenue for tracking purposes No
referrerKey A flexible value that can be used for any kind of tracking No
  1. Streamate saves the user data, identifies an appropriate payment processor, and redirects the user to the processor’s form. (This step is a pass-through process and should not be visible to the user.)

  2. On the processor’s form, the user enters their payment information, making any corrections required by the processor.

  3. The processor saves the payment data and sends the results to Streamate.

  4. The processor redirects the user back to the Streamate server.

  5. When Streamate receives valid payment data from the processor, it:

    a. Creates a Streamate user account

    b. Creates an sakey

    c. Forwards the user to the page specified in returnUrl

  6. When the blacklabel client receives the sakey, it should reload the Live Show component using the new sakey.


NOTE:

Looking for information about AFNOs? You can mark joins the same way you would with an AFNO by passing in the trackingid and referrerKey fields mentioned above to your whitelabel’s /blacklabel/paymentinfo/ page.


Searching for performers

Blacklabels can use the Search List endpoint to display a list of performers that includes their photo and other personal details like their username, age, location, online status, and so on.

Running an “empty” search will return the default search results.

Running a search using any combination of available parameters will return only the matching results. If, for example, you use the keyword “brunette,” your search results will only include performers who use the word “brunette” somewhere in their performer details.

Blacklabels can also use the Search Categories endpoint to request a list of categories for users to pick from, with the number of online performers in each category. This lets the user filter their