Migrating from Generation 1 to Generation 2 APIs

This page lists the differences between Wireless Network Services Generation 1 and Generation 2 APIs at the time of the initial introduction of Generation 2 APIs with the 4.0 release in May 2013. If you are planning to migrate your application from Generation 1 to Generation 2, you will need to identify any APIs listed on this page that your application uses and then modify your code to use the equivalent Generation 2 APIs.

For more information see [[FAQ:Wireless Network Services Generation 2 FAQ.html">Wireless Network Services Generation 2 FAQ .

Account Service APIs

Generaion 1 Generation 2
GetRatePlanList

GetRatePlanList is renamed to GetServicePlanList with these response parameter changes:

  • RatePlans is renamed to ServicePlans, and the object type RatePlan is renamed to ServicePlan
  • CarrierRatePlanCode in the ServicePlan object has been renamed to CarrierServicePlanCode

Callback Registration Service APIs

There are no differences in Callback Registration Service APIs between Generation 1 and Generation 2.

Carrier Service APIs

Generaion 1 Generation 2
BulkChangeDeviceRatePlan BulkChangeDeviceRatePlan is no longer necessary and has been removed. This functionality is now supported by ChangeDeviceServicePlan.
BulkChangeDeviceState BulkChangeDeviceState is no longer necessary and has been removed. This functionality is now supported by ChangeDeviceState.
ChangeDeviceRatePlan

ChangeDeviceRatePlan is renamed to ChangeDeviceServicePlan with these parameter changes:

  • RatePlan is renamed to ServicePlan
  • Device had been replaced by DeviceList
ChangeDeviceState

ChangeDeviceState request has these parameter changes

  • Device has been replaced by DeviceList
  • MdnZipCode is required in an Activate request
  • ReasonCode and EtfWaiver are required in a Deactivate request
UpdateDeviceInformation UpdateDeviceInformation is no longer necessary and has been split into ChangeDeviceCustomFields and ChangeDeviceIdentifier.

Device Service APIs

Generaion 1 Generation 2
AddDevices

AddDevicesRequest

  • Field DevicesToAdd is changed from a list of DeviceIdentifier objects to a DeviceIdentifierCollection object
  • DeviceGroupName is renamed to DeviceGroupNames and changed from a string to a list of strings AddDevicesResponse
  • Device field in each ReturnMessage object is changed from a DeviceIdentifier type to a DeviceIdentifierCollection type
GetDeviceConnectionHistory

GetDeviceConnectionHistoryResponse

  • All fields for DeviceConnectionEvent (except OccuredAt) have been replaced with field ConnectionEventAttribute, a list of key-value pairs
GetDeviceConnectedStatus The GetDeviceInformation and GetDeviceList APIs now return Connected and LastConnectionDate in the DeviceInformation object, so GetDeviceConnectedStatus is no longer necessary.
GetDeviceInformation

GetDeviceInformationResponse

  • DeviceInformation object has these changes:

    • Field RatePlan is renamed to ServicePlan
    • Fields CarrierName, ServicePlan, and State are encapsulated in new field CarrierInformation of type CarrierInformation
    • DeviceGroupName is changed from a string to a list of strings
    • Fields ESN, ICCID, IMSI, MDN, and MEID have been removed and replaced with field DeviceIdentifiers, which is a list of DeviceIdentifier objects
    • Fields StaticIpAddress and DynamicIpAddress have been consolidated into single IPAddress field, which may be static or dynamic based on device connectivity
    • Fields CustomField1, CustomField2, CustomField3, CustomField4, and CustomField5 have been removed and replaced with field CustomFields, a list of CustomFieldObj objects
    • Fields Connected, LastConnectionDate, LastActivationDate, LastActivationBy, and BillingCycleEndDate have been added
  • 4.1: MIN has been added as a valid option for DeviceIdentifiers and GetDeviceList can now return MIN for 2G and 3G devices
GetDeviceList

GetDeviceListResponse

  • DeviceInformation object has these changes:

    • Field RatePlan is renamed to ServicePlan
    • Fields CarrierName, ServicePlan, and State are encapsulated in new field CarrierInformation of type CarrierInformation
    • DeviceGroupName is changed from a string to a list of strings
    • Fields ESN, ICCID, IMSI, MDN, and MEID have been removed and replaced with field DeviceIdentifiers, which is a list of DeviceIdentifier objects
    • Fields StaticIpAddress and DynamicIpAddress have been consolidated into single IPAddress field, which may be static or dynamic based on device connectivity
    • Fields CustomField1, CustomField2, CustomField3, CustomField4, and CustomField5 have been removed and replaced with field CustomFields, a list of CustomField objects
    • Fields Connected, LastConnectionDate, LastActivationDate, LastActivationBy, and BillingCycleEndDate have been added
  • 4.1: MIN has been added as a valid option for DeviceIdentifiers and GetDeviceList can now return MIN for 2G and 3G devices
GetDeviceProvisioningHistory

GetDeviceProvisioningHistoryResponse

  • Field RatePlan is renamed to ServicePlan
  • Field Msisdn has been added
GetDeviceCapabilities The GetDeviceCapabilities API was removed from both Generation 1 and Generation SDKs in version 4.4.3, which was released in May 2015.
GetAggregateDeviceUsage

Introduced in 4.1

  • Retrieves the aggregate device usage for a set of devices over a specified time range. The asynchronous result returned indicates:
  • The total amount of data sent over the network by all specified devices.
  • The total number of SMS messages sent or received by all specified devices.
GetRatedDeviceUsage

Introduced in 4.1

  • Retrieves rated data for the current billing cycle for a specified set of devices. The API returns the rated device usage data is asynchronously via the callback mechanism.

Device Group Service APIs

There are no differences in Device Group Service APIs between Generation 1 and Generation 2.

Enhanced Connectivity Service APIs

Device Control Service APIs and Data Delivery Service APIs are now part of the newly added Enhanced Connectivity Service.

Generaion 1 Generation 2
RemotePrlUpdate The RemotePrlUpdate API was removed from both Generation 1 and Generation SDKs in version 4.4.3, which was released in May 2015.
SendSmsMessage

SendSmsMessage has been moved to Enhanced Connectivity Service from Device Control Service.

SendSmsMessageRequest

  • Field Device, a single DeviceIdentifier object, is replaced with Devices field, a list of DeviceIdentifier objects

SendSmsMessageResponse

  • Returns success/error through callback, rather than synchronously, for single device
  • Field RequestId has been added
WakeUpDevice The WakeUpDevice API was removed from both Generation 1 and Generation SDKs in version 4.4.3, which was released in May 2015.
GetSmsMessages GetSmsMessages has been moved to Enhanced Connectivity Service from DataDeliveryService.
StartSmsCallback StartSmsCallback has been moved to Enhanced Connectivity Service from DataDeliveryService.

Session Service APIs

There are no differences in Session Service APIs between Generation 1 and Generation 2.

General Response Changes

Verizon has updated several elements in API responses with a new field called ExtendedAttributes. ExtendedAttributes is a list of key-value pairs of strings.