Suspends service to one or more devices.
You should be familiar with the M2M Service Provisioning Rules before suspending and restoring service for devices.
A suspended device continues to be billed in accordance with the service plan associated with that device. A device cannot be suspended indefinitely, and the CarrierService callback message for this API includes information about when the device will automatically return to the Active state due to reaching the maximum number of days allowed by the account contract.
You can specify a list of individual devices, or work with all devices in an account or device group. You can filter the account or device group by service plan or custom field value to limit the devices affected.
The ThingSpace Platform sends an asynchronous CarrierService callback message for each device in the request when service for the device has been suspended, or if there was a problem and the service suspension failed.
Parameter | Type | Description |
---|---|---|
DeviceList
optional |
DeviceIdentifierCollection | A list of the devices for which you want to suspend service, specified by device identifier. You only need to provide
one identifier per device. Do not pass DeviceGroupName, AccountName, DeviceCustomFieldFilter, or DeviceServicePlanFilter
if you use this parameter.
You can use GetDeviceList to get a list of all devices in the account. For each device in DeviceList, use this structure of nested parameters: <DeviceIdentifierCollection> <DeviceIndentifiers> <DeviceIdentifier> <Kind></Kind> <Identifier></Identifier> </DeviceIdentifier> </DeviceIndentifiers> </DeviceIdentifierCollection> |
Kind
required for DeviceList |
string | The type of the device identifier. Valid types of identifiers are:
|
Identifier
required for DeviceList |
string | The value of the device identifier. |
DeviceGroupName
optional |
string | The name of a device group if you want to suspend service for all devices in that group. |
AccountName
optional |
string | The name of an account, which can serve one of two purposes:
An account name is usually numeric, and must include any leading zeros. |
DeviceServicePlanFilter
optional |
string | The name of a service plan, if you want to only include devices that have that service plan. You can use GetServicePlanList to get a list of all service plans in the account. |
DeviceCustomFieldFilter
optional |
CustomFieldFilterObject | The names and values of custom fields, if you want to only include devices that have matching custom fields. |
Name
required for DeviceCustomFieldFilter |
string | The name of the custom field. Valid names are CustomField1, CustomField2, CustomField3, CustomField4, and CustomField5. |
Value
required for DeviceCustomFieldFilter |
string | The value of the custom field.
Allowed characters in custom field values
|
Suspend
required |
SuspendDeviceRequest | Suspends service for the specified devices. |
* You can either specify individual devices with the DeviceList parameter, or you can run the request on all devices that have a specified account name, device group name, service plan name, or custom field value. You can specify an AccountName or a DeviceGroupName plus one or both filters to identify only those devices that match all criteria.
Parameter | Type | Description |
---|---|---|
RequestId | string | A unique string that associates the request with the results that are sent via a callback service.
The ThingSpace Platform will send a separate callback message for each device that matched the request criteria, indicating whether the operation succeeded for that device and containing any requested information. All of the callback messages will have the same RequestId. |
Parameter | Type | Description |
---|---|---|
CallbackRequest | CallbackRequest | Wrapper element for all callback elements. |
Username | string | The username defined when a URL was registered for the callback service, or an empty element if no username was defined. |
Password | string | The password defined when a registered for the callback service, or an empty element if no password was defined. |
RequestId | string | A unique string that matches the RequestId returned in the synchronous response to the original API request.
A separate callback message is sent for each device that matched the request criteria, indicating whether the operation succeeded for that device. All of the callback messages will have the same RequestId. |
Device | DeviceIdentifier | The device that was changed. |
Kind | string | The type of the device identifier. Valid types of identifiers are:
|
Identifier | string | The value of the device identifier. |
Data | CallbackData | The data elements for this callback. |
CarrierService | CarrierServiceCallbackRequest | The data returned from a CarrierService API request. |
ChangeDeviceState | ChangeDeviceStateResponse | Contains child elements for successful ChangeDeviceState requests. Null for other CarrierService requests. |
Activate | ActivateDeviceResponse | Null in ChangeDeviceState - Suspend callback messages. |
Deactivate | DeactivateDeviceResponse | Null in ChangeDeviceState - Suspend callback messages. |
Restore | RestoreDeviceResponse | Null in ChangeDeviceState - Suspend callback messages. |
Suspend | SuspendDeviceResponse | Contains information about when the device will automatically return to the Active state due to reaching the maximum number of suspend days allowed by the account contract. |
ExpectedResumeDate | string | The date that the device will auto-resume based on the suspend reason code, the account contract, and the number of days that it has already been suspended in the last 12 months. |
MaxSuspendDaysAllowed | int | The number of suspension days associated with the suspend reason code. |
NumDaysSuspendedLast12Months | int | The number of days that the MDN has been suspended in the past 12 months. |
NumDaysSuspendAllowedCurrent12Months | int | The remaining number of days in the current 12-month period that the MDN is allowed to be suspended. |
Reconnect | ReconnectDeviceResponse | Null in ChangeDeviceState - Suspend callback messages. |
ChangeDeviceFeatureCodes | ChangeDevicefeatureCodesResponse | Null for ChangeDeviceState requests. |
ChangeDeviceServicePlan | ChangeDeviceServicePlanResponse | Null for ChangeDeviceState requests. |
ChangeDeviceCostCenter | ChangeDeviceCostCenter Response | Null for ChangeDeviceState requests. |
ChangeDeviceCustomFields | ChangeDeviceCustomFieldsResponse | Null for ChangeDeviceState requests. |
ChangeDeviceIdentifier | ChangeDeviceIdentifierResponse | Null for ChangeDeviceState requests. |
Change4GDeviceIdentifier | Change4GDeviceIdentifierResponse | Null for ChangeDeviceState requests. |
MoveDevice | MoveDeviceResponse | Null for ChangeDeviceState requests. |
ChangeDeviceContactInfo | ChangeDeviceContactInfo Response | Null for ChangeDeviceState requests. |
ExternalProvisioningChange | ExternalProvisioningChange | Null for this callback service. |
PromoChange | PromoChange | Null for this callback service. |
SMSDelivery | SMSDelivery | Null for this callback service. |
PRLInformation | PRLInformation | Null for this callback service. |
DeviceSuspendStatus | DeviceSuspendStatus | Null for this callback service. |
Fault | SoapFault | Information about any errors that may have occurred. |
faultcode | QName | |
faultstring | string | |
faultfactor | anyURI | |
detail | ||
Comment | string | An informational message about the suspension, such as "Device Suspended - Applicable Charges Will Continue" |
Summary | SummaryReport | Null for this callback service. |
Status | string | Success or Failed. |
CallbackCount | integer | The number of times this callback message has been sent. |
MaxCallbackThreshold | integer | The maximum number of times this callback message will be sent if it is not correctly acknowledged. |
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://nphase.com/unifiedwebservice/v2" xmlns:nph="http://schemas.datacontract.org/2004/07/NPhase.UnifiedWebService.APIs.v2.Contract.CarrierService" xmlns:nph1="http://schemas.datacontract.org/2004/07/NPhase.UnifiedWebService.APIs.v2.Contract.Common" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <soapenv:Header> <v2:token>current_session_token</v2:token> </soapenv:Header> <soapenv:Body> <v2:ChangeDeviceState> <v2:Input> <nph:DeviceList> <nph1:DeviceIdentifierCollection> <nph1:DeviceIdentifiers> <nph1:DeviceIdentifier> <nph1:Kind>ESN</nph1:Kind> <nph1:Identifier>09611822299</nph1:Identifier> </nph1:DeviceIdentifier> </nph1:DeviceIdentifiers> </nph1:DeviceIdentifierCollection> </nph:DeviceList> <nph:Suspend /> </v2:Input> </v2:ChangeDeviceState> </soapenv:Body> </soapenv:Envelope>
<ChangeDeviceStateResponse xmlns="http://nphase.com/unifiedwebservice/v2"> <Output xmlns:a="http://schemas.datacontract.org/2004/07NPhase.UnifiedWebService.APIs.v2.Contract.CarrierService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:RequestId>2c90bd28-ece4-42ef-9f02-7e3bd4fbff33</a:RequestId> </Output> </ChangeDeviceStateResponse>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <CallbackRequest xmlns="http://nphase.com/unifiedwebservice/v2"> <Username/> <Password/> <RequestId>2c90bd28-ece4-42ef-9f02-7e3bd4fbff33</RequestId> <Device> <Kind>iccid</Kind> <Identifier>89148000000800784259</Identifier> </Device> <Data> <Data> <CarrierService> <ChangeDeviceState> <Activate xsi:nil="true"/> <Deactivate xsi:nil="true"/> <Restore xsi:nil="true"/> <Suspend> <ExpectedResumeDate>05/25/2017</ExpectedResumeDate> <MaxSuspendDaysAllowed>180</MaxSuspendDaysAllowed> <NumDaysSuspendedLast12Months>93</NumDaysSuspendedLast12Months> <NumDaysSuspendAllowedCurrent12Months>87</NumDaysSuspendAllowedCurrent12Months> </Suspend> <Reconnect xsi:nil="true"/> </ChangeDeviceState> <ChangeDeviceFeatureCodes xsi:nil="true"/> <ChangeDeviceServicePlan xsi:nil="true"/> <ChangeDeviceCostCenter xsi:nil="true"/> <ChangeDeviceCustomFields/> <ChangeDeviceIdentifier xsi:nil="true"/> <Change4GDeviceIdentifier xsi:nil="true"/> <MoveDevice xsi:nil="true"/> <ChangeDeviceContactInfo/> </CarrierService> <ExternalProvisioningChange xsi:nil="true"/> <PromoChange xsi:nil="true"/> <SMSDelivery xsi:nil="true"/> <PRLInformation xsi:nil="true"/> <GoToState xsi:nil="true"/> <Fault xsi:nil="true"/> <Comment>Device Suspended - Applicable Charges Will Continue</Comment> <Summary xsi:nil="true"/> <Status>Success</Status> <CallbackCount>1</CallbackCount> <MaxCallbackThreshold>4</MaxCallbackThreshold/> </Data> </Data> </CallbackRequest> </s:Body> </s:Envelope>