1. A machine-to-machine (“M2M”) device comprising: at least one hardware processor; a sensor that performs at least one of collecting, from a customer asset communicatively connected to the M2M device, a device reading of one or more parameters of the customer asset, detecting a predetermined device event, and detecting a device error; an application that collects, from the sensor, data representative of at least one of the device reading, the device event, and the device error; and an M2M device client that directs the at least one hardware processor to: provides a platform messaging interface through which the M2M device client communicates with an M2M platform subsystem by way of a network, and provides an application interface that comprises a set of application program interfaces (“APIs”) through which the application 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 the data representative of the at least one of the device reading, the device event, and the 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.