Bypassing the Provisioning API
Understanding the reason for the Provisioning API
The reason the Provisioning API, and the Provisioning utility were created was to ensure ownership of hardware, and reduce data-entry errors when adding providers to the system. A two-step process allows an authenticated user to prepare the system for a device, and then have the device report in directly, avoiding the need for the user to retrieve the unique reporting identifier the device uses.
However, some devices cannot be interfaced with locally using USB or serial and must be provisioned without the second step in the process. To facilitate this, a new method has been created in the WebSocket to allow the direct addition of providers.
Adding a provider directly
When adding a device directly, the most important piece of information is the reporting id the device uses to identify itself. For most manufacturers, this is an ESN, IMEI, or other serial number printed on the outside of the box. Sometimes, it's a wholly different value not printed on the outside of the box. Be sure you know the id before adding providers.
mergeProvider {
"provider": {
"kind": "",
"company": 42,
"id": ""
}
}
When adding a provider, the required fields are kind, company, and id. Sometimes it may be necessary to add the password and phoneNumber fields to allow the device to properly communicate with the system. Do not specify the v property, or the WebSocket will treat your command as an updateProvider message instead.
Note: Adding providers, even momentarily, will affect your company's billing.