Overview
Get the status of a subscriber based on an Orgcode. If you provide parent level Org Code, then it will display all the groups under the parent and status of the subscribers.
Note: Phone list allows a maximum of 100 mobile numbers per request.
Syntax
C#
[OperationContractAttribute()] SBT.API.DataContracts.Admin.WSSubscribersStatusResponse GetSubscribersStatus( string securityToken, string orgCode, List phone )
WSDL
Production: https://ui.solutionsbytext.com/Sbt.App.SetUp/WSServices/subscriberWSService.svc?singleWsdl
Staging: https://test.solutionsbytext.com/Sbt.App.SetUp/WSServices/subscriberWSService.svc?singleWsdl
Parameters
securityToken
– String[1000] (Required) – SecurityToken to authenticate the user
orgCode
– String[20] (Required) – Default Organization Code for Group, Division, Organization and Tenant.
phone
List<string> (Required) – List of phone numbers to be checked for status (maximum of 100 mobile numbers).
Return Value
WSSubscribersStatusResponse
| Name | Type | Description |
|---|---|---|
| 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<SubscriberStatus> | SubscriberStatus object *Phone – Subscriber mobile number. *CarrierID – Carrier Code of a subscriber mobile number. *Carrier – Carrier Name of a subscriber mobile number. *StatusID – StatusID of a subscriber mobile number (0=Not a subscriber, 1=Active, 2=Inactive, 16=Underverification, 26=Block). *Status – Status type of a subscriber mobile number. *OptInMethodID – Opt in ID of a subscriber mobile number (1=UI, 2=VBT / Widget, 3=Keyword, 4=FileUpload, 5=API). *OptInMethod – Opt In Type of a subscriber mobile number. *OptInDate – First opt in of a subscriber mobile number. *LatestOptInOutDate – Last opt in or opt out date of a subscriber mobile number. *UniqueID – UniqueID of the Subscriber |
Remarks
WSSubscribersStatusResponse
Developer Tips
The GetSubscribersStatus method reveals the current opt-in / opt-out status of a subscriber in the Solutions by Text platform.
Best practice recommendations are:
- Check the opt-in status of a subscriber or subscribers prior to delivering text campaigns so as to ensure the highest rate of successful message delivery for the campaign
- Only subscribers with StatusID = 1 should be included in the message delivery campaign
- Record the opt-in / opt-out status in order to fine-tune subsequent campaign delivery attempts
- Subscribers with StatusID <> 1 should be marked as opted-out
Example
C#
SubscriberClient subscriberService = new SubscriberClient("SubscriberWSServiceHttpEndpoint");
string securityToken = txtToken.Text;
string orgCode = txtOrgCode.Text;
List<string> phone = new List<string>();
string mobileNumber = txtMobileNo.Text;
phone.Add(mobileNumber);
WSSubscribersStatusResponse wSSubscribersStatusResponse = subscriberService.GetSubscribersStatus(securityToken, orgCode, phone.ToArray());
if (!wSSubscribersStatusResponse.Result)
{
//handle error
lblError.Text = wSSubscribersStatusResponse.Message;
}
else
{
//handle success
lblError.Text = wSSubscribersStatusResponse.Message;
}SOAP
Soap Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://SBTService/ServiceContracts/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<soapenv:Header/>
<soapenv:Body>
<ser:GetSubscribersStatus>
<!--Required:-->
<ser:securityToken>Security Token</ser:securityToken>
<!--Required:-->
<ser:orgCode>Org code of Group, Division, Organization or Tenent</ser:orgCode>
<!--Required:-->
<ser:phone>
<!--Zero or more repetitions:-->
<arr:string>Mobile Number</arr:string>
</ser:phone>
</ser:GetSubscribersStatus>
</soapenv:Body>
</soapenv:Envelope>
Soap Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetSubscribersStatusResponse xmlns="http://SBTService/ServiceContracts/">
<GetSubscribersStatusResult 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>1457</a:ErrorCode>
<a:Message>Successfully retrieved subscriber status</a:Message>
<a:Response>
<a:SubscriberStatus z:Id="i2">
<a:Group>Group Name</a:Group>
<a:Phone>Phone Number</a:Phone>
<a:CarrierID>79</a:CarrierID>
<a:Carrier>T-Mobile</a:Carrier>
<a:StatusID>1</a:StatusID>
<a:Status>Active</a:Status>
<a:OptInMethodID>1</a:OptInMethodID>
<a:OptInMethod>UI</a:OptInMethod>
<a:OptInDate>6/26/2014 6:10:24 AM</a:OptInDate>
<a:LatestOptInOutDate>5/18/2016 6:30:52 AM</a:LatestOptInOutDate>
<a:UniqueID>TestUID</a:UniqueID>
</a:SubscriberStatus>
</a:Response>
</GetSubscribersStatusResult>
</GetSubscribersStatusResponse>
</s:Body>
</s:Envelope>
PHP
<?php
$client = new SoapClient("https://ui.solutionsbytext.com/Sbt.App.SetUp/wsservices/subscriberWSService.svc?wsdl");
$param = array(
'securityToken' => 'securityToken',
'phone' => array('12345678901'),
'orgCode' => 'orgCode'
);
$response = $client->__soapCall('GetSubscribersStatus', array($param));
echo '<pre/>';
print_r($response);
if($response->GetSubscribersStatusResult->Result){
echo 'Message: '.$response->GetSubscribersStatusResult->Message;
}
else {
echo 'Message: '.$response->GetSubscribersStatusResult->Message;
}
?>REST
Method: GET
Sample C# Code:
var listOfPhones = new string[] { "test", "test123", "test456" };
var ArrlistOfPhones = JsonConvert.SerializeObject(listOfPhones).ToString();
System.Net.WebClient webClientGet = new System.Net.WebClient();
Uri getURi = new Uri("https://ui.solutionsbytext.com/SBT.App.SetUp/RSServices/SubscriberRSService.svc/GetSubscribersStatus?securityToken=" + "safdsfs" + "&orgCode=" + "dfsf" + "&phone=" + ArrlistOfPhones + "");
txtRequestFormat.Text = getURi.ToString();
var GetSubscriberStatusResponse = webClientGet.DownloadString(getURi);
Note: “GetSubscriberStatusResponse” will be in JSON format.
Response:
The response will be in JSON format like below:
{" GetSubscribersStatusResult": {
"Result": true,
"ErrorCode": 1457,
"Message": " Successfully retrieved subscriber status",
“
}}