1. A machine-to-machine (“M2M”) device comprising: an M2M device client configured to: provide a platform messaging interface through which the M2M device client communicates with an M2M platform subsystem by way of a network, and provide an application interface that comprises a set of application program interfaces (“APIs”) through which an application installed on the M2M device interfaces with the M2M device client; wherein the set of APIs comprises: a discovery API that includes a start-discovery-call configured to be called by the application to initiate a discovery process to facilitate a discovery of the M2M device by the M2M platform subsystem, a discovery-in-progress callback configured to notify the application that the discovery process is in progress, and a discovery-completed callback configured to notify the application that the discovery process is complete; a configuration API that includes a get configuration call configured to be called by the application to request data representative of a device configuration received from the M2M platform subsystem after the M2M device is discovered to the M2M platform; and a data delivery API that includes a queue-data call configured to be called by the application to request that data representative of at least one of a device reading, a device event, and a device error be queued for transmission to the M2M platform subsystem, a send-data call configured to be called by the application in accordance with the device configuration to request that queued data representative of the at least one of the device reading, the device event, and the device error be transmitted to the M2M platform subsystem, and a send-data callback configured to notify the application that the transmitted data has been received by an M2M transport protocol messaging layer of the platform messaging interface.