This API is used to add APs (App Platforms) to a PBX and when the PBX is added, it allows to find the App Instances provided by the AP and to configure the PBX to use these App Instances. It consists of the following functional blocks.
An AppWebsocket connnection with a default password "-" is used for this interface.
Normal AppWebsocket Login is used.
{
"mt": "RegisterDomain",
"pwd": string
"email": string
}
With this message a new domain is registered on the AP. An email confirmation is sent.
Only after the user clicks the link in the confirmation email, the domain is registered.
If the domain already exists, with the click on the link in the confirmation email
the password is set to the new one.
The domain is the domain used for the login.
{
"mt": "RegisterDomainResult"
}
Message sent by the AP as response to RegisterDomain
Instance management is done through myApps API com.innovaphone.manager. This API is provided by a hidden App provided to the PBX when the Websocket Connection to http(s)://<AP host address>/manager/manager-domain-api is opened from the AP object in the PBX.
{
"mt": "ManagerControls"
}
The ManagerControls message is used to read the list of PBX Manager plugins available on the given domain
{
"mt": "ManagerControlsResult",
"protocol": string,
"ap": string,
"apDn": string,
"host": string,
"controls": [<Control>,...]
}
With this message the list of available PBX Manager plugins is returned
{
"api": [string,...]
"uri": string,
"png": string,
"lang": string
}
Description of an PBX Manager plugin control
{
"mt": "InstanceDomain",
"path": string,
"pwd": string,
}
Used to set a domain on an App Instance, which may be used by multiple domains. As domain the domain used for the login to the AP is used.
{
"mt": "InstanceDomainResult",
"error": string
}
Returns the result for SetInstanceDomain
{
"mt": "SetInstancePassword",
"path": string,
"pwd": string
}
Used to set the password of an instance. On success, the instance is edited with the new password and an AppWebsocket connection can then be established.
{
"mt": "SetInstancePasswordResult",
"error": string
}
Returns the result for SetInstancePassword
{
"mt": "GetInstanceLogin",
"path": string,
"app": string,
"challenge": string,
}
Used to get a login for a given instance. This maybe used in the fgetlogin callback of the AppWebsocket connection. With this it is possible to authenticate at instances without an App Object present in the PBX, just by having access to the App Platform Manager.
{
"mt": "GetInstanceLoginResult",
"app": string,
"sip": string,
"domain": string,
"guid": string,
"dn": string,
"digest": string
}
The login, which can be used for the App Instance. This object can directly passed to the login function of the AppWebsocket library.