Download OpenAPI specification:Download
This guide describes list of API services that are provided by Rainbow Voice Communication Platform provisioning portal system. Services are used to manage Rainbow Voice Communication Platform.
REST interface is used for sending/receiving Rainbow API messages.
HTTP request GET, POST, PUT and DELETE are used. Standard HTTP responses are used to provide requested information or error status. There is no session notion in Rainbow system, so requests could be issued according stateless model, without transport conservation between them.
JSON is used as a main format for data encoding in message body part. Each request is started with the following pattern /{module}/{version}/ where {module} is a portal module name to address and {version} is a version of used API, par example, “v1.0”.
Each request should contain some credential information to authenticate itself. Standard HTTP authentication with basic/bearer modes is used. JSON Web Token mechanism is used to provide authentication information. JWT has a expire timeout that is controlled by OT Rainbow portal to prevent very long token usage. Also authentication with application token is used. The token must be provided in the request HTTP header, using a custom header: APIKey. At server side, token is verified, and if it doesn’t match, 403 Not Allowed response is sent. TLS is used as a transport protocol to support message exchanges between OT Rainbow portal and an application.
For accessing the API a valid JWT token or a valid OAuth access token must be passed in all the queries in the 'Authorization' header.
Security Scheme Type | API Key |
---|---|
Header parameter name: | Authorization |
This API allows to delete a CloudPBX
superadmin
and support
can delete all CloudPBXs existing in Rainbow
bp_admin
can only delete CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only delete CloudPBXs linked to sites of companies under their organisation
company_admin
can only delete CloudPBXs linked to sites of their company
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/569d0ef3ef7816921f7e94fa
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
forceDelete | boolean Default: "false" Force deletion of all associated objects |
accept required | string application/json |
{- "status": "Cloud PBX with Id=56c5c19f94141765119f896c successfully deleted",
- "data": [ ]
}
This API allows administrator to retrieve a CloudPBX using its identifier
superadmin
and support
can get all CloudPBXs existing in Rainbow
bp_admin
can only get CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get CloudPBXs linked to sites of companies under their organisation
company_admin
can only get CloudPBXs linked to sites of their company
site_admin
can only get the CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/569d0ef3ef7816921f7e94fa
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "type": "cloud_pbx",
- "siteId": [
- "5c5cb64349cc5f0fc4ae22d8"
], - "cloudpbx": {
- "outgoingPrefix": "0",
- "numberingPrefix": "8",
- "numberingPrefixes": [
- "8"
], - "numberingDigits": 5,
- "installationNumber": "+33390677770",
- "installationNumberId": "5c5cb64349cc5f0fc4ae22d7",
- "domainName": "303.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999771000005",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "Paris",
- "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "nat_local",
- "restrictions": "no_restriction"
}, - "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "callForwardOptions": {
- "externalCallForward": "not_authorized"
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "status": "created",
- "bpId": null,
- "name": "cloud_pbx_EC_UNDER_IR_3",
- "country": "FRA",
- "pbxId": "PBX3ece-080a-d923-4663-b44d-e733-5ed8-c8ea",
- "creationDate": "2019-02-07T23:13:39.346Z",
- "statusUpdatedDate": "2019-02-07T23:13:39.346Z",
- "latin_name": "cloud_pbx_ec_under_ir_3",
- "id": "5c5cbba36bbe2411b66d6fa3",
- "companyId": "5c5ae4df8b728e4ba683e2da",
- "rvcpInstanceId": "5c890c2fc488430fb56fcb83"
}
}
This API updates a CloudPBX for a given company
superadmin
can update CloudPBX for all companies
bp_admin
can only update CloudPBX for their End Customer companies
organization_admin
can only update CloudPBX for companies under their organisation
company_admin
can only update CloudPBX of their company
Note that externalTrunkId
parameter can only be updated by a superadmin
or a bp_admin
bp_admin
can link only his own external trunks to end customer CloudPBX
To link an external trunk to a CloudPBX, an outgoing prefix should have been managed on this CloudPBX, either in a previous request (POST or PUT) or during the same request as externalTrunkId
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
object | |
callForkingToPstnNumber | string Enum: "not_available" "not_activated" "activated" indicates if call forking must be done towards PSTN device ("not_activated" or "activated" values can be set only when associated external trunk has feature "callForkingToPstnNumber") |
object | |
customSipHeader_1 | string Value to put as Custom SIP Header 1 into SIP data for an external outgoing call |
customSipHeader_2 | string Value to put as Custom SIP Header 2 into SIP data for an external outgoing call |
object | |
externalTrunkId | string External trunk that should be linked to this CloudPBX |
language | string Enum: "ro" "es" "it" "de" "fr" "en" "ar" "he" "nl" New language for this CloudPBX |
monolineIncomingMode | boolean Indicates new value for mono line mode (for incoming calls) |
name | string New CloudPBX name |
numberingDigits | number Number of digits for CloudPBX numbering plan. If numberingPrefixes is provided and not empty, this parameter is mandatory
|
numberingPrefix | number
|
numberingPrefixes | Array of strings Array of Prefixes for CloudPBX numbering plan ( only digits => ["1" , "999"] ) |
outgoingPrefix | number Company outgoing prefix |
routeInternalCallsToPeer | boolean Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk) |
{- "barringOptions": {
- "permissions": "string",
- "restrictions": "string"
}, - "callForkingToPstnNumber": "not_available",
- "callForwardOptions": {
- "externalCallForward": "string"
}, - "customSipHeader_1": "string",
- "customSipHeader_2": "string",
- "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": true
}, - "externalTrunkId": "string",
- "language": "ro",
- "monolineIncomingMode": true,
- "name": "string",
- "numberingDigits": 0,
- "numberingPrefix": 0,
- "numberingPrefixes": [
- "string"
], - "outgoingPrefix": 0,
- "routeInternalCallsToPeer": true
}
{- "data": {
- "type": "cloud_pbx",
- "siteId": [
- "5cab078455d4811fdd87b0c3"
], - "status": "created",
- "bpId": null,
- "cloudpbx": {
- "domainName": "380.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999101000009",
- "externalTrunkId": "5cab078455d4811fdd87b0c1",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "Paris",
- "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "int_nat_local",
- "restrictions": "no_restriction"
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "callForwardOptions": {
- "externalCallForward": "not_authorized"
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "name": "cloud_pbx_testPrepaid",
- "country": "FRA",
- "pbxId": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841",
- "jid_pbxagent": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841@openrainbow.com",
- "jid_pbxagent_password": "7417",
- "jid_pbxpcg": "pbxpcg_63192071d3ef47ac9b3628d0976d2662@openrainbow.com",
- "jid_pbxpcg_password": "4be24f2dcd5c499c801370c7d9ed4a5c",
- "creationDate": "2019-04-08T08:34:12.364Z",
- "blockedDate": null,
- "latin_name": "cloud_pbx_testprepaid",
- "id": "5cab078455d4811fdd87b0c4"
}
}
This API allows administrator to retrieve customized set of prohibited numbers applicable on the CloudPBX
superadmin
and support
can get customized set of prohibited numbers for all CloudPBXs existing in Rainbow
bp_admin
can only get customized set of prohibited numbers for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get customized set of prohibited numbers for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get customized set of prohibited numbers for CloudPBXs linked to sites of their company
site_admin
can only get customized set of prohibited numbers for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/barring-options/custom-numbers-restriction
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "patterns": [
- {
- "pattern": "[a-z_]*33298",
- "description": "custom restriction : forbid calls towards 0298xxxxxx"
}, - {
- "pattern": "^[a-z_]*338[129]",
- "description": "081xxxxxxx ; 082xxxxxxx, 089xxxxxxx"
}, - {
- "pattern": "^[a-z_]*[13][0-9]{3}",
- "description": "1xxx, 3xxx"
}
]
}
}
This API updates customized set of prohibited numbers applicable on the CloudPBX
superadmin
can update CloudPBXs for all companies
bp_admin
can only update CloudPBXs for their End Customer companies
organization_admin
can only update CloudPBXs for companies under their organisation
company_admin
can only update CloudPBX of their company
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
required | Array of objects (putBarringCustomRestrictionsPatterns) Array of patterns with complete new values |
{- "patterns": [
- {
- "description": "string",
- "pattern": "string"
}
]
}
{- "data": {
- "patterns": [
- {
- "pattern": "[a-z_]*33298",
- "description": "custom restriction : forbid calls towards 0298xxxxxx"
}, - {
- "pattern": "^[a-z_]*338[129]",
- "description": "081xxxxxxx ; 082xxxxxxx, 089xxxxxxx"
}, - {
- "pattern": "^[a-z_]*[13][0-9]{3}",
- "description": "1xxx, 3xxx"
}
]
}, - "status": "CloudPBX set of prohibited numbers successfully updated (Id=5de6a632c21aa17bab337347)"
}
This API allows administrator to retrieve a list of traffic barring options supported by a CloudPBX
superadmin
and support
can get traffic barring options for all CloudPBXs existing in Rainbow
bp_admin
can only get traffic barring options for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get traffic barring options for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get traffic barring options for CloudPBXs linked to sites of their company
site_admin
can only get traffic barring options for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/barring-options
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "permissions": [
- {
- "id": "local",
- "description": "Intra PBX Calls Only"
}, - {
- "id": "nat_local",
- "description": "National and Intra PBX Calls"
}, - {
- "id": "int_nat_local",
- "description": "International, National and Intra PBX Calls"
}
], - "restrictions": [
- {
- "id": "no_restriction",
- "description": "No Restriction"
}, - {
- "id": "surcharged_numbers",
- "description": "Surcharged numbers for country=FRA"
}, - {
- "id": "custom_numbers",
- "description": "customized set of prohibited numbers applicable on the CloudPBX"
}
]
}
}
This API allows administrator to retrieve the CloudPBX CLI options for outbound calls
superadmin
and support
can get cli options for all CloudPBXs existing in Rainbow
bp_admin
can only get cli options for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get cli options for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get cli options for CloudPBXs linked to sites of their company
site_admin
can only get cli options for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/cli-options
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "policy": "installation_ddi_number",
- "numberE164": "+33361234567",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}
}
This API updates a CloudPBX cli options configuration for a given company
superadmin
can update CloudPBX for all companies
bp_admin
can only update CloudPBX for their End Customer companies
organization_admin
can only update CloudPBX for companies under their organisation
company_admin
can only update CloudPBX of their company
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
companyNumberCanBeSelectedByUserAsCli | boolean Indicates if CloudPBX users are authorized to set Cloud PBX Installation Number into their own CLI value |
policy | string Enum: "installation_ddi_number" "user_ddi_number" CLI policy to apply |
userCanManageItsCli | boolean Indicates if CloudPBX users are authorized to set their own CLI value |
{- "companyNumberCanBeSelectedByUserAsCli": true,
- "policy": "installation_ddi_number",
- "userCanManageItsCli": true
}
{- "data": {
- "type": "cloud_pbx",
- "siteId": [
- "5cab078455d4811fdd87b0c3"
], - "status": "created",
- "bpId": null,
- "cloudpbx": {
- "domainName": "380.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999101000009",
- "externalTrunkId": "5cab078455d4811fdd87b0c1",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "Paris",
- "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "int_nat_local",
- "restrictions": "no_restriction"
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "callForwardOptions": {
- "externalCallForward": "not_authorized"
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "name": "cloud_pbx_testPrepaid",
- "country": "FRA",
- "pbxId": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841",
- "jid_pbxagent": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841@openrainbow.com",
- "jid_pbxagent_password": "7417",
- "jid_pbxpcg": "pbxpcg_63192071d3ef47ac9b3628d0976d2662@openrainbow.com",
- "jid_pbxpcg_password": "4be24f2dcd5c499c801370c7d9ed4a5c",
- "creationDate": "2019-04-08T08:34:12.364Z",
- "blockedDate": null,
- "latin_name": "cloud_pbx_testprepaid",
- "id": "5cab078455d4811fdd87b0c4"
}
}
This API allows administrator to retrieve a list of CloudPBXs
superadmin
and support
can get all CloudPBXs existing in Rainbow
bp_admin
can only get CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get CloudPBXs linked to sites of companies under their organisation
company_admin
can only get CloudPBXs linked to sites of their company
site_admin
can only get the CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs
limit | number Default: 100 Allow to specify the number of CloudPBXs to retrieve |
offset | number Allow to specify the position of first cloudPBX to retrieve (first site if not specified) Warning: if offset > total, no results are returned |
sortField | string Default: "companyId" Sort CloudPBXs list based on the given field |
sortOrder | number Default: 1 Enum: -1 1 Specify order when sorting CloudPBXs list |
companyId | string Allows to filter CloudPBXs list on the siteIds linked to companyIds provided in this option |
bpId | string Allows to filter CloudPBXs list on the bpIds provided in this option
|
accept required | string application/json |
{- "data": [
- {
- "type": "cloud_pbx",
- "siteId": [
- "5c5cb64349cc5f0fc4ae22d8"
], - "status": "activated",
- "bpId": null,
- "name": "cloud_pbx_EC_UNDER_IR_3",
- "cloudpbx": {
- "outgoingPrefix": "0",
- "numberingPrefix": "8",
- "numberingPrefixes": [
- "8"
], - "numberingDigits": 5,
- "installationNumber": "+33390677770",
- "installationNumberId": "5c5cb64349cc5f0fc4ae22d7",
- "domainName": "303.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999771000005",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "London",
- "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "nat_local",
- "restrictions": "no_restriction"
}, - "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "country": "FRA",
- "pbxId": "PBX3ece-080a-d923-4663-b44d-e733-5ed8-c8ea",
- "creationDate": "2019-02-07T23:13:39.346Z",
- "statusUpdatedDate": "2019-02-07T23:13:39.346Z",
- "latin_name": "cloud_pbx_ec_under_ir_3",
- "id": "5c5cbba36bbe2411b66d6fa3"
}
], - "limit": 100,
- "offset": 0,
- "total": 1
}
This API creates a CloudPBX for a given company
RVCP Instance where the new CloudPBX will be created is selected according company's country
Note that this new CloudPBX will be in fact a new "system" with type equal to "cloud_pbx" ; and then it will be accessible thru admin requests done on systems as all other system type
superadmin
can create CloudPBX for all companies
bp_admin
can only create CloudPBX for their End Customer companies
organization_admin
can only create CloudPBX for companies under their organisation
company_admin
can only create CloudPBX for their company
Only one CloudPBX is allowed for a company
bpId | string Identifier of the BP to which CloudPBX should be linked with |
callForkingToPstnNumber | string Enum: "not_available" "not_activated" "activated" indicates if call forking must be done towards PSTN device ("not_activated" or "activated" values can be set only when associated external trunk has feature "callForkingToPstnNumber") |
companyId required | string Identifier of the company for which CloudPBX should be created |
customSipHeader_1 | string Value to put as CustomSipHeader_1 into SIP data for an external outgoing call |
customSipHeader_2 | string Value to put as CustomSipHeader_2 into SIP data for an external outgoing call |
externalTrunkId | string External trunk identifier that should be linked to this CloudPBX |
language | string Default: "en" Enum: "ro" "es" "it" "de" "fr" "en" "ar" "he" "nl" Associated language for this CloudPBX |
name | string CloudPBX name. If not provided, will be something like 'cloud_pbx_companyName' |
noReplyDelay | number [ 10 .. 60 ] Default: 20 In case of overflow no reply forward on subscribers, timeout in seconds after which the call will be forwarded |
numberingDigits | number Number of digits for CloudPBX numbering plan. If numberingPrefixes is provided, this parameter is mandatory.
|
numberingPrefix | number
|
numberingPrefixes | Array of strings Array of Prefixes for CloudPBX numbering plan ( only digits => ["1" , "999"] ) |
outgoingPrefix | number Company outgoing prefix |
routeInternalCallsToPeer | boolean Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk) |
siteId | string Identifier of the site on which CloudPBX should be created |
{- "bpId": "string",
- "callForkingToPstnNumber": "not_available",
- "companyId": "string",
- "customSipHeader_1": "string",
- "customSipHeader_2": "string",
- "externalTrunkId": "string",
- "language": "en",
- "name": "string",
- "noReplyDelay": 20,
- "numberingDigits": 0,
- "numberingPrefix": 0,
- "numberingPrefixes": [
- "string"
], - "outgoingPrefix": 0,
- "routeInternalCallsToPeer": true,
- "siteId": "string"
}
{- "data": {
- "type": "cloud_pbx",
- "siteId": [
- "5cab078455d4811fdd87b0c3"
], - "status": "created",
- "bpId": null,
- "cloudpbx": {
- "domainName": "380.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999101000009",
- "externalTrunkId": "5cab078455d4811fdd87b0c1",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "Paris",
- "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "int_nat_local",
- "restrictions": "no_restriction"
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "callForwardOptions": {
- "externalCallForward": "not_authorized"
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "name": "cloud_pbx_testPrepaid",
- "country": "FRA",
- "pbxId": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841",
- "jid_pbxagent": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841@openrainbow.com",
- "jid_pbxagent_password": "7417",
- "jid_pbxpcg": "pbxpcg_63192071d3ef47ac9b3628d0976d2662@openrainbow.com",
- "jid_pbxpcg_password": "4be24f2dcd5c499c801370c7d9ed4a5c",
- "creationDate": "2019-04-08T08:34:12.364Z",
- "blockedDate": null,
- "latin_name": "cloud_pbx_testprepaid",
- "id": "5cab078455d4811fdd87b0c4"
}
}
Allows administrator to retrieve the details of a device model
Can be invoked in two different ways:
deviceModelId required | string Unique identifier of the device model |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": [
- {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP",
- "programmableKeys": 0,
- "can_speeddial": false,
- "can_monitor": false,
- "keys": [ ]
}
]
}
Allows administrator to retrieve the list of device models supported by a CloudPBX
superadmin
and support
can get device models for all CloudPBXs existing in Rainbow
bp_admin
can only get device models for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get device models for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get device models for CloudPBXs linked to sites of their company
site_admin
can only get device models for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/devicemodels
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": [
- {
- "id": 12,
- "vendor": "ALE",
- "model": "8008",
- "programmableKeys": 6,
- "can_speeddial": true,
- "can_monitor": true
}, - {
- "id": 13,
- "vendor": "ALE",
- "model": "8018",
- "programmableKeys": 6,
- "can_speeddial": true,
- "can_monitor": true
}, - {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP",
- "programmableKeys": 0,
- "can_speeddial": false,
- "can_monitor": false
}
]
}
This API allows administrator to retrieve Emergency Numbers and Emergency Options supported by a CloudPBX
superadmin
and support
can get Emergency Numbers and Emergency Options for all CloudPBXs existing in Rainbow
bp_admin
can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get Emergency Numbers and Emergency Options for CloudPBXs linked to sites of their company
site_admin
can only get Emergency Numbers and Emergency Options for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/emergency-numbers
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": true
}, - "outgoingPrefix": "7",
- "emergencyNumbers": [
- {
- "number": "112",
- "description": "Universal European Emergency Services number - works from all phones including mobiles"
}, - {
- "number": "18",
- "description": "Emergencies: This number connects to the fire brigade (Sapeurs Pompiers) but they also deal with medical emergencies and should be the first port of call in life-threatening situations"
}
]
}
}
This API allows administrator to retrieve the CloudPBX numbering Plan detailed information
superadmin
and support
can get numbering Plan detailed information for all CloudPBXs existing in Rainbow
bp_admin
can only get numbering Plan detailed information for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get numbering Plan detailed information for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get numbering Plan detailed information for CloudPBXs linked to sites of their company
site_admin
can only get numbering Plan detailed information for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/numbering-plan
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "ranges": [
- {
- "first": "5000",
- "last": "5999"
}, - {
- "first": "7000",
- "last": "7999"
}
], - "allocatedNumbers": {
- "subscribers": [
- {
- "shortNumber": "5000",
- "userId": "600ad3695f8c4c0ca80baf5e",
- "userDisplayName": "John Doe"
}, - {
- "shortNumber": "7100",
- "userId": "600aff675f8c4c0ca80bb01e",
- "userDisplayName": "Arsene Lupin"
}
], - "groups": [
- {
- "rvcpGroupId": "5df24d7f4aa31cc464b37ffd",
- "groupName": "grp_01",
- "type": "hunting_group",
- "shortNumber": "5200"
}, - {
- "rvcpGroupId": "5e749f3750324607be7eadb9",
- "groupName": "HG5201",
- "type": "hunting_group",
- "shortNumber": "5201"
}
], - "devices": [
- {
- "shortNumber": "7001",
- "userId": "5d2decd24799103a662a3a1e",
- "macAddress": "487a5506999b",
- "userDisplayName": "Dave"
}
]
}
}
}
This API allows administrator to retrieve a list of languages supported by a CloudPBX
superadmin
and support
can get languages for all CloudPBXs existing in Rainbow
bp_admin
can only get languages for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get languages for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get languages for CloudPBXs linked to sites of their company
site_admin
can only get languages for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/languages
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": [
- {
- "code": "ro",
- "description": "ROMANIAN"
}, - {
- "code": "es",
- "description": "SPANISH"
}, - {
- "code": "it",
- "description": "ITALIAN"
}, - {
- "code": "de",
- "description": "GERMAN"
}, - {
- "code": "fr",
- "description": "FRENCH"
}, - {
- "code": "en",
- "description": "ENGLISH"
}, - {
- "code": "ar",
- "description": "ARABIC"
}, - {
- "code": "he",
- "description": "HEBREW"
}
]
}
This API allows administrator to retrieve the CloudPBX peer authentication options
superadmin
and support
can get peer authentication options for all CloudPBXs existing in Rainbow
bp_admin
can only get peer authentication options for CloudPBXs linked to sites of End Customer companies for which
their bp_admin's company is the BP company
organization_admin
can only get peer authentication options for CloudPBXs linked to sites of companies under their organisation
company_admin
can only get peer authentication options for CloudPBXs linked to sites of their company
site_admin
can only get peer authentication options for CloudPBXs linked to the site they administrate
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cd1a4f426fa4a77f8c04150/peer-authentication-options
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}
}
This API updates peer authentication options for a given CloudPBX
superadmin
can update CloudPBXs for all companies
bp_admin
can only update CloudPBXs for their End Customer companies
organization_admin
can only update CloudPBXs for companies under their organisation
company_admin
can only update CloudPBX of their company
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
password required | string Password to use for peer authentication |
username required | string Username to use for peer authentication |
{- "password": "string",
- "username": "string"
}
{- "data": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "status": "Cloud PBX peer authentication options successfully updated (Id=60f9bf93d7cc516481734f1f)"
}
This API updates a CloudPBX overflow configuration for a given company
superadmin
can update CloudPBX for all companies
bp_admin
can only update CloudPBX for their End Customer companies
organization_admin
can only update CloudPBX for companies under their organisation
company_admin
can only update CloudPBX of their company
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
activate | boolean Activate or deactivate the busy/noReply overflow on all subscribers (only for the subscribers with the default overflow of the company, not a custom one, or disabled by an admin) |
activateUnavailableOverflow | boolean Activate or deactivate the unavailable overflow on all subscribers (only for the subscribers with the default overflow of the company, not a custom one, or disabled by an admin) |
noReplyDelay | number Value: Delay after the no reply overflow call forward will be effective, could be overwriten with a manager assistant delegation |
{- "activate": true,
- "activateUnavailableOverflow": true,
- "noReplyDelay": null
}
{- "data": {
- "type": "cloud_pbx",
- "siteId": [
- "5cab078455d4811fdd87b0c3"
], - "status": "created",
- "bpId": null,
- "cloudpbx": {
- "domainName": "380.bstdev.sip.openrainbow.org",
- "rvcpNumber": "999101000009",
- "externalTrunkId": "5cab078455d4811fdd87b0c1",
- "language": "en",
- "customSipHeader_1": "IdentCompanyForBilling",
- "customSipHeader_2": "Paris",
- "cliOptions": {
- "policy": "user_ddi_number",
- "userCanManageItsCli": false,
- "companyNumberCanBeSelectedByUserAsCli": false
}, - "overflowSubscribersToVoicemail": {
- "activate": true,
- "noReplyDelay": 20,
- "activateUnavailableOverflow": true
}, - "barringOptions": {
- "permissions": "int_nat_local",
- "restrictions": "no_restriction"
}, - "emergencyOptions": {
- "callAuthorizationWithSoftPhone": true,
- "emergencyGroupActivated": false
}, - "callForwardOptions": {
- "externalCallForward": "not_authorized"
}, - "peerAuthenticationOptions": {
- "username": "cloud-pbx-19",
- "password": "secret",
- "realm": "business-com.openrainbow.com"
}, - "allowCloudPbxRecording": false,
- "routeInternalCallsToPeer": false,
- "callForkingToPstnNumber": "not_available",
- "monolineIncomingMode": false,
- "emulatedRingBackTone": true
}, - "name": "cloud_pbx_testPrepaid",
- "country": "FRA",
- "pbxId": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841",
- "jid_pbxagent": "PBXe36e-cd02-7b54-4181-a354-b2cb-c0e1-1841@openrainbow.com",
- "jid_pbxagent_password": "7417",
- "jid_pbxpcg": "pbxpcg_63192071d3ef47ac9b3628d0976d2662@openrainbow.com",
- "jid_pbxpcg_password": "4be24f2dcd5c499c801370c7d9ed4a5c",
- "creationDate": "2019-04-08T08:34:12.364Z",
- "blockedDate": null,
- "latin_name": "cloud_pbx_testprepaid",
- "id": "5cab078455d4811fdd87b0c4"
}
}
This API allows to associate a DDI number to a Rainbow user.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi/5c9e2be00d9ebd10f0dad5e7/users/5c9e2be00d9ebd10f0dad565
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
phoneNumberId required | string DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
userId required | string Rainbow user unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "data": {
- "firstName": "",
- "lastName": "",
- "deviceName": "Cloud PBX DDI number",
- "names": [ ],
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": false,
- "isMonitored": false,
- "userId": "5ca4d78f8b728e4ba683e2ed",
- "number": "2135070002",
- "systemId": "5c9e2be00d9ebd10f0dad5e6",
- "externalTrunkId": "5c910276d53e3d2affdc7651",
- "country": "USA",
- "numberE164": "+12135070002",
- "isCloudPbxDefault": true,
- "isCloudPbxDDI": true,
- "creationDate": "2019-04-01T13:20:26.466Z",
- "jid_im": "6044707b1c174b639ab06939fbdd3f97@luverhae-all-in-one-dev-1.opentouch.cloud",
- "jid_password": "37ca733631e54932863c86dcc057220f",
- "jid_tel": "tel_6044707b1c174b639ab06939fbdd3f97@luverhae-all-in-one-dev-1.opentouch.cloud",
- "id": "5ca2101a070188774b23a70e"
}
}
This API allows to disassociate a DDI number from a Rainbow user.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi/5c9e2be00d9ebd10f0dad5e7/users/5c9e2be00d9ebd10f0dad565
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
phoneNumberId required | string DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
userId required | string Rainbow user unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "firstName": "",
- "lastName": "",
- "deviceName": "Cloud PBX DDI number",
- "names": [ ],
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": false,
- "isMonitored": false,
- "userId": null,
- "number": "2135070002",
- "systemId": "5c9e2be00d9ebd10f0dad5e6",
- "externalTrunkId": "5c910276d53e3d2affdc7651",
- "country": "USA",
- "numberE164": "+12135070002",
- "isCloudPbxDefault": false,
- "isCloudPbxDDI": true,
- "creationDate": "2019-04-01T13:20:26.466Z",
- "id": "5ca2101a070188774b23a70e",
- "rvcpGroupId": null
}
}
This API allows to delete a DDI number for a CloudPBX.
> Note : Default DDI can be deleted only if it is the last DDI of the CloudPBX
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi/5c9e2be00d9ebd10f0dad5e7
Note: bp_admin
of IR company won't be able to delete a DDI if VAD has set ddiReadOnly
flag to true on IR company.
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
phoneNumberId required | string DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "status": "DDI number 5c9e2be00d9ebd10f0dad5e7 successfully deleted"
}
This API allows to get the list of DDI numbers associated to a CloudPBX.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi?isAssignedToUser=false
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
limit | number Default: 100 Allow to specify the number of DDI numbers to retrieve |
offset | number Allow to specify the position of first DDI number to retrieve (first site if not specified) Warning: if offset > total, no results are returned |
sortField | string Default: "number" Sort DDI numbers list based on the given field |
sortOrder | number Default: 1 Enum: -1 1 Specify order when sorting DDI numbers list |
isAssignedToUser | boolean Allows to filter DDI numbers list if they are assigned to a user or not |
isAssignedToGroup | boolean Allows to filter DDI numbers list if they are assigned to a group or not (e.g. hunting group) |
isAssignedToIVR | boolean Allows to filter DDI numbers list if they are assigned to a IVR or not |
isAssignedToAutoAttendant | boolean Allows to filter DDI numbers list if they are assigned to a Auto attendant or not |
isAssigned | boolean Allows to filter DDI numbers list if they are assigned (to a user or to a group or to a IVR) or not assigned |
accept required | string application/json |
content-type required | string application/json |
{- "data": [
- {
- "deviceName": "Cloud PBX DDI number",
- "type": "work",
- "deviceType": "landline",
- "isVisibleByOthers": true,
- "isMonitored": false,
- "userId": null,
- "number": "0257550106",
- "systemId": "5de6a632c21aa17bab337347",
- "isCloudPbxDefault": false,
- "externalTrunkId": "5de911d36839bacdd4c53f1c",
- "pbxId": "PBX4954-92a6-15e4-486e-a158-2734-da92-157e",
- "country": "FRA",
- "numberE164": "+33257550106",
- "isCloudPbxDDI": true,
- "creationDate": "2020-11-30T08:50:32.414Z",
- "jid_im": null,
- "jid_password": null,
- "jid_tel": null,
- "rvcpIVRId": "60a6508df9462307abc29a32",
- "rvcpGroupId": null,
- "rvcpAutoAttendantId": null,
- "id": "5fc4b2585ab86f3add2784fe",
- "welcomeName": "Dave Welcome"
}, - {
- "deviceName": "Cloud PBX DDI number",
- "type": "work",
- "deviceType": "landline",
- "isVisibleByOthers": true,
- "isMonitored": false,
- "userId": "6001578a19859a3ffc8b2776",
- "number": "0368590285",
- "systemId": "5de6a632c21aa17bab337347",
- "isCloudPbxDefault": false,
- "externalTrunkId": "5de911d36839bacdd4c53f1c",
- "pbxId": "PBX4954-92a6-15e4-486e-a158-2734-da92-157e",
- "country": "FRA",
- "numberE164": "+33368590285",
- "isCloudPbxDDI": true,
- "creationDate": "2021-03-09T15:26:20.483Z",
- "jid_im": "895215632efa4abda202dfb673595203@rainbow-voice-all-in-one-rd-dev-2.opentouch.cloud",
- "jid_password": "d74c694550364c0bac98195350ca7e10",
- "jid_tel": "tel_895215632efa4abda202dfb673595203@rainbow-voice-all-in-one-rd-dev-2.opentouch.cloud",
- "id": "6047939ca03a201ad1b62e7e",
- "userDisplayName": "Jean-Luc"
}
], - "limit": 100,
- "offset": 0,
- "total": 2
}
This API allows to create a DDI number for a CloudPBX.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi
Note: bp_admin
of IR company won't be able to create DDI if VAD has set ddiReadOnly
flag to true on IR company.
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
number required | string DDI number |
{- "number": "string"
}
{- "data": {
- "firstName": "",
- "lastName": "",
- "deviceName": "Cloud PBX DDI number",
- "names": [ ],
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": false,
- "isMonitored": false,
- "userId": null,
- "number": "2135070002",
- "systemId": "5c9e2be00d9ebd10f0dad5e6",
- "externalTrunkId": "5c910276d53e3d2affdc7651",
- "country": "USA",
- "numberE164": "+12135070002",
- "isCloudPbxDefault": false,
- "isCloudPbxDDI": true,
- "creationDate": "2019-04-01T13:20:26.466Z",
- "id": "5ca2101a070188774b23a70e",
- "rvcpGroupId": null
}
}
This API allows to list all unassigned internal phone numbers for a given CloudPBX system.
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
startingWith | number Return by default 100 free numbers that start with, for example, 10 |
limit | number Default: 100 Number of free numbers you want to retrieve |
accept required | string application/json |
{- "data": [
- 100,
- 102,
- 103,
- 104,
- 105,
- 106,
- 107,
- 108,
- 109,
- 110,
- 111,
- 112,
- 113,
- 114,
- 115,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122
]
}
This API allows to set a DDI number as default DDI for a CloudPBX.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c9e2be00d9ebd10f0dad5e6/phone-numbers/ddi/5c9e2be00d9ebd10f0dad5e7/default
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
phoneNumberId required | string DDI phone number unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "data": {
- "firstName": "",
- "lastName": "",
- "deviceName": "Cloud PBX DDI number",
- "names": [ ],
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": false,
- "isMonitored": false,
- "userId": "5ca4d78f8b728e4ba683e2ed",
- "number": "2135070002",
- "systemId": "5c9e2be00d9ebd10f0dad5e6",
- "externalTrunkId": "5c910276d53e3d2affdc7651",
- "country": "USA",
- "numberE164": "+12135070002",
- "isCloudPbxDefault": true,
- "isCloudPbxDDI": true,
- "creationDate": "2019-04-01T13:20:26.466Z",
- "jid_im": "6044707b1c174b639ab06939fbdd3f97@luverhae-all-in-one-dev-1.opentouch.cloud",
- "jid_password": "37ca733631e54932863c86dcc057220f",
- "jid_tel": "tel_6044707b1c174b639ab06939fbdd3f97@luverhae-all-in-one-dev-1.opentouch.cloud",
- "id": "5ca2101a070188774b23a70e"
}
}
This API allows to assign a SIP device to a CloudPBX Subscriber.
The device must have been previously created.
Assigning a device to a subscriber can de done by specifying the device Id (preferred) in the request, or the device mac address.
Assigning a device to a subscriber can de done by specifying the device Id in the request, or the device mac address and deviceType Id.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber on which the SIP device must be assigned |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
deviceId | string Unique identifier of the device to assign |
macAddress | string Device mac address |
{- "deviceId": "string",
- "macAddress": "string"
}
{- "data": {
- "macAddress": "487a55065eaa",
- "description": "Main John deskphone",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "phoneNumberId": "5cd545b3a07de465fbc3fcda",
- "userId": "5cd5443fd9736d8431b5c185",
- "currentDevice": true,
- "deviceType": {
- "id": 3,
- "vendor": "ALE",
- "model": "8008"
}, - "id": "5cd5841c1b5e9676d0b1f4f6"
}
}
This API allows to create a new CloudPBX Subscriber for a Rainbow User.
This new subscriber will appear as a new entry into "phoneNumbers" list of the targeted Rainbow User.
As a result, this CloudPBX subscriber will be accessible through the admin API using following path : admin/v1.0/systems/:systemId/phone-numbers/:phoneNumberId
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
login | string SIP username (if not provided ; shortNumber is used as SIP username) |
password | string SIP password for all associated SIP devices (if not provided ; it will be automatically generated).
|
shortNumber required | string Internal Number of the new CloudPBX Subscriber |
userId required | string Unique identifier of the associated Rainbow User |
{- "login": "string",
- "password": "string",
- "shortNumber": "string",
- "userId": "string"
}
{- "data": {
- "deviceName": "RVCP Subscriber",
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": true,
- "isMonitored": true,
- "userId": "5cd5443fd9736d8431b5c185",
- "shortNumber": "81002",
- "voiceMailNumber": "voicebox",
- "pbxUserId": "81002",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "jid_im": "e0624d81cfd940ada28ed0c4827e3dea@rainbow-voice-all-in-one-rd-dev-1.opentouch.cloud",
- "jid_tel": "tel_e0624d81cfd940ada28ed0c4827e3dea@rainbow-voice-all-in-one-rd-dev-1.opentouch.cloud",
- "jid_password": "fc4c8394c6574be78515ef4fa87fd386",
- "pbxId": "PBX8e27-cdec-58a6-47a8-9089-b988-9675-08ea",
- "country": "FRA",
- "creationDate": "2019-05-10T09:34:43.578Z",
- "internalNumber": "81002",
- "shardKey": {
- "country": "FRA",
- "phoneNumber": "027d61e25ad541497bda7e8609687c90",
- "owner": "9c4e78ffc23fa3f954ac2c4003ed0b50"
}, - "id": "5cd545b3a07de465fbc3fcda",
- "password": "126g7r0q",
- "isRecordingActivated": false,
- "recordingProfile": "none",
- "cloudPbxStatus": "activated",
- "status": "activated"
}
}
This API allows to delete a CloudPBX Subscriber. All its associated SIP devices become free for other subscribers.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to delete |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "status": "Cloud PBX Subscriber 56c5c19f94141765119f896c successfully deleted",
- "data": [ ]
}
This API allows to get data of a CloudPBX Subscriber
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "deviceName": "RVCP Subscriber",
- "type": "work",
- "deviceType": "landline",
- "isFromSystem": true,
- "isMonitored": true,
- "userId": "5cd5443fd9736d8431b5c185",
- "shortNumber": "81002",
- "pbxUserId": "81002",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "jid_im": "e0624d81cfd940ada28ed0c4827e3dea@rainbow-voice-all-in-one-rd-dev-1.opentouch.cloud",
- "jid_tel": "tel_e0624d81cfd940ada28ed0c4827e3dea@rainbow-voice-all-in-one-rd-dev-1.opentouch.cloud",
- "jid_password": "fc4c8394c6574be78515ef4fa87fd386",
- "pbxId": "PBX8e27-cdec-58a6-47a8-9089-b988-9675-08ea",
- "country": "FRA",
- "creationDate": "2019-05-10T09:34:43.578Z",
- "internalNumber": "81002",
- "shardKey": {
- "country": "FRA",
- "phoneNumber": "027d61e25ad541497bda7e8609687c90",
- "owner": "9c4e78ffc23fa3f954ac2c4003ed0b50"
}, - "id": "5cd545b3a07de465fbc3fcda",
- "password": "f6cp4t1m",
- "overflowToVoicemail": {
- "value": "default",
- "noReplyDelay": 20
}, - "barringOptions": {
- "permissions": "int_nat_local",
- "restrictions": "default"
}, - "cliOptions": {
- "policy": "company_policy",
- "numberE164": "+33368590284",
- "userCanManageItsCli": "company_policy",
- "companyNumberCanBeSelectedByUserAsCli": "company_policy"
}, - "isRecordingActivated": true,
- "recordingProfile": "all",
- "status": "activated",
- "cloudPbxStatus": "activated"
}
}
This API allows to remove association between subscriber and the Sip Device (SIP device becomes available for another subscriber)
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices/5cd3de0126fa4a77f8c0415b
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber on which the Sip device association must be deleted |
deviceId required | string Unique identifier of the SIP device to free |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "status": "SIP device association for 5cd3de0126fa4a77f8c0415b successfully deleted",
- "data": [ ]
}
This API allows administrator to retrieve a given SIP device assigned to a subscriber
superadmin
and support
can get all devices existing in Rainbow.
bp_admin
can only get devices linked to sites of End Customer companies for which
their bp_admin's company is the BP company.
organization_admin
can only get devices linked to sites of companies under their organisation.
company_admin
can only get devices linked to sites of their company.
site_admin
can only get the devices linked to the site they administrate.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices/5cd3de0126fa4a77f8c0415b
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber associated to the SIP device to retrieve |
deviceId required | string Unique identifier of the SIP device to retrieve |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": {
- "macAddress": "d460e316df1c",
- "description": "Main John desphone",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "phoneNumberId": "5ce2d0290f09f57ed96c665c",
- "userId": "5ce2cd82d9736d8431b5c193",
- "currentDevice": true,
- "deviceType": {
- "id": 23,
- "vendor": "ALE",
- "model": "8008"
}, - "id": "5ce2d5160f09f57ed96c6660"
}
}
This API allows administrator to retrieve all SIP devices assigned to a subscriber
superadmin
and support
can get all devices existing in Rainbow.
bp_admin
can only get devices linked to sites of End Customer companies for which
their bp_admin's company is the BP company.
organization_admin
can only get devices linked to sites of companies under their organisation.
company_admin
can only get devices linked to sites of their company.
site_admin
can only get the devices linked to the site they administrate.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/devices
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP devices must be retrieved |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
limit | number Default: 100 Allow to specify the number of SIP Devices to retrieve. |
offset | number Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned. |
sortField | string Default: "shortNumber" Sort SIP Devices list based on the given field. |
sortOrder | number Default: 1 Enum: -1 1 Specify order when sorting SIP Deviceslist. |
accept required | string application/json |
{- "data": [
- {
- "macAddress": "d460e316df1c",
- "description": "Main John desphone",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "phoneNumberId": "5ce2d0290f09f57ed96c665c",
- "userId": "5ce2cd82d9736d8431b5c193",
- "currentDevice": true,
- "deviceType": {
- "id": 23,
- "vendor": "ALE",
- "model": "8008"
}, - "id": "5ce2d5160f09f57ed96c6660"
}
], - "limit": 100,
- "offset": 0,
- "total": 1
}
This API allows administrator to retrieve registrations info on all devices registered for a subscriber
superadmin
and support
can get all registrations info existing in Rainbow.
bp_admin
can only get registrations info linked to sites of End Customer companies for which
their bp_admin's company is the BP company.
organization_admin
can only get registrations info linked to sites of companies under their organisation.
company_admin
can only get registrations info linked to sites of their company.
site_admin
can only get the registrations info linked to the site they administrate.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/registrations
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber for which all SIP registrations must be retrieved |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "data": [
- {
- "id": "uloc-5e2062fb-67c1-2a82",
- "fullSipURI": "sip:81100@192.168.101.17:40792;transport=tls",
- "expirationDate": "2020-01-24 10:33:28",
- "user_agent": "eyeBeam release 1003l stamp 30936",
- "deviceId": "5de7a9f6c21aa17bab33734f",
- "publicSourceRegistration": "sip:91.161.84.45:19925"
}
]
}
This API allows to get CLI policy of a CloudPBX Subscriber
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/cli-options
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "policy": "company_policy",
- "numberE164": "+33298143723",
- "userCanManageItsCli": "not_authorized",
- "companyNumberCanBeSelectedByUserAsCli": "company_policy",
- "companyPolicy": "installation_ddi_number"
}
}
This API allows to get PSTN Device options of a CloudPBX Subscriber
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/pstn-device-options
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "policy": "company_policy",
- "numberE164": null
}
}
This API allows to update PSTN Device options of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to update (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
numberE164 | string PSTN number we want to apply for policy "custom_ddi_number" |
policy required | string Enum: "company_policy" "none" "subscriber_ddi" "custom_ddi_number" policy to apply
|
{- "numberE164": "string",
- "policy": "company_policy"
}
{- "data": {
- "policy": "custom_ddi_number",
- "numberE164": "+33298123456"
}
}
This API allows to get custom SIP headers of a CloudPBX Subscriber
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/subscribers/5c790e7b722ee82fe89f2532/sip-headers
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "customSipHeader_1": "subscriber_sip_header_value_1",
- "customSipHeader_2": "subscriber_sip_header_value_2"
}
}
This API allows to update custom SIP headers of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
customSipHeader_1 | string new value to apply for custom SIP Header 1 |
customSipHeader_2 | string new value to apply for custom SIP Header 2 |
{- "customSipHeader_1": "string",
- "customSipHeader_2": "string"
}
{- "data": {
- "customSipHeader_2": "subscriber_sip_header_value_2"
}
}
This API allows to update traffic barring options of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
permissions | string id of the traffic barring permission to apply
|
restrictions | string id of the traffic barring restriction to apply
|
{- "permissions": "string",
- "restrictions": "string"
}
{- "data": {
- "permissions": "int_nat_local",
- "restrictions": "default"
}
}
This API allows configure the authorization on external call forward of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get (it is also its subscriber Id) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
externalCallForward required | string Enum: "company_policy" "authorized" "not_authorized" Chose to authorize or not the external call forward or to be related to system configuration |
{- "externalCallForward": "company_policy"
}
{- "data": {
- "externalCallForward": "company_policy"
}
}
This API allows to update overflow data of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
noReplyDelay | number [ 10 .. 60 ] Delay after the no reply overflow call forward will be effective, could be overwriten with a manager assistant delegation |
unavailableOverflow required | string Value of the overflow on unavailable : default (company), custom (overwrite by admin, so it's active), disabled (not at least on that subscriber) |
value required | string Value of the overflow on busy and no reply : default (company), custom (overwrite by admin), disabled (not at least on that subscriber) |
{- "noReplyDelay": 10,
- "unavailableOverflow": "string",
- "value": "string"
}
{- "data": {
- "value": "disabled",
- "activate": false,
- "unavailableOverflow": "default"
}
}
This API allows to get overflow data of a CloudPBX Subscriber
phoneNumberId required | string PhoneNumber unique identifier of the CloudPBX Subscriber to get |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "value": "disabled",
- "activate": false
}
}
This API allows to create a new SIP device into a CloudPBX. This SIP device can then be assigned to an existing subscriber
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
description required | string Description for identifying the device |
deviceTypeId required | number Device type Identifier - see API GET /cloudpbxs/:id/devicemodels to get the list of supported models for the CloudPBX. |
macAddress | string Device mac address - mandatory for SIP deskphone device |
{- "description": "string",
- "deviceTypeId": 0,
- "macAddress": "string"
}
{- "data": {
- "currentDevice": false,
- "description": "generic device",
- "companyId": "5fa96c9dc3b3be2249265d64",
- "systemId": "5faaaae90c2fba6fa3955942",
- "id": "6023e4f95d4c881e844c28bb",
- "deviceType": {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP"
}
}
}
This API allows to reset a SIP deskphone device to its factory settings.
Be aware that the device will no longer be operational, and should, after the factory reset, need to be manually configured (e.g. at least auto provisioning Url will need to be set).
deviceId required | string Unique identifier of the SIP device to be reset |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Resetting device xxxx",
- "data": [ ]
}
Retrieve a SIP device using the given deviceId
deviceId required | string Unique identifier of the SIP device to get |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "macAddress": "487a55065eb1",
- "description": "Main Deskphone for John",
- "companyId": "5ccbef76399f03bc106f9a80",
- "phoneNumberId": "5ceb8f4e8f9b0d541c5baf9b",
- "shortNumber": "81001",
- "userId": "5ce8043ed9736d8431b5c1af",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "id": "5ceb915e8f9b0d541c5baf9f",
- "deviceType": {
- "id": 29,
- "vendor": "ALE",
- "model": "8058S"
}, - "userDisplayName": "Dan CARTER",
- "adminPassword": "1HW83rf9",
- "debugSessionEndDate": "2020-10-07T15:57:14.292Z"
}
}
This API allows to remove a SIP Device from a CloudPBX. To do so, the SIP device must no longer be associated to a subscriber.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/devices/5cd3de0126fa4a77f8c0415b
deviceId required | string Unique identifier of the SIP device to remove |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "status": "SIP device 5cd3de0126fa4a77f8c0415b successfully deleted",
- "data": [ ]
}
This API allows to update a SIP device
deviceId required | string Unique identifier of the SIP device to update |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
description | string new description |
macAddress | string new device mac address |
{- "description": "string",
- "macAddress": "string"
}
{- "data": {
- "macAddress": "487a55065eb1",
- "description": "Main Deskphone for John",
- "companyId": "5ccbef76399f03bc106f9a80",
- "phoneNumberId": "5ceb8f4e8f9b0d541c5baf9b",
- "shortNumber": "81001",
- "userId": "5ce8043ed9736d8431b5c1af",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "id": "5ceb915e8f9b0d541c5baf9f",
- "deviceType": {
- "id": 29,
- "vendor": "ALE",
- "model": "8058S"
}, - "userDisplayName": "Dan CARTER",
- "adminPassword": "1HW83rf9",
- "debugSessionEndDate": "2020-10-07T15:57:14.292Z"
}
}
This API allows administrator to retrieve all SIP devices assigned into a CloudPBX
superadmin
and support
can get all devices existing in Rainbow.
bp_admin
can only get devices linked to sites of End Customer companies for which
their bp_admin's company is the BP company.
organization_admin
can only get devices linked to sites of companies under their organisation.
company_admin
can only get devices linked to sites of their company.
site_admin
can only get the devices linked to the site they administrate.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/devices
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
limit | number Default: 100 Allow to specify the number of SIP Devices to retrieve. |
offset | number Allow to specify the position of first SIP Device to retrieve (first one if not specified). Warning: if offset > total, no results are returned. |
sortField | string Default: "macAddress" Sort SIP Devices list based on the given field. |
sortOrder | number Default: 1 Enum: -1 1 Specify order when sorting SIP Devices list. |
assigned | boolean Allows to filter devices according their assignment to a subscriber
|
phoneNumberId | string Allows to filter devices according their phoneNumberId (i.e. subscriber id)
|
accept required | string application/json |
{- "data": [
- {
- "macAddress": "487a55065eaa",
- "description": "device not yet assigned",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "deviceType": {
- "id": 23,
- "vendor": "ALE",
- "model": "8008"
}, - "id": "5cd5841c1b5e9676d0b1f4f6"
}, - {
- "macAddress": "487a55065eb1",
- "description": "Main Deskphone for John",
- "companyId": "5ccbef76399f03bc106f9a80",
- "phoneNumberId": "5ceb8f4e8f9b0d541c5baf9b",
- "shortNumber": "81001",
- "userId": "5ce8043ed9736d8431b5c1af",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "id": "5ceb915e8f9b0d541c5baf9f",
- "deviceType": {
- "id": 29,
- "vendor": "ALE",
- "model": "8058S"
}, - "userDisplayName": "Dan CARTER"
}
], - "limit": 100,
- "offset": 0,
- "total": 2
}
This API allows to retrieve SIP registrations information relative to a device.
deviceId required | string Unique identifier of the SIP device for which SIP registrations information should be retrieved |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": [
- {
- "id": "uloc-5e2062fb-67c1-2a82",
- "fullSipURI": "sip:81100@192.168.101.17:40792;transport=tls",
- "expirationDate": "2020-01-24 10:33:28",
- "user_agent": "eyeBeam release 1003l stamp 30936",
- "deviceId": "5de7a9f6c21aa17bab33734f",
- "publicSourceRegistration": "sip:91.161.84.45:19925"
}
]
}
This API allows to grant access to debug session on the given device.
When debug session is granted on the device, admins can retrieve the admin password of the device, url to access the device admin page and also initiate ssh session with the device.
A debug session can be terminated by:
adminUrl
and adminPassword
of the device can be retrieved by getting device information. Please note that `adminUrl` could be unreachable depending on network configuration.
deviceId required | string Unique identifier of the SIP device for which the debug session access will be granted |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
duration | string Duration, in seconds, of the debug session - Only superadmin can set a debug duration different from the default one (configuration parameter: e.g. 30 minutes) |
{- "duration": "string"
}
{- "status": "Debug session successfully granted",
- "data": [ ]
}
This API allows to revoke access to debug session on the given device.
When revoked, the debug session can no longer be used.
The admin password is no longer visible (changed).
deviceId required | string Unique identifier of the SIP device for which the debug session access will be revoked |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "status": "Debug session successfully revoked",
- "data": [ ]
}
This API allows to reboot a SIP deskphone device.
deviceId required | string Unique identifier of the SIP device to be rebooted |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Rebooting device xxxx",
- "data": [ ]
}
Delete a programmable keys from a SIP deskphone device.
Only keys created by this API can be deleted, not the ones created by a service (i.e. Manager-assistant).
deviceId required | string Unique identifier of the SIP device |
keyNum required | string Key number to delete |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "status": "SIP Device key 2 successfully deleted on device 5fd20084f2650878b92994d1",
- "data": {
- "keyType": "speeddial",
- "keyNum": 2
}
}
Retrieve all programmable keys of a SIP deskphone device
deviceId required | string Unique identifier of the SIP device |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "deviceId": "619285bed3a47664fea8cc73",
- "deviceType": {
- "id": 25,
- "vendor": "ALE",
- "model": "M5"
}, - "programmableKeys": 5,
- "availableKeys": 5,
- "keys": [
- {
- "keyType": "monitor",
- "keyNum": 1,
- "keyOwner": "service",
- "userId": "5faaa65a3e75a06e53824e2a",
- "phoneNumberId": "60367747a887763bd76591a3",
- "displayName": "Alice Patol",
- "number": "90001"
}, - {
- "keyType": "reserved",
- "keyNum": "7",
- "keyOwner": "system"
}
]
}
}
Creation of a programmable key on a SIP deskphone device.
Programmable key type can be:
speeddial
: allow to assign a Cloud PBX user or group to a dedicated key for speed dialing, or an external numbermonitor
: allow advanced feature for the concerned key (only for user):
service
: Key has been implicitly created by a service activation (e.g. manager-assistant feature)admin
: Key has been explicitly created by an API call (this API) by an admindeviceId required | string Unique identifier of the SIP device |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
displayName | string Key display name (needed in case of external speed dial key) |
keyNum required | number Programmable key number (from 1 to max key number supported by the device) |
keyType required | string Enum: "speeddial" "monitor" Programmable key type, monitor only for users. |
number | string Destination number in case of external speed dial key |
phoneNumberId | string Destination user's or group's phone Number identifier |
{- "displayName": "string",
- "keyNum": 0,
- "keyType": "speeddial",
- "number": "string",
- "phoneNumberId": "string"
}
{- "status": "SIP Device key 4 to external successfully created on device 622a0d1ae5b8ee362900bcbb",
- "data": {
- "keyType": "speeddial",
- "keyNum": 4,
- "keyOwner": "admin",
- "displayName": "Alice Mob",
- "number": "+33699887002"
}
}
This API allows to get a group's forwards of a CloudPBX.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/groups/5c6aeb5b7817b9050c517e21/forwards
On return data "name" or concerned "id" with value null if the user/rvcpGroup/rvcpAutoAttendant is deleted, please remove the forward.
groupId required | string Unique identifier of the group |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
content-type required | string application/json |
{- "data": {
- "name": "GP_POL1",
- "groupForwards": [
- {
- "type": "immediate",
- "number": "1234",
- "destinationType": "internalnumber",
- "activate": true
}, - {
- "type": "overflow",
- "destinationType": "autoattendant",
- "rvcpAutoAttendantId": null,
- "activate": true,
- "noReplyDelay": 20,
- "name": null
}
]
}
}
This API allows to update forwards of a group of a CloudPBX.
Example: PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/groups/5c6aeb5b7817b9050c517e21/forwards
Setting a forward on a group has different implications depending on the type of group.
For a hunting group, it implies setting a forward on the dedicated subscriber of the cloud PBX associated with the group.
The supported forward types in this case are: 'immediate', 'overflow'.
Overflow is:
groupId required | string Unique identifier of the group |
callForwardType required | string The forward type to update. |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
activate required | boolean Activate or cancel a forward. |
destinationType | string Enum: "internalnumber" "externalnumber" "autoattendant" "voicemail" The destination type. Mandatory for activation. |
noReplyDelay | number Default: 20 Value: in case of 'overflow' forward type on parallel hunting group, timeout in seconds after which the call will be forwarded. |
number | string The number to forward. Mandatory for destinationType = internalnumber or externalnumber. |
rvcpAutoAttendantId required | string Unique identifier of the auto attendant, only for hunting_group |
{- "activate": true,
- "destinationType": "internalnumber",
- "noReplyDelay": 20,
- "number": "string",
- "rvcpAutoAttendantId": "string"
}
{- "status": "Call Forward successfully updated",
- "data": {
- "type": "overflow",
- "destinationType": "autoattendant",
- "rvcpAutoAttendantId": "5c6aeb5b7817b9050c517e20",
- "activate": true
}
}
This API can be used to create a voicemail greeting for a cloudpbx's group.
Request body must contain audio file content.
systemId required | string Unique identifier of the Cloud PBX |
groupId required | string Unique identifier of the group |
{- "data": {
- "id": "51327",
- "type": "busy"
}
}
This API can be used to retrieve customized voicemail greetings for a cloudpbx's group.
systemId required | string Unique identifier of the Cloud PBX |
groupId required | string Unique identifier of the group |
{- "data": [
- {
- "id": "48811",
- "type": "unavailable"
}, - {
- "id": "50485",
- "type": "busy"
}
]
}
This API can be used to delete a voicemail greeting for a cloudpbx's group.
systemId required | string Unique identifier of the Cloud PBX |
groupId required | string Unique identifier of the group |
greetingId required | string Unique identifier of the greeting |
{- "status": "Voicemail greeting has been deleted"
}
This API can be used to retrieve a voicemail greeting (audio file) for a cloudpbx's group.
systemId required | string Unique identifier of the Cloud PBX |
groupId required | string Unique identifier of the group |
greetingId required | string Unique identifier of the greeting |
{- "null": "string"
}
This API can be used to update the audio file associated to a voicemail greeting.
Request body must contain audio file content.
systemId required | string Unique identifier of the Cloud PBX |
groupId required | string Unique identifier of the group |
greetingId required | string Unique identifier of the greeting |
{- "status": "Voicemail greeting has been updated"
}
API used to delete the requested greeting.
Note: only non active and non default greetings can be deleted from the file storage.
Example:
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5cab078455d4811fdd87b0c1/greetings/4b3f58bdc9fe47d69e0ebd878944d12e
fileId required | string Identifier of the greeting file storage (e.g. 569ce8c8f9336c471b98eda1) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Greeting 'music_on_hold' with fileId 5fd101e10394b640112fe9e8 successfully deleted"
}
Used to retrieve the requested greeting, identified by its fileId.
Can be invoked in two different ways:
fileId required | string File Identifier of the greeting (e.g. 569ce8c8f9336c471b98eda1) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "data": {
- "greetingId": "afterhours",
- "fileId": "5fd0fbf1bf81ed5c01fe9cdc",
- "fileName": "office_hours.wav",
- "description": "Voice prompt played when the welcome service is closed",
- "size": 48194,
- "duration": 3.01,
- "isDefault": true,
- "isActive": true
}
}
Delete all the greetings associated to the cloudpbx.
First of all, greetings will be restored to their default values (or cleared if default value is empty).
Then, all stored greetings will be deleted.
The scope of this request is limited to the provided context (i.e. autoAttendantMenuId, ivrId, ...)
Example1 (company announcement greetings):
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings
Example2 (auto attendant greetings):
DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?autoAttendantMenuId=5fd0fbf1bf81ed5c01fe9cdd
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
autoAttendantMenuId | string auto-attendant menu identifier |
ivrId | string IVR (i.e. welcome service) identifier |
groupId | string Hunting group identifier |
attendant | boolean Scope is console attendant when set to true |
{- "status": "Greetings successfully cleaned"
}
API used to retrieve cloudpbx's greetings that can be set for various announcement purpose.
Configurable greetings are contextualized. That means some predefined scopes can be used to handle these greetings.
A scope is selected by passing an extra information to the API.
The list of supported greetings can be split depending on the scope:
These greetings messages can be customised by uploading an audio file (that then be played by, e.g.: welcome service, auto-attendant menu). See greeting upload.
Example1 (company announcement):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings
Example2 (auto-attendant menu prompts):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?autoAttendantMenuId=5fd0fbf1bf81ed5c01fe9cdc
Example3 (welcome service):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?ivrId=5fd0fbf1bf81ed5c01f123aba
Example4 (console attendant announcement):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?attendant=true
Example5 (hunting group):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?groupId=5fd0fbf1bf81ed5c01f456cbc
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
autoAttendantMenuId | string auto-attendant menu identifier |
ivrId | string IVR (i.e. welcome service) identifier |
groupId | string Hunting group identifier |
attendant | boolean Scope is console attendant when set to true |
{- "data": {
- "groupId": "5fd78e2363b99bd78f852509",
- "greetings": [
- {
- "greetingId": "hg_unavailable",
- "fileId": "618bf48cb287be6628ca91e8",
- "fileName": "no_agent_in_group.wav",
- "description": "Voice prompt played when the group is unavailable",
- "size": 121245,
- "duration": 10.5,
- "isDefault": true,
- "isActive": false
}, - {
- "greetingId": "hg_unavailable",
- "fileId": "618bf48cb287be6628caddbb",
- "fileName": "group_not_ready.wav",
- "description": "Voice prompt played when the group is unavailable",
- "size": 121251,
- "duration": 11,
- "isDefault": false,
- "isActive": true
}
]
}
}
Activate the greeting identified by the given fileId
Example:
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/5fae91d4a1d2a014af8b2261/activate
fileId required | string file identifier |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Greeting 5fae91d4a1d2a014af8b2261 / afterhours successfully activated",
- "data": {
- "greetingId": "afterhours",
- "fileId": "5fd0fbf1bf81ed5c01fe9cdd",
- "fileName": "coq.wav",
- "description": "Voice prompt played when service is closed",
- "size": 73048,
- "duration": 2.28,
- "isDefault": false,
- "isActive": true
}
}
Restore the default voice prompt for the given greetingId
The default audio file for the greeting is the one set by the system, when setting the company language.
Example:
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/officehours/restore
Example (music on hold for console attendant):
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/attendant_on_hold/restore
Example (hunting group unavailable):
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/hg_unavailable/restore?groupId=5fd101e10394b640112fe9e8
greetingId required | string greeting identifier |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Greeting music_on_hold successfully restored",
- "data": {
- "greetingId": "music_on_hold",
- "fileId": "5fd0fbf1bf81ed5c01fe9cdd",
- "fileName": "coq.wav",
- "description": "Voice prompt played when the call is placed on hold",
- "size": 73048,
- "duration": 2.28,
- "isDefault": true,
- "isActive": true
}
}
Used to set a new greeting file by uploading an audio file, to be played by, e.g., the welcome service, before recording, or as auto attendant menu selection.
Some remarks about the greeting upload operation:
Example1 (company 'music_on_hold' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/music_on_hold?fileName=land_of_my_father.wav
Example2 (auto-attendant menu key '0' action ):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/menu_key_action_0?autoAttendantMenuId=5fd0ef79527a3d186149610e&fileName=support_service.wav
Example3 (welcome 'afterhours' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/afterhours?ivrId=5fd0ef79527a3d186149610e&fileName=service_closed.wav
Example4 (console attendant 'music_on_hold' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/attendant_on_hold?fileName=seaside.wav
Example5 (hunting group 'hg_unavailable' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/hg_unavailable?fileName=group_not_opened.wav
greetingId required | string greeting id |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Greeting music_on_hold successfully uploaded",
- "data": {
- "greetingId": "music_on_hold",
- "fileId": "5fd0ef79527a3d186149610e",
- "fileName": "coq.wav",
- "description": "cock a doodle doo",
- "size": 402468,
- "duration": 2.28,
- "isDefault": false,
- "isActive": true
}
}
Complete deletion of the requested recording, descriptor and audio file.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5fc2a9c2c6bda124728ae60b/recordings/4b3f58bdc9fe47d69e0ebd878944d12e
recordId required | string Identifier of the record (e.g. 569ce8c8f9336c471b98eda1) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "status": "Record id 569ce8c8f9336c471b98eda1 successfully deleted"
}
Retrieve the requested recording
It can invoked in two ways:
recordId required | string Identifier of the record (e.g. 569ce8c8f9336c471b98eda1) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "data": {
- "id": "5fc5fa5e8d4c07786a1ef05d",
- "fileName": "2020-11-17_20:47:21_90020_record.wav",
- "mime": "audio/x-wav",
- "size": 79950,
- "date": "2020-11-17T20:47:21.000Z",
- "duration": 37,
- "otherParty": {
- "number": "90001"
}, - "recordedParty": {
- "groupId": "5fc5fa5e8d4c0778fedcba78",
- "phoneNumberId": "5fc5fa5e8d4c0778f12345689",
- "name": "Customer support",
- "number": "90020"
}, - "direction": "in"
}
}
Deletion of the provided list of recording
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
recordIds required | string List of recording identifier, separated by a comma |
{- "status": "Records successfully deleted"
}
Retrieve the cloudpbx's recordings
Please refer to local regulations to check if recording conversations is permitted by law.
Recording can be activated on cloud PBX users by a company admin, but only end customer admin can consult these recordings.
When activating, a recording profile is selected:
all
: all calls of the given user are recordedexternal_only
: only calls to or from external users of the cloud PBX are recordedinternal_only
: only calls to or from internal users of the cloud PBX are recordednone
: Feature deactivated
Some additional remarks on recordings:
Fully processed recordings are checked at a maximum time period of one hour.
Recordings are kept in the system for a duration of two months, and then get automatically deleted.
Recording must has a minimum duration of 3 seconds. If smaller, the recording will be automatically deleted.
To retrieve the recordings of a cloud BPX, several filters can be set :
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
limit | number Default: 100 Allow to specify the number of recordings to retrieve |
offset | number Default: 0 Allow to specify the position of first recording to retrieve |
sortField | string Default: "date" Sort recordings list based on the given field |
sortOrder | number Default: -1 Enum: -1 1 Specify order when sorting recordings. Default is descending |
phoneNumberId | string Allows to filter recordings only on the given phoneNumberId |
fromDate | string <date-time> List recordings created after the given date |
toDate | string <date-time> List recordings created before the given date |
recordedName | string List recordings with recorded party name containing the given value |
recordedNumber | string List recordings with recorded party number containing the given value |
otherNumber | string List recordings with other party number containing the given value |
{- "data": [
- {
- "id": "5fc5fa5e8d4c07786a1ef05d",
- "fileName": "2020-11-17_20:47:21_90020_record.wav",
- "mime": "audio/x-wav",
- "size": 79950,
- "date": "2020-11-17T20:47:21.000Z",
- "duration": 37,
- "otherParty": {
- "number": "90001"
}, - "recordedParty": {
- "groupId": "5fc5fa5e8d4c0778fedcba78",
- "phoneNumberId": "5fc5fa5e8d4c0778f12345689",
- "name": "Customer support",
- "number": "90020"
}, - "direction": "in"
}, - {
- "id": "5fc5fa5f8d4c07786a1ef05f",
- "fileName": "2020-11-17_20:49:18_90020_record.wav",
- "mime": "audio/x-wav",
- "size": 654926,
- "date": "2020-11-17T20:49:18.000Z",
- "duration": 76,
- "otherParty": {
- "number": "90001"
}, - "recordedParty": {
- "userId": "5fc5fa5e8d4c0778fedc1234",
- "phoneNumberId": "5fc5fa5e8d4c0778f12345688",
- "name": "Harald Bluetooth",
- "number": "90002"
}, - "direction": "in"
}
], - "limit": 2,
- "offset": 0,
- "total": 9
}
Set the cloudpbx's recording settings
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
announcementProfile required | string Enum: "all" "external_only" "internal_only" "none" Recording announcement profile |
{- "announcementProfile": "all"
}
{- "status": "Recording announcement profile successfully updated"
}
Activate or deactivate subscriber's recordings
phoneNumberId required | string PhoneNumber unique identifier of the Cloud PBX Subscriber to update recording configuration |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
recordingProfile required | string Enum: "internal_only" "external_only" "all" "none" Selection of the recording profile |
{- "recordingProfile": "internal_only"
}
{- "data": {
- "recordingProfile": "external_only"
}
}
This API allows to delete a Cloud PBX Welcome or Welcome Service.
Example: DELETE https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/ivrs/604
ivrId required | string Unique identifier of the ivr (welcome or welcome service) to delete |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
{- "status": "Cloud PBX Welcome or Welcome Service successfully deleted",
- "data": [ ]
}
This API allows to update a Cloud PBX Welcome or Welcome Service.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/ivrs/5c6aeb5b7817b9050c517e21
ivrId required | string Unique identifier of the CloudPBX ivr (Welcome or welcome service) to update |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
object | |
externalNumberId | string phone number id of the ddi you want to link to the welcome service, value to null to desassociate |
name | string Name of the welcome or welcome service. This value will appear on the deskphone or Rainbow clients of the user/group behind the welcome service to know where the call came from. |
welcomeId | string Change of welcome for a welcome service |
{- "closedHoursOverflow": {
- "destinationId": "string",
- "number": "string",
- "type": "closed_hours"
}, - "externalNumberId": "string",
- "name": "string",
- "welcomeId": "string"
}
{- "data": {
- "closedHoursOverflow": {
- "destinationId": "string",
- "name": "string",
- "number": "string",
- "type": "string"
}, - "externalNumber": "string",
- "externalNumberId": "string",
- "id": "string",
- "isDefaultIvr": true,
- "name": "string",
- "openHoursOverflow": {
- "destinationId": "string",
- "name": "string",
- "number": "string",
- "type": "string"
}, - "rvcpAutoAttendantId": "string",
- "systemId": "string",
- "timezone": "string",
- "welcomeId": "string",
- "welcomeName": "string"
}
}
This API allows to get data of a Welcome of a specific system
ivrId required | string Unique identifier of the Cloud PBX welcome to get |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "isDefaultIvr": true,
- "name": "Welcome_CloudPbx1",
- "timezone": "Europe/Paris"
}
}
This API allows to get a Welcome office hours
The "openhours" array has 7 elements, one for each day of the week; each element is an array that has one more sub-elements (also arrays) indicating a continuous period (start time, end time).
This sub-elements should contain two strings with each having the format "HH:MM". If the sub-elements contains only one string with "0" it will be converted to "00:00", "23:59" (24h period).
The first day represents Sunday.
The timezone used is the one defined for the company on the PABX.
The exception indicates an specific period in time that will occur only once. Hence the indication of the year, month and the day of the month (mday) along side the periods of when it will be open.
ivrId required | string Unique identifier of a CloudPBX Welcome |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "officehours": {
- "openhours": [
- [
- [
- "0"
]
], - [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [ ],
- [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [ ],
- [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [
- [
- "6:00",
- "12:30"
]
]
], - "exceptions": [
- {
- "year": 2021,
- "month": 3,
- "mday": 9,
- "periods": [
- [
- "00:00",
- "23:59"
]
], - "open": false
}, - {
- "year": 2021,
- "month": 3,
- "mday": 10,
- "periods": [
- [
- "00:00",
- "23:59"
]
], - "open": true
}, - {
- "year": 2021,
- "month": 3,
- "mday": 19,
- "periods": [
- [
- "08:00",
- "12:00"
], - [
- "14:00",
- "18:00"
]
], - "open": true
}
]
}
}
}
This API allows to update office hours data of a Cloud PBX Welcome.
The "openhours" array has 7 elements, one for each day of the week; each element is an array that has one more sub-elements (also arrays) indicating a continuous period (start time, end time).
This sub-elements should contain two strings with each having the format "HH:MM". If the sub-elements contains only one string with "0" it will be converted to "00:00", "23:59" (24h period).
The first day represents Sunday.
The "exceptions" array needs for each object a year, month (1-12) and a mday (1-31). If you want to set an open one you can enter periods like openhours. If not open it has to be 24/24, "0" value, see the example.
ivrId required | string Unique identifier of the CloudPBX Welcome to update |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
{- "data": {
- "status": "Welcome office hours successfully updated.",
- "officehours": {
- "openhours": [
- [
- [
- "0"
]
], - [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [ ],
- [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [ ],
- [
- [
- "5:30",
- "12:30"
], - [
- "15:30",
- "18:30"
]
], - [
- [
- "6:00",
- "12:30"
]
]
], - "exceptions": [
- {
- "year": 2021,
- "month": 3,
- "mday": 9,
- "periods": [
- [
- "00:00",
- "23:59"
]
], - "open": false
}, - {
- "year": 2021,
- "month": 3,
- "mday": 10,
- "periods": [
- [
- "00:00",
- "23:59"
]
], - "open": true
}, - {
- "year": 2021,
- "month": 3,
- "mday": 19,
- "periods": [
- [
- "08:00",
- "12:00"
], - [
- "14:00",
- "18:00"
]
], - "open": true
}
]
}
}
}
This API allows to get data of a all Welcome services of a specific system
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": [
- {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "name": "User 1",
- "externalNumber": "+33701010101",
- "externalNumberId": "5cd545b3a07de465fbc3158",
- "timezone": "Europe/Paris",
- "closedHoursOverflow": {
- "type": "closed_hours"
}, - "openHoursOverflow": {
- "type": "auto_attendant",
- "destinationId": "6203cad968e63b0a3c227bf3",
- "rvcpAutoAttendantName": "AA2",
- "name": "AA2",
- "rvcpAutoAttendantId": "6203cad968e63b0a3c227bf3"
}
}, - {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "name": "Group 1",
- "externalNumber": "+33701010101",
- "externalNumberId": "5cd545b3a07de465f553158",
- "phoneNumberId": "5cd545b3a07de465fbc3135",
- "timezone": "Europe/Paris",
- "closedHoursOverflow": {
- "type": "user",
- "destinationId": "6033a9f8dade211e79c1503a",
- "name": "user deux2",
- "userDisplayName": "user deux2",
- "number": "102",
- "userId": "6033a9f8dade211e79c1503a"
}, - "openHoursOverflow": {
- "type": "user",
- "destinationId": "6086643971a08927cfed8439",
- "name": "User Cinq",
- "userDisplayName": "User Cinq",
- "number": "110",
- "userId": "6086643971a08927cfed8439"
}
}
]
}
This API allows to create a new CloudPBX Welcome Service.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/ivrs/welcomeservices
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
object | |
externalNumberId | string DDI phone number unique identifier to associate with the CloudPBX Welcome service |
name required | string Name of your welcome service. This value will appear on the deskphone or Rainbow clients of the user/group behind the welcome service to know from where the call came from. |
required | object |
welcomeId required | string Welcome unique identifier, the office hours and prompts will follow on that welcome service |
{- "closedHoursOverflow": {
- "destinationId": "string",
- "number": "string",
- "type": "closed_hours"
}, - "externalNumberId": "string",
- "name": "string",
- "openHoursOverflow": {
- "destinationId": "string",
- "type": "user"
}, - "welcomeId": "string"
}
{- "data": {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "name": "CloudPbx1",
- "externalNumber": "+33701010101",
- "externalNumberId": "5cd545b3a07de465fbc3111",
- "timezone": "Europe/Paris",
- "welcomeId": "5cd545b3a07de465fbc3133",
- "welcomeName": "Welcome name",
- "rvcpAutoAttendantId": null,
- "openHoursOverflow": {
- "type": "user",
- "destinationId": "5cd545b3a07de465fbc3112",
- "number": "XXXX",
- "name": "USER_NAME"
}, - "closedHoursOverflow": {
- "type": "office_hours"
}, - "isDefaultIvr": false
}
}
This API allows to get data of all Welcome of a specific system
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "data": [
- {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "isDefaultIvr": true,
- "name": "Welcome_CloudPbx1",
- "timezone": "Europe/Paris"
}
]
}
This API allows to create a new Cloud PBX Welcome IVR.
Example: POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/5c6aeb5b7817b9050c517e20/ivrs/welcomes
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
name required | string Name of your welcome. |
{- "name": "string"
}
{- "data": {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "isDefaultIvr": true,
- "name": "Welcome_CloudPbx1",
- "timezone": "Europe/Paris"
}
}
This API allows to retrieve an external SIP trunk using its identifier
externalTrunkId required | string External trunk unique identifier (e.g. 56c5c19f94141765119f896c) |
accept required | string application/json |
{- "data": {
- "bpIds": [ ],
- "status": "active",
- "peeringGroupId": 1,
- "rvcpInstanceId": "5c51c50220929d3a50a4b164",
- "resellerId": 111,
- "trunkType": "rb_trunk",
- "id": "5c910276d53e3d2affdc7651",
- "name": "name",
- "description": "name",
- "customSipHeader_1": "X-BILLING",
- "customSipHeader_2": "X-LOCATION",
- "peerAuthenticationRealm": "external-sip-trunk.openrainbow.org",
- "routeInternalCallsToPeerAllowed": false,
- "callForkingToPstnNumber": false,
- "loadBalancerOptions": {
- "policy": "trunk_policy",
- "loadBalancerId": "60524031b4c4d64637bc1850",
- "loadBalancerHostName": "LB07.eu1.sip.openrainbow.com",
- "loadBalancerDisplayName": "Spain LB",
- "loadBalancerDescription": "Specific load balancer to be used for Spain country "
}
}
}
This API allows superadmin
, bp_admin
, company_admin
or organisation_admin
to retrieve a list of external SIP trunks.
bp_admin can list only external SIP trunks he is allowed to use.
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/externaltrunks?trunkType=rb_trunk
rvcpInstanceId | string Allows to filter external SIP trunks by RVCP instance identifier
|
status | string Enum: "new" "active" Allows to filter external SIP trunks by status
|
trunkType | string Enum: "bp_trunk" "rb_trunk" Allows to filter external SIP trunks by their type
|
bpId | string Allows to request only external SIP trunks available for a given BP
|
accept required | string application/json |
{- "data": [
- {
- "bpIds": [ ],
- "status": "new",
- "peeringGroupId": 1,
- "rvcpInstanceId": "5c51c50220929d3a50a4b164",
- "resellerId": 111,
- "id": "5c910276d53e3d2affdc7651",
- "name": "name",
- "description": "description",
- "peerAuthenticationRealm": "external-sip-trunk.openrainbow.org",
- "routeInternalCallsToPeerAllowed": false,
- "callForkingToPstnNumber": false
}
], - "limit": 100,
- "offset": 0,
- "total": 1
}