Business at the Speed of Text

Take a few minutes to watch how Solutions by Text can provide you with a compliant solution to enhance the customer experience and increase your bottom line through the power of texting.

Watch Videos

Two-Way Texting Changes the Game

Put real-time text responses in your customers’ pockets and real-time access at your staff’s fingertips.

Find Out More

Two-Way Texting Changes the Game

Put real-time text responses in your customers’ pockets and real-time access at your staff’s fingertips.

Find Out More

Business at the Speed of Text

Take a few minutes to watch how Solutions by Text can provide you with a compliant solution to enhance the customer experience and increase your bottom line through the power of texting.

Watch Videos

We're here for you.

Solutions by Text offers 24 hour support - both online and offline.

Give us a Call

Two-Way Texting Changes the Game

Put real-time text responses in your customers’ pockets and real-time access at your staff’s fingertips.

Find Out More

See What's New

Solutions by Text continues to evolve and develop its suite of products and features. Take a look at what's new in our world.

Read more

We Work With the Best

From retail to financial solutions, we’re constantly working with our clients to push the boundaries and find new ways to leverage SMS for business.

See Our Success Stories

Reporting Limits:

1 connection per 15 minutes

No connections from 12:00AM to 2:00AM Central Time

Overview

Report of subscribers existing in a group with details on their susbcription method across the company.

Syntax

C#

[OperationContractAttribute()] 
SBT.API.DataContracts.Common.WSReportSubscribersResponse Subscribers( 
   string securityToken,
   string orgCode,
   string fromDate,
   string toDate,
   bool all,
   bool unique  
)


WSDL

Production: https://ui.solutionsbytext.com/Sbt.App.SetUp/WSServices/ReportWSService.svc?singlewsdl

Staging: https://test.solutionsbytext.com/Sbt.App.SetUp/WSServices/ReportWSService.svc?singlewsdl

 

Parameters

securityToken

- String[1000] (Required) - SecurityToken to authenticate the user

orgCode

- String[50] (Required) - Default Organization Code for the company, organization, division or group.

fromDate

- String[20] (Required) - Start date for Subscription. Date format is [mm/dd/yyyy].

toDate

- String[20] (Required) - End date for Subscription. Date format is [mm/dd/yyyy].

all

- bool (Optional) - True = Returns all subscribers no matter the date range provided, False = Returns subscribers subscribed based on the from_date and to_date supplied (Company, Organization, Division or Group). If left blank the default is false.

unique

- bool (Optional) - True = Returns the subscriber once. Status and Optout Date fields return as NULL. False = Returns the subscriber as many times as they have subscriptions within the organization (Company, Organization, Division or Group). If left blank the default is false. 

Note : If 'all' and 'unique' = True ,then it returns all the unique subscribers no matter the date range provided,If 'all' and 'unique' = False, then it returns subscribers subscribed based on the from_date and to_date provided (Company, Organization, Division or Group). If left blank the default is false.

 

Return Value

WSReportSubscribersResponse
NameTypeDescription
Result bool True/False whether the call was successful or not.
ErrorCode int For Success/Failure it returns an error number.
Message string Message related to Error code.
Response List If there are transaction details then they will be displayed.
CarrierID - The wireless provider ID for the subscriber carrier.
Carrier - The wireless provider name for the subscriber carrier.
Phone - Phone number of the subscriber.
FirstName - First name of subscriber.
LastName - Last name of subscriber.
Landline - Landline phone number if set.
Email - Email address of subscriber if set.
Group - Group to subscription is made.
Status - Status of subscriber(Returns list of active,Inactive,Underverification, Blocked subscribers if 'Unique' set as false).
OptinMethod - Method the susbcriber was opted into the system.
OptinDate - Date the subscriber was opted into the company, organization, division or group.
OptOutDate - Date of the subscriber was opted out of the company, organization, division or group (This will not be displayed if 'Unique' set as true).
CustomField1 - CustomField1 of Subscriber.
CustomField2 - CustomField2 of Subscriber.
CustomField3 - CustomField3 of Subscriber.
PrivateCode - UniqueID of Subscriber. While updating subscriber use PrivateCode or UniqueID
UniqueID - UniqueID of Subscriber. It is recommended to use this field for UniqueID instead of Private code


Example

C#

lblError.Text = "";
ReportClient reportService = new ReportClient("ReportWSServiceHttpEndpoint");
    string securityToken = txtToken.Text; ;
    string orgCode = txtOrgCode.Text;
    string fromDate = dtFromDate.Text;
    string toDate = dtToDate.Text;
    bool all = chkAll.Checked;
    bool unique = chkUnique.Checked;

    WSReportSubscribersResponse wSReportSubscribersResponse = reportService.Subscribers(securityToken, orgCode, fromDate, toDate, all, unique);
        if (!wSReportSubscribersResponse.Result)
            {
                //handle error
                lblError.Text = wSReportSubscribersResponse.Message;
            }
        else
            {
                //handle success
                lblError.Text = wSReportSubscribersResponse.Message;
            }

