Saasquatch

public class Saasquatch

Saasquatch is the Referral Saasquatch iOS SDK which provides a set of methods for interfacing with Referral SaaSquatch. It can register user with Referral SaaSquatch, retrieve information about users and referral codes, validate referral codes, and apply referral codes to a user’s account.

Information on our iOS SDK can be found on our iOS SDK Overview.

Information about authentication for our mobile SDK can be found on our Open Endpoints page.

  • Registers a user with Referral SaaSquatch.

    Note

    The top level object in userInfo will be an NSDictionary containing the JSON data to be passed to the Referral SaaSquatch server. This requires the secret, id, and accountId values and can include several others. For a complete description see the Referral SaaSquatch REST API docs. Here is an example:

    
           let userInfo: [String: AnyObject] =
           [
               "secret": "978-0440212560",
               "id": "10001110101",
               "accountId": "10001110101",
               "email": "claire@lallybroch.com",
               "firstName": "Claire",
               "lastName": "Fraser",
               "locale": "en_US",
               "referralCode": "CLAIREFRASER"
           ]
    

    Warning

    The secret is your password for authenticating the user. It should not contain sensitive user data such as their password. Make sure to save it somewhere, or else you won’t be able to authenticate future requests for the user.

    Declaration

    Swift

    public class func registerUserForTenant(
            tenant: String,
            withUserID userID: String,
            withAccountID accountID: String,
            withUserInfo userInfo: AnyObject,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    userID

    A user ID from your system (must be unique for every user). We use this to uniquely track users, and lets us handle accounts that are shared between users.

    accountID

    We use this ID to link a group of users together. See Shared vs Solo Accounts to see what you should use here.

    userInfo

    A Foundation object from which to generate JSON for the request.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned user information constructed from the JSON response, and containing an NSError descibing the error if the request failed.

  • Gets a user’s information from Referral Saasquatch.

    Declaration

    Swift

    public class func userForTenant(
            tenant: String,
            withUserID userID: String,
            withAccountID accountID: String,
            withSecret secret: String,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    userID

    A user ID from your system (must be unique for every user). We use this to uniquely track users, and lets us handle accounts that are shared between users.

    accountID

    We use this ID to link a group of users together. See Shared vs Solo Accounts to see what you should use here.

    secret

    The secret for the user.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned user information constructed from the JSON response, and containing an NSError descibing the error if the request failed.

  • Gets a user’s information by their referral code.

    Declaration

    Swift

    public class func userByReferralCode(
            referralCode: String,
            forTenant tenant: String,
            withSecret secret: String?,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    referralCode

    The referral code of the user being looked up.

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    secret

    The secret for the user.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned user information constructed from the JSON response, and containing an NSError descibing the error if the request failed.

  • Checks if a referral code exists and retrieves information about the code and it’s reward.

    Declaration

    Swift

    public class func lookupReferralCode(
            referralCode: String,
            forTenant tenant: String,
            withSecret secret: String?,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    referralCode

    The referral code being validated.

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    secret

    The secret for the user.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned referral code context constructed from the JSON response, and containing an NSError descibing the error if the request failed.

  • Applies a referral code to a user’s account.

    Declaration

    Swift

    public class func applyReferralCode(
            referralCode: String,
            forTenant tenant: String,
            toUserID userID: String,
            toAccountID accountID: String,
            withSecret secret: String,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    referralCode

    The referral code to be applied.

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    userID

    A user ID from your system (must be unique for every user). We use this to uniquely track users, and lets us handle accounts that are shared between users.

    accountID

    We use this ID to link a group of users together. See Shared vs Solo Accounts to see what you should use here.

    secret

    The secret for the user.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned referral code information constructed from the JSON response, and containing an NSError descibing the error if the request failed.

  • Returns the list of referrals for the tenant with options for filtering.

    Declaration

    Swift

    public class func listReferralsForTenant(
            tenant: String,
            withSecret secret: String,
            forReferringAccountID accountID: String?,
            forReferringUserID userID: String?,
            beforeDateReferralPaid datePaid: String?,
            beforeDateReferralEnded dateEnded: String?,
            withReferredModerationStatus referredStatus: String?,
            withReferrerModerationStatus referrerStatus: String?,
            withLimit limit: NSString?,
            withOffset offset: NSString?,
            completionHandler: (userInfo: AnyObject?, error: NSError?) -> Void)

    Parameters

    tenant

    Identifies which tenant to connect to. For your app, you will get two tenant aliases – one for test mode and one for live mode. Test mode alias are prefixed with test_ , for example test_abhoihnqwet.

    secret

    The secret for the user.

    accountID

    When included, filters the results to only referrals that were referred by users with this account id.

    userID

    When included, filters the results to only referrals that were referred by users with this user id.

    datePaid

    When included, filters the results either to the exact timestamp if only one value is given, or a range if devided by a comma. I.E. 0,123412451 gives all referrals that converted between 0 and 123412451.

    dateEnded

    When included, filters the results either to the exact timestamp if only one value is given, or a range if devided by a comma. I.E. 0,123412451 gives all referrals that ended between 0 and 123412451.

    referredStatus

    When included, filters the result to only include referred users with that status. Statuses that are accepted: PENDING, APPROVED or DENIED.

    referrerStatus

    When included, filters the result to only include referrers with that status. Statuses that are accepted: PENDING, APPROVED or DENIED.

    limit

    A limit on the number of results returned. Defaults to 10.

    offset

    When included offsets the first result returns in the list. Use this to paginate through a long list of results. Defaults to 0.

    completionHandler

    A block object to be executed when the task finishes. This block has no return value and takes two arguments: the Foundation object containing the returned referrals information constructed from the JSON response, and containing an NSError descibing the error if the request failed.