SOAP

Soap Request 
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://SBTService/ServiceContracts/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:Subscribers>
         <!--Required:-->
         <ser:securityToken>Security Token</ser:securityToken>
         <!--Required:-->
         <ser:orgCode>Org code</ser:orgCode>
         <!--Required:-->
         <ser:fromDate>From Date</ser:fromDate>
         <!--Required:-->
         <ser:toDate>To Date</ser:toDate>
         <!--Optional:-->
         <ser:all>0/1</ser:all>
         <!--Optional:-->
         <ser:unique>0/1</ser:unique>
      </ser:Subscribers>
   </soapenv:Body>
</soapenv:Envelope>

            

Soap Response
             
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
     <s:Body>
        <SubscribersResponse xmlns="http://SBTService/ServiceContracts/">
           <SubscribersResult z:Id="i1" xmlns:a="http://SBTAPIService/DataContract/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
              <a:Result>true</a:Result>
              <a:ErrorCode>1438</a:ErrorCode>
              <a:Message>Successfully retrieved subscriber report</a:Message>
             <a:Response z:Id="i2">
	    <a:WSReportSubscriberRow z:Id="i2">
	    <a:Carrier>Carrier</a:Carrier>
	    <a:CarrierID>CarrierID</a:CarrierID>
            <a:Email_x0020_>Email</a:Email_x0020_>
            <a:FirstName_x0020_>FirstName</a:FirstName_x0020_>
            <a:Group>Org1->Div2->Grp01</a:Group>
	    <a:LastName>LastName</a:LastName>
            <a:OptinDate>8/30/2013 2:49:36 PM</a:OptinDate>
            <a:OptinMethod>UI</a:OptinMethod>
	   <a:OptOutDate>8/30/2013 2:49:36 PM</a:OptOutDate>
            <a:Phone>MobilePhone</a:Phone>
	   <a:Status>Active</a:Status>
	   <a:CustomField1>CustomField1</a:CustomField1>
	   <a:CustomField2>CustomField2</a:CustomField2>
	   <a:CustomField3>CustomField3</a:CustomField3>
	   <a:PrivateCode>PrivateCode</a:PrivateCode>
	   <a:UniqueID>UniqueID of Subscriber</a:UniqueID>
            </a:WSReportSubscriberRow>
	 </a:Response> 
           </SubscribersResult>
        </SubscribersResponse>
     </s:Body>
  </s:Envelope>

JAVA

 ReportWSService srv = new ReportWSService();
 IReport iReport = srv.getReportWSServiceHttpEndpoint1();
 WSReportSubscribersResponse res = null;
		
 String securityToken = "securityToken";
 String orgCode = "OrgCode";
 String fromDate = "08/22/2013";
 String toDate = "09/22/2013";
 String note = "test";
 Boolean all = true;
 Boolean unique = true;

 try {
    	 res = iReport.subscribers(securityToken, orgCode, fromDate, toDate, all, unique);

 } catch (Throwable e) {
		e.printStackTrace();
 }

 if(res == null ){
		System.out.println("::Erron::");
		return;

 }
 if (res.isResult() == null || !res.isResult())
 {
		//handle error
		System.out.println("ErrorCode::"+res.getErrorCode());
		System.out.println("ErrorMessage::"+res.getMessage().getValue());
 }
 else
 {
		//handle success
		System.out.println("ID::"+res.getId());
		System.out.println("Message::"+res.getMessage().getValue());
 }

PHP

<?php
    $client = new SoapClient("https://ui.solutionsbytext.com/Sbt.App.SetUp/WSServices/ReportWSService.svc?wsdl");
   $param = array(
	'securityToken' => 'securityToken',
	'orgCode' => 'orgCode',
	'fromDate' => '08/22/2013',
	'toDate' => '10/22/2013',
	'all' => '0',
	'unique' => '0'
);

$response = $client->__soapCall('Subscribers', array($param));
echo '<pre/>';
print_r($response);
if($response->SubscribersResult->Result){
	echo 'Message: '.$response->SubscribersResult->Message;
}
else {
	echo 'Message: '.$response->SubscribersResult->Message;
}
?>
 
REST
 
Method: GET
 
URL: https://ui.solutionsbytext.com/SBT.App.SetUp/RSServices/ReportRSService.svc/Subscribers?securityToken=safdsfs&orgCode=dfsf&fromDate=01/31/2015 00:00:00&toDate=01/30/2016 00:00:00&all=true&unique=true
 
Response:
The response will be in JSON format like below:

{" SubscribersResult": {
   "Result": true,
   "ErrorCode": 1438,
   "Message": " Successfully retrieved subscriber report",
   "Response": { "List<WSReportSubscriberRow> response –
                         Subscribers details like Carreir,CarrierID,Group,Email etc. Information will display" }
   }}