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 has to be provided 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",
- "externalTrunkId": "5de911d36839bacdd4c53f1c",
- "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",
- "optimizedDialing": "not_activated",
- "monolineIncomingMode": false,
- "telephonyLinePolicy": "multi_lines",
- "emulatedRingBackTone": true,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "prefix": "8",
- "description": "Prefix for R&D department"
}
], - "externalTrunkAdditionalInfo": {
- "id": "5de911d36839bacdd4c53f1c",
- "name": "External Trunk Name",
- "status": "active",
- "description": "External Trunk Description",
- "trunkType": "bp_trunk",
- "locked": false
}, - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "serviceCodesDialPlan": {
- "serviceCodes": [
- {
- "code": "#91",
- "service": "group_withdraw"
}, - {
- "code": "#92",
- "service": "group_login"
}
], - "prefix": "#",
- "digits": 3
}
}, - "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" "pt_br" 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. If numberingDigitsLength change to "fixed" numberingDigits is mandatory if not configured before.
|
numberingDigitsLength | string Enum: "fixed" "variable" Is the numbering digits of each numbering prefix the same (numberingDigits with fixed value) or could be different (digits in numberingPlan for variable value). |
Array of objects (putCloudPbxNumberingPlan) Replace numberingPrefixes for default numberingDigitsLength value fixed. Array of Prefixes, digits (when cloudPBX numberingDigitsLength is not "fixed") and description for CloudPBX numbering plan ([{prefix:"1", digits: 3, description: ""} , {prefix:"999", digits: 5, description: ""}] ) | |
numberingPrefix | number
|
numberingPrefixes | Array of strings
|
outgoingPrefix | number Company outgoing prefix |
pbxLdapId | string custom "pbxId" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |
routeInternalCallsToPeer | boolean Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk) |
object | |
shortCodeDigits | number [ 2 .. 6 ] Default: 4 Number of digits a short code can have, including the prefix length |
shortCodePrefix | string [ 1 .. 3 ] characters Default: "*" Prefix to be used for cloudPBX short codes |
sipDeviceTransferMode | string Enum: "new_call" "attended_transfer" "blind_transfer" "optional" Default Myriad SIP devices transfer softkey behavior |
telephonyLinePolicy | string Enum: "mono_line" "multi_lines" "multi_lines_plus" Indicates multi lines policy |
{- "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,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "description": "string",
- "digits": 0,
- "prefix": "string"
}
], - "numberingPrefix": 0,
- "numberingPrefixes": [
- "string"
], - "outgoingPrefix": 0,
- "pbxLdapId": "string",
- "routeInternalCallsToPeer": true,
- "serviceCodesDialPlan": {
- "digits": 2,
- "prefix": "str",
- "serviceCodes": [
- {
- "code": "string",
- "service": "group_withdraw"
}
]
}, - "shortCodeDigits": 4,
- "shortCodePrefix": "*",
- "sipDeviceTransferMode": "new_call",
- "telephonyLinePolicy": "mono_line"
}
{- "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",
- "optimizedDialing": "activated",
- "monolineIncomingMode": false,
- "telephonyLinePolicy": "multi_lines",
- "emulatedRingBackTone": true,
- "externalTrunkAdditionalInfo": {
- "id": "5cab078455d4811fdd87b0c1",
- "name": "External Trunk Name",
- "status": "active",
- "description": "External Trunk Description",
- "trunkType": "bp_trunk",
- "locked": false
}, - "numberingDigits": 3,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "prefix": "2",
- "description": "Prefix for R&D department"
}, - {
- "prefix": "3",
- "description": "Prefix for Finance department"
}
], - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "serviceCodesDialPlan": {
- "serviceCodes": [
- {
- "code": "#901",
- "service": "group_withdraw"
}, - {
- "code": "#902",
- "service": "group_login"
}
], - "prefix": "#9",
- "digits": 4
}, - "sipDeviceTransferMode": "blind_transfer"
}, - "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,
- "numberingDigits": 3,
- "numberingDigitsLength": "variable",
- "numberingPlan": [
- {
- "prefix": "2",
- "digits": 4,
- "description": "Prefix for R&D department"
}, - {
- "prefix": "3",
- "digits": 3,
- "description": "Prefix for Finance department"
}
], - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "sipDeviceTransferMode": "attended_transfer"
}, - "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
, support
, sales_analytics
and customer_success_admin
can get all CloudPBXs existing in Rainbow
bp_admin
, bp_analytics
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 |
siteId | string Allows to filter CloudPBXs list on the siteIds 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",
- "externalTrunkId": "5de911d36839bacdd4c53f1c",
- "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",
- "optimizedDialing": "activated",
- "monolineIncomingMode": false,
- "telephonyLinePolicy": "multi_lines",
- "emulatedRingBackTone": true,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "prefix": "8",
- "description": "Prefix for R&D department"
}
], - "externalTrunkAdditionalInfo": {
- "id": "5de911d36839bacdd4c53f1c",
- "name": "Trunk name",
- "status": "active",
- "description": "trunk description",
- "trunkType": "bp_trunk",
- "locked": true
}, - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "serviceCodesDialPlan": {
- "serviceCodes": [
- {
- "code": "#91",
- "service": "group_withdraw"
}, - {
- "code": "#92",
- "service": "group_login"
}
], - "prefix": "#",
- "digits": 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"
}
], - "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 |
country | string 3 characters CloudPBX country (ISO 3166-1 alpha3 format). In case this value is not provided, it will be equal to company's country |
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" "pt_br" 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.If numberingDigitsLength is not configured or "fixed" numberingDigits is mandatory.
|
numberingDigitsLength | string Default: "fixed" Enum: "fixed" "variable" Is the numbering digits of each numbering prefix the same (numberingDigits) or could be different (digits in numberingPlan). |
Array of objects (postCloudPbxNumberingPlan) Replace numberingPrefixes for default numberingDigitsLength value fixed. Array of Prefixes, digits (when cloudPBX numberingDigitsLength is not "fixed") and description for CloudPBX numbering plan ([{prefix:"1", digits: 3, description: ""} , {prefix:"999", digits: 5, description: ""}] ) | |
numberingPrefix | number
|
numberingPrefixes | Array of strings
|
optimizedDialing | string Enum: "not_available" "not_activated" "activated" indicates if optimized dialing option is activated or not (it could be 'not_available' if the option is not available on CloudPBX's country) |
outgoingPrefix | number Company outgoing prefix |
pbxLdapId | string custom "pbxId" declared in an external DB (ldap), used to correlate to Rainbow pbxId. |
routeInternalCallsToPeer | boolean Indicates if internal calls must be routed to peer (Only available if 'routeInternalCallsToPeerAllowed' is set to 'true' on external trunk) |
object | |
sipDeviceTransferMode | string Enum: "new_call" "attended_transfer" "blind_transfer" "optional" Default Myriad SIP devices transfer softkey behavior |
siteId | string Identifier of the site on which CloudPBX should be created |
{- "bpId": "string",
- "callForkingToPstnNumber": "not_available",
- "companyId": "string",
- "country": "str",
- "customSipHeader_1": "string",
- "customSipHeader_2": "string",
- "externalTrunkId": "string",
- "language": "en",
- "name": "string",
- "noReplyDelay": 20,
- "numberingDigits": 0,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "description": "string",
- "digits": 0,
- "prefix": "string"
}
], - "numberingPrefix": 0,
- "numberingPrefixes": [
- "string"
], - "optimizedDialing": "not_available",
- "outgoingPrefix": 0,
- "pbxLdapId": "string",
- "routeInternalCallsToPeer": true,
- "serviceCodesDialPlan": {
- "digits": 3,
- "prefix": "#",
- "serviceCodes": [
- {
- "code": "string",
- "service": "group_withdraw"
}
]
}, - "sipDeviceTransferMode": "new_call",
- "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",
- "optimizedDialing": "not_activated",
- "monolineIncomingMode": false,
- "telephonyLinePolicy": "multi_lines",
- "emulatedRingBackTone": true,
- "externalTrunkAdditionalInfo": {
- "id": "5cab078455d4811fdd87b0c1",
- "name": "External Trunk Name",
- "status": "active",
- "description": "External Trunk Description",
- "trunkType": "bp_trunk",
- "locked": false
}, - "numberingDigits": 3,
- "numberingDigitsLength": "fixed",
- "numberingPlan": [
- {
- "prefix": "2",
- "description": "Prefix for R&D department"
}, - {
- "prefix": "3",
- "description": "Prefix for Finance department"
}
], - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "serviceCodesDialPlan": {
- "serviceCodes": [
- {
- "code": "#91",
- "service": "group_withdraw"
}, - {
- "code": "#92",
- "service": "group_login"
}
], - "prefix": "#",
- "digits": 3
}, - "sipDeviceTransferMode": "optional"
}, - "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) |
category | string Default: "deskphone,uncategorized" Filter models on category. Default filter includes 'deskphone' and 'uncategorized' for backward compatibility |
range | string Filter models on range. |
accept required | string application/json |
{- "data": [
- {
- "id": 12,
- "vendor": "ALE",
- "model": "8008",
- "category": "deskphone",
- "range": "cloud_edition",
- "programmableKeys": 6,
- "can_speeddial": true,
- "can_monitor": true,
- "can_forward": false,
- "has_headset": false,
- "has_audioHub": false,
- "has_progKeyHG": false,
- "has_progKeyDND": false,
- "nbOfSoftKeyPages": 1
}, - {
- "id": 13,
- "vendor": "ALE",
- "model": "8018",
- "category": "deskphone",
- "range": "cloud_edition",
- "programmableKeys": 6,
- "can_speeddial": true,
- "can_monitor": true,
- "can_forward": false,
- "has_headset": false,
- "has_audioHub": false,
- "has_progKeyHG": false,
- "has_progKeyDND": false,
- "nbOfSoftKeyPages": 1
}, - {
- "id": 23,
- "vendor": "ALE",
- "model": "M5",
- "category": "deskphone",
- "range": "myriad",
- "programmableKeys": 28,
- "can_speeddial": true,
- "can_monitor": true,
- "can_forward": true,
- "has_headset": true,
- "has_audioHub": true,
- "has_progKeyHG": true,
- "has_progKeyDND": false,
- "nbOfSoftKeyPages": 4,
- "supportedModules": [
- {
- "type": "EM_20",
- "programmableKeys": 20,
- "nbOfSoftKeyPages": 1
}, - {
- "type": "EM_200",
- "programmableKeys": 200,
- "nbOfSoftKeyPages": 10
}
]
}, - {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP",
- "category": "uncategorized",
- "programmableKeys": 0,
- "can_speeddial": false,
- "can_monitor": false,
- "can_forward": false,
- "has_headset": false,
- "has_audioHub": false
}, - {
- "id": 999998,
- "vendor": "ALE",
- "model": "8214DECT",
- "category": "dectmobile",
- "programmableKeys": 0,
- "can_speeddial": false,
- "can_monitor": false,
- "can_forward": false,
- "has_headset": false,
- "has_audioHub": false,
- "supportedModules": [ ],
- "systemKeys": [ ]
}
]
}
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"
}, - {
- "code": "nl",
- "description": "DUTCH"
}, - {
- "code": "pt_br",
- "description": "PORTUGUESE_BRAZIL"
}
]
}
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 [ 10 .. 60 ] Delay after the no reply overflow call forward will be effective, could be overwriten with a manager assistant delegation |
{- "activate": true,
- "activateUnavailableOverflow": true,
- "noReplyDelay": 10
}
{- "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,
- "numberingDigits": 3,
- "numberingDigitsLength": "variable",
- "numberingPlan": [
- {
- "prefix": "2",
- "digits": 4,
- "description": "Prefix for R&D department"
}, - {
- "prefix": "3",
- "digits": 3,
- "description": "Prefix for Finance department"
}
], - "shortCodePrefix": "41",
- "shortCodeDigits": 3,
- "sipDeviceTransferMode": "attended_transfer"
}, - "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 |
numberE164StartWith | string Get DDI numbers for which E164 Number starts with "numberE164StartWith" value |
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 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 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 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
}
}
Add an expansion module to the device.
Some models of the Myriad deskphone serie (M3, M5, M7 and M8) support expansion modules referenced EM_20 and EM_200. Please refer to marketing datasheets to check which modules are supported, and the condition of use.
Once added to a device, programmable keys of the module can then be configured.
deviceId required | string Unique identifier of the SIP device on which the module is added. |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
moduleId required | number Enum: 1 2 3 Id (Position) of the module |
name | string Fiendly name of the expansion module |
type required | string Enum: "EM_20" "EM_200" expansion module type |
{- "moduleId": 1,
- "name": "string",
- "type": "EM_20"
}
{- "data": {
- "currentDevice": false,
- "deviceIds": [ ],
- "telephonyLinePolicy": "multi_lines_plus",
- "codecs": [ ],
- "description": "Generic Sip Device 1",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5de6a632c21aa17bab337347",
- "maxCalls": 4,
- "modules": [ ],
- "phoneNumberId": "660d23ed5156ac0778737108",
- "shortNumber": "81004",
- "userId": "618404f9cb952a6b33db8aa7",
- "id": "6610071718d9b5361810f133",
- "password": "7i695y8i",
- "cert_sip": "-----BEGIN CERTIFICATE-----\\MIIFLDCCAzoZ6+L+\\eOj5WPCSka\\wUlxTtTM/cAAVImAXA\\-----END RSA PRIVATE KEY-----\\\\",
- "deviceType": {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP"
}, - "userDisplayName": "John",
- "mediaTransportProtocol": "rtp_savp",
- "outBoundProxyAddress": "5.eu1.sip.openrainbow.com"
}
}
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) |
data | object |
ipei | string IPEI of the device for DECT mobile |
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 (optional for Generic SIP device - deviceTypeId=999999) |
mediaTransportProtocol | string Default: "rtp_savp" Enum: "rtp_avp" "rtp_savp" Media Transport Protocol ( |
password | string SIP password (ONLY taken into account for GENERIC SIP Device - deviceTypeId=999999)
|
transferMode | string Enum: "same_as_company" "new_call" "attended_transfer" "blind_transfer" "optional" Myriad SIP devices transfer softkey behavior |
{- "data": { },
- "ipei": "string",
- "description": "string",
- "deviceTypeId": 0,
- "macAddress": "string",
- "mediaTransportProtocol": "rtp_savp",
- "password": "string",
- "transferMode": "same_as_company"
}
{- "data": {
- "currentDevice": false,
- "deviceIds": [ ],
- "codecs": [ ],
- "mediaTransportProtocol": "rtp_savp",
- "ipei": "03807e7898",
- "description": "Bob DECT mobile",
- "companyId": "615dc90ba1206f0144d4df61",
- "systemId": "615dcf4ca8f9dc40f36e3972",
- "id": "6666b85450c75c56047b3244",
- "deviceType": {
- "id": 999998,
- "vendor": "ALE",
- "model": "8214 DECT Handset"
}
}
}
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" Enum: "macAddress" "shortNumber" "description" "deviceTypeId" "deviceTypeModel" "userDisplayName" 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
|
banned | boolean Allows to filter devices according to their banned status
|
phoneNumberId | string Allows to filter devices according their phoneNumberId (i.e. subscriber id)
|
primaryDectBaseId | string Allows to filter devices belonging to the DECT base identified by primaryDectBaseId |
category | string Default: "deskphone,uncategorized" Enum: "deskphone" "dectmobile" Filter models on category. Default filter includes 'deskphone' and 'uncategorized' for backward compatibility |
macAddress | string Allows to filter devices with macAdress (or ipei) |
description | string Allows to filter devices on which a word into description matches the provided value (Case-Insensitive mode and 3 characters minimum) |
userId | string Allows to filter devices according their associated user (identified by its Unique Identifier)
|
shortNumber | string Allows to filter devices with shortNumber |
deviceTypeId | number Allows to filter devices according their type (type possible values are provided by GET method on PATH=/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/devicemodels)
|
userDisplayName | string Allows to filter devices according its user displayName (Case-Insensitive mode and 2 characters minimum) |
sipGenericPasswordRequested | boolean Allows to indicate that SIP Passwords for SIP Generic Devices are requested |
accept required | string application/json |
{- "data": [
- {
- "macAddress": "487a55065eaa",
- "description": "device not yet assigned",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "deviceType": {
- "id": 23,
- "vendor": "ALE",
- "model": "8008"
}, - "modules": [ ],
- "mediaTransportProtocol": "rtp_savp",
- "id": "5cd5841c1b5e9676d0b1f4f6"
}, - {
- "macAddress": "487a55065eb1",
- "description": "Main Deskphone for John",
- "transferMode": "same_as_company",
- "companyId": "5ccbef76399f03bc106f9a80",
- "phoneNumberId": "5ceb8f4e8f9b0d541c5baf9b",
- "shortNumber": "81001",
- "userId": "5ce8043ed9736d8431b5c1af",
- "systemId": "5cd1a4f426fa4a77f8c04150",
- "id": "5ceb915e8f9b0d541c5baf9f",
- "deviceType": {
- "id": 23,
- "vendor": "ALE",
- "model": "M5"
}, - "userDisplayName": "Dan CARTER",
- "userLoginEmail": "dan.carter@xxx.com",
- "mediaTransportProtocol": "rtp_savp",
- "modules": [
- {
- "moduleId": 1,
- "type": "EM_200",
- "name": "my_ext1"
}
], - "bannedDevice": {
- "banId": "81001@x.demo.eu1.sip.openrainbow.com",
- "failCount": "3",
- "lastAttempt": "2024-07-19T06:03:25.000Z"
}
}
], - "limit": 100,
- "offset": 0,
- "total": 2
}
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": {
- "currentDevice": false,
- "deviceIds": [ ],
- "telephonyLinePolicy": "multi_lines_plus",
- "codecs": [ ],
- "description": "Generic Sip Device 1",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5de6a632c21aa17bab337347",
- "maxCalls": 4,
- "modules": [ ],
- "phoneNumberId": "660d23ed5156ac0778737108",
- "shortNumber": "81004",
- "userId": "618404f9cb952a6b33db8aa7",
- "id": "6610071718d9b5361810f133",
- "password": "7i695y8i",
- "cert_sip": "-----BEGIN CERTIFICATE-----\\MIIFLDCCAzoZ6+L+\\eOj5WPCSka\\wUlxTtTM/cAAVImAXA\\-----END RSA PRIVATE KEY-----\\\\",
- "deviceType": {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP"
}, - "userDisplayName": "John",
- "mediaTransportProtocol": "rtp_savp",
- "outBoundProxyAddress": "5.eu1.sip.openrainbow.com"
}
}
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 |
deskphoneFailoverMode | string Enum: "same_as_company" "disabled" Deskphone Failover Mode ( |
macAddress | string new device mac address |
mediaTransportProtocol | string Enum: "rtp_avp" "rtp_savp" Media Transport Protocol ( |
password | string SIP password (ONLY taken into account for GENERIC SIP Device - deviceTypeId=999999)
|
transferMode | string Enum: "same_as_company" "new_call" "attended_transfer" "blind_transfer" "optional" Myriad SIP devices transfer softkey behavior |
{- "description": "string",
- "deskphoneFailoverMode": "same_as_company",
- "macAddress": "string",
- "mediaTransportProtocol": "rtp_avp",
- "password": "string",
- "transferMode": "same_as_company"
}
{- "data": {
- "currentDevice": false,
- "deviceIds": [ ],
- "telephonyLinePolicy": "multi_lines_plus",
- "codecs": [ ],
- "description": "Generic Sip Device 1",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5de6a632c21aa17bab337347",
- "maxCalls": 4,
- "modules": [ ],
- "phoneNumberId": "660d23ed5156ac0778737108",
- "shortNumber": "81004",
- "userId": "618404f9cb952a6b33db8aa7",
- "id": "6610071718d9b5361810f133",
- "password": "7i695y8i",
- "cert_sip": "-----BEGIN CERTIFICATE-----\\MIIFLDCCAzoZ6+L+\\eOj5WPCSka\\wUlxTtTM/cAAVImAXA\\-----END RSA PRIVATE KEY-----\\\\",
- "deviceType": {
- "id": 999999,
- "vendor": "ALE",
- "model": "Generic SIP"
}, - "userDisplayName": "John",
- "mediaTransportProtocol": "rtp_savp",
- "outBoundProxyAddress": "5.eu1.sip.openrainbow.com"
}
}
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-668e48be-209050-2",
- "fullSipURI": "sip:90051@192.168.101.29:59952;transport=TLS;line=49309",
- "expirationDate": "2024-07-15 15:55:08",
- "vendor": "ALE",
- "softwareVersion": "9901.0004",
- "macAddress": "00087B1F5759",
- "ipei": "03a8c0071f",
- "dectVersion": "0690_0005",
- "user_agent": "IPDECT-V2/99.01.0004 (MAC=00087B1F5759; SER= 00000; HW=8);IPEI=03:a8:c0:07:1f;v0690_b0005",
- "publicSourceRegistration": "sip:195.128.146.194:59952;transport=tls",
- "deviceId": "662253ff08d4c54c8c87e5e1"
}
]
}
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": [ ]
}
Remove an expansion module from a device.
Note that all programmable keys hosted by the module will be deleted
deviceId required | string Unique identifier of the SIP device on which the module is added. |
moduleId required | string Unique identifier of the module to be removed. |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
accept required | string application/json |
content-type required | string application/json |
{- "errorCode": 401,
- "errorMsg": "Unauthorized",
- "errorDetails": {
- "errorMsg": "User user1@company.com has expired (timeToLive)",
- "timeToLive": 3600,
- "creationDate": "2017-09-05T13:12:51.302Z",
- "expirationDate": "2017-09-05T14:12:51.302Z",
- "currentDate": "2017-09-05T14:48:23.694Z"
}, - "errorDetailsCode": 401523
}
Delete a programmable keys from a SIP deskphone device, or an expansion module
Only keys created by this API can be deleted, not the ones created by a service (i.e. Manager-assistant).
If moduleId is not specified, it is assumed to be the deskphone itself (moduleId = 0)
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) |
moduleId | number Default: 0 Identifier of the module hosting the key to delete |
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": 12,
- "keyOwner": "admin",
- "page": 2,
- "displayName": "MyFriend",
- "number": "+33675457123",
- "moduleId": 0
}
}
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) |
moduleId | number Filter by module hosting the programmable keys. Module 0 is the deskphone itself |
accept required | string application/json |
content-type required | string application/json |
{- "data": {
- "deviceId": "619285bed3a47664fea8cc73",
- "deviceType": {
- "id": 25,
- "vendor": "ALE",
- "model": "M5"
}, - "modelInfo": {
- "programmableKeys": 28,
- "can_speeddial": true,
- "can_monitor": true,
- "nbOfSoftKeyPages": 4,
- "can_forward": true,
- "has_headset": true,
- "has_audioHub": true,
- "supportedModules": [
- {
- "type": "EM_20",
- "programmableKeys": 20,
- "nbOfSoftKeyPages": 1
}, - {
- "type": "EM_200",
- "programmableKeys": 200,
- "nbOfSoftKeyPages": 10
}
]
}, - "availableKeys": 23,
- "keys": [
- {
- "keyType": "monitor",
- "keyNum": 10,
- "page": 2,
- "keyOwner": "service",
- "userId": "5faaa65a3e75a06e53824e2a",
- "phoneNumberId": "60367747a887763bd76591a3",
- "displayName": "Alice Patol",
- "number": "90001",
- "moduleId": 0
}, - {
- "keyType": "speeddial",
- "keyNum": 1,
- "keyOwner": "admin",
- "page": 1,
- "displayName": "Pat",
- "number": "+33675457123",
- "moduleId": 0
}, - {
- "keyType": "headset",
- "keyNum": "4",
- "page": 1,
- "keyOwner": "admin",
- "moduleId": 0
}, - {
- "keyType": "audio_hub",
- "keyNum": "5",
- "page": 1,
- "keyOwner": "admin",
- "moduleId": 0
}, - {
- "keyType": "forward",
- "keyNum": "6",
- "page": 1,
- "keyOwner": "admin",
- "displayName": "Fwd_Pat",
- "number": "+33675457123",
- "moduleId": 0
}, - {
- "keyType": "reserved",
- "keyNum": "7",
- "page": 1,
- "keyOwner": "system",
- "moduleId": 0
}
]
}
}
Creation of a programmable key on a SIP deskphone device or one of its expansion module
Programmable key type can be:
forward
: Activate / deactivate immediate forward to external or internal numberheadset
: Activate / deactivate audio on headset (connected via USB to the deskphone)huntgroup
: Login / Logout of a group from deskphoneaudio_hub
: Activate / deactivate the use of the deskphone as an audio hub (deskphone connected via USB to a computer)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 (mandatory in case of external speed dial key) |
groupId | string Destination group identifier for huntgroup key |
keyNum required | number Programmable key number (from 1 to max key number supported by the device) |
keyType required | string Enum: "speeddial" "monitor" "forward" "headset" "huntgroup" "audio_hub" Programmable key type, monitor only for users. |
moduleId | number Default: 0 Expansion module identifier hosting the programmable key. If not set, key is located on the deskphone itself |
number | string Destination number (mandatory in case of external speed dial key) |
phoneNumberId | string Destination user's or group's phone Number identifier |
{- "displayName": "string",
- "groupId": "string",
- "keyNum": 0,
- "keyType": "speeddial",
- "moduleId": 0,
- "number": "string",
- "phoneNumberId": "string"
}
{- "status": "SIP Device key 4 to external successfully created on device 622a0d1ae5b8ee362900bcbb",
- "data": {
- "keyType": "speeddial",
- "keyNum": 4,
- "page": 1,
- "keyOwner": "admin",
- "displayName": "Alice Mob",
- "number": "+33699887002",
- "moduleId": 0
}
}
Update programmable keys for a given module of a SIP deskphone device
See programmable key creation for supported types
NOTE1: All programmable keys of the device's module will be replaced by the provided data
NOTE2: Operation will be rejected if one key data has at least an invalid field
deviceId required | string Unique identifier of the SIP device |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
required | Array of objects (putCloudPbxDeviceKeysKeys) List of module's keys |
{- "keys": [
- {
- "displayName": "string",
- "keyNum": 0,
- "keyOwner": "admin",
- "keyType": "speedial",
- "number": "string",
- "phoneNumberId": "string"
}
]
}
{- "errorCode": 400,
- "errorMsg": "Bad Request",
- "errorDetails": "Key type forward not supported by device 622a061fe5b8ee362900b9b7 (vendor: ALE/model: 8068S) ",
- "errorDetailsCode": 400581
}
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 (or call queue) |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
content-type required | string application/json |
{- "data": {
- "name": "Hunting Group XYZ",
- "groupForwards": [
- {
- "type": "immediate",
- "activate": false
}, - {
- "activate": true,
- "noReplyDelay": 15,
- "destinationType": "welcomeservice",
- "type": "overflow",
- "welcomeServiceId": "64f1e2bcf1ba430efa62c9e6",
- "name": "Welcome Service xxxx"
}
]
}
}
This API allows to update forwards of a group (or call queue) 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:
For a call queue, supported forward types in this case are: 'immediate' and 'overflow'. But consider that only 'overflow' type is available, don't try to manage 'immediate' forward type for the moment.
Forward destinations are limited to externalNumber, autoAttendant, internalNumber, voicemail, welcomeService.
For overflow forward type on call queue, behavior depends on enable attribute and activate attribute :
Following logic is applied:
groupId required | string Unique identifier of the CloudPBX group (or call queue) |
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" "welcomeservice" The destination type. Mandatory for activation. |
enable | boolean Only for call queue overflow forward type (and mandatory for call queue overflow forward type)
|
immediateOverflowWhenEmpty | boolean Only for call queue overflow forward type
|
noReplyDelay | number [ 5 .. 180 ] Default: 60 in case of 'overflow' forward type on parallel hunting group, timeout in seconds after which the call will be forwarded. In case of call Queue, this timeout value is used in all cases of distribution policy |
number | string The number to forward. Mandatory for destinationType = internalnumber or externalnumber. |
rvcpAutoAttendantId | string Unique identifier of the auto attendant, only for hunting_group or call_queue group type |
welcomeServiceId | string Unique identifier of the welcome service, only for hunting_group or call_queue group type |
{- "activate": true,
- "destinationType": "internalnumber",
- "enable": true,
- "immediateOverflowWhenEmpty": true,
- "noReplyDelay": 60,
- "number": "string",
- "rvcpAutoAttendantId": "string",
- "welcomeServiceId": "string"
}
{- "status": "Call Forward successfully updated",
- "data": {
- "activate": true,
- "destinationType": "externalnumber",
- "number": "+33530097219",
- "noReplyDelay": 15,
- "enable": true,
- "type": "overflow"
}
}
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,
- "loopPlay": false
}
}
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 |
callQueueId | string Call Queue identifier |
userId | string User identifier |
{- "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
Example5 (call queue):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?callQueueId=5fd0fbf1bf81ed5c01f456cbb
Example6 (user):
GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings?userId=5fd0fbf1bf81ed5c01f456cbb
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 |
callQueueId | string Call Queue identifier |
attendant | boolean Scope is console attendant when set to true |
userId | string User identifier |
{- "data": {
- "greetings": [
- {
- "greetingId": "user_busy",
- "fileId": "60a21bdf22bea33d84340999",
- "fileName": "i_am_busy.wav",
- "description": "Voice prompt played when the destination is busy",
- "size": 65664,
- "duration": 4.1,
- "isDefault": true,
- "isActive": true,
- "loopPlay": false
}, - {
- "greetingId": "user_unavailable",
- "fileId": "60a21bdf22bea33d84340998",
- "fileName": "i_am_unavailable.wav",
- "description": "Voice prompt played when the destination is unavailable",
- "size": 21778,
- "duration": 1.36,
- "isDefault": true,
- "isActive": true,
- "loopPlay": false
}
]
}
}
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,
- "loopPlay": false
}
}
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
Example (call queue unavailable):
POST https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/cq_unavailable/restore?callQueueId=5fd101e10394b640112fe9e7
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,
- "loopPlay": 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
Example6 (call queue):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/waiting_music?fileName=cqueue_waiting.wav
Example7 (call queue 'cq_unavailable' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/cq_unavailable?fileName=no_answer_agent.wav&description=CQunavailable&callQueueId=640f2bbcfff370c9bc68a496
Example5 (user 'user_unavailable' announcement):
PUT https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/cloudpbxs/:systemId/greetings/user_unavailable?userId=5fd0ef79527a3d186149610e&fileName=i_am_not_avail.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,
- "loopPlay": true
}
}
Modify the greeting settings identified by the given fileId
fileId required | string file identifier |
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
loopPlay | boolean Indicates if the greeting should be played in loop, or just once. Only some greetings can be modified: afterhours, callee_busy, user_busy, callee_unavailable, user_unavailable, hg_unavailable, cq_unavailable, custom_announcement_welcome |
{- "loopPlay": true
}
{- "status": "Settings of greeting 5fae91d4a1d2a014af8b2261 / afterhours successfully modified",
- "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,
- "loopPlay": false
}
}
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"
}
Retrieve recordings according filters (Scope is the entire list of companies manageable by LoggedIn user)
Note that this API can be used only by SuperAdmin or Organization Admin
In case of SuperAdmin ; it is needed to set at least one parameter filter, in order to limit scope of the request and don't create a too large query
In case of Organization Admin ; default scope is its whole organization.
For both kind of users (Super or Orga Admin) ; scope can be limited using systemIds, siteIds and companyIds parameters.
These 3 scope parameters are combined using an Union logic.
Indeed recording results will be:
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, several filters can be set :
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 |
systemIds | string Allows to define Scope of the request : It is an union with siteIds and companyIds parameters.
|
siteIds | string Allows to define Scope of the request : It is an union with systemIds and companyIds parameters.
|
companyIds | string Allows to define Scope of the request : It is an union with systemIds and siteIds parameters.
|
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",
- "callId": "2704b006",
- "companyId": "5d7b94be2afdfd3c92ac8a40"
}, - {
- "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",
- "callId": "2704b007",
- "companyId": "5d7b94be2afdfd3c92ac8a40"
}
], - "limit": 2,
- "offset": 0,
- "total": 9
}
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 (DEPRECATED) 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 (DEPRECATED) 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"
}, - "companyCalendarId": "string",
- "externalNumber": "string",
- "externalNumberId": "string",
- "id": "string",
- "isDefaultIvr": true,
- "manualMode": {
- "endDate": "2019-08-24",
- "mode": "default",
- "startDate": "2019-08-24"
}, - "name": "string",
- "openHoursOverflow": {
- "destinationId": "string",
- "name": "string",
- "number": "string",
- "type": "string"
}, - "rvcpAutoAttendantId": "string",
- "state": "open",
- "systemId": "string",
- "timezone": "string",
- "welcomeId": "string",
- "welcomeName": "string",
- "welcomeServicesManualMode": [
- {
- "endDate": "2019-08-24",
- "mode": "open",
- "name": "string",
- "startDate": "2019-08-24"
}
]
}
}
Will be replace by {get} /api/rainbow/admin/v1.0/companies/:companyId/calendars/:calendarId Get a company calendar with backend 203
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",
- "state": "closed",
- "manualMode": {
- "mode": "default",
- "startDate": null,
- "endDate": null
}, - "welcomeServicesManualMode": [
- {
- "name": "My Welcome Service",
- "id": "5cd545b3a07de465fbc3fetc",
- "mode": "default",
- "startDate": null,
- "endDate": null
}, - {
- "name": "My Welcome Service2",
- "id": "5cd545b3a07de465fbc3fet2",
- "mode": "open",
- "startDate": "2022-10-20 13:13:00.000Z",
- "endDate": "2022-10-20 13:30:00.000Z"
}
]
}
}
Will be replace by {get} /api/rainbow/admin/v1.0/companies/:companyId/calendars/:calendarId Get a company calendar with backend 203
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": [
- [
- [
- "00:00",
- "23:59"
]
], - [
- [
- "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
}
]
}
}
}
Will be replace by {put} /api/rainbow/admin/v1.0/companies/:companyId/calendars/:calendarId Update a company calendar with backend 203
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) |
name | string Filter welcome services whose name contain the given filter |
externalNumber | string Filter welcome services whose external number contain the given filter |
limit | string Allow to specify the number of Welcome Services to retrieve (in that case, offset url query parameter must be also set). Result will be paginated |
offset | string Allow to specify the position of first Welcome Service to retrieve (in that case, limit url query parameter must be also set). Result will be paginated |
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 | |
companyCalendarId | string Company Calendar unique identifier, the office hours will follow on that welcome service |
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 | string DEPRECATED Welcome unique identifier, the office hours and prompts will follow on that welcome service, will be replace by companyCalendarId |
{- "closedHoursOverflow": {
- "destinationId": "string",
- "number": "string",
- "type": "closed_hours"
}, - "companyCalendarId": "string",
- "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",
- "companyCalendarId": "5cd545b3a07de465fbc3158",
- "companyCalendarName": "Welcome Name",
- "rvcpAutoAttendantId": null,
- "openHoursOverflow": {
- "type": "user",
- "destinationId": "5cd545b3a07de465fbc3112",
- "number": "XXXX",
- "name": "USER_NAME"
}, - "closedHoursOverflow": {
- "type": "office_hours"
}, - "isDefaultIvr": false,
- "state": "open",
- "manualMode": {
- "mode": "default",
- "startDate": null,
- "endDate": null
}
}
}
Will be replace by {get} /api/rainbow/admin/v1.0/companies/:companyId/calendars/:calendarId Get all company calendars with backend 203
systemId required | string CloudPBX unique identifier (e.g. 569ce8c8f9336c471b98eda1) |
name | string Filter welcome whose name contain the given filter |
limit | string Allow to specify the number of Welcomes to retrieve (in that case, offset url query parameter must be also set). Result will be paginated |
offset | string Allow to specify the position of first Welcome to retrieve (in that case, limit url query parameter must be also set). Result will be paginated |
accept required | string application/json |
content-type required | string application/json |
{- "data": [
- {
- "id": "5cd545b3a07de465fbc3fcda",
- "systemId": "5cd545b3a07de465fbc3134",
- "isDefaultIvr": true,
- "name": "Welcome_CloudPbx1",
- "timezone": "Europe/Paris",
- "state": "closed"
}
]
}
Will be replace by {post} /api/rainbow/admin/v1.0/companies/:companyId/calendars Create a company calendar with backend 203
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",
- "state": "closed",
- "manualMode": {
- "mode": "default",
- "startDate": null,
- "endDate": null
}, - "welcomeServicesManualMode": [
- {
- "name": "My Welcome Service",
- "id": "5cd545b3a07de465fbc3fetc",
- "mode": "default",
- "startDate": null,
- "endDate": null
}, - {
- "name": "My Welcome Service2",
- "id": "5cd545b3a07de465fbc3fet2",
- "mode": "open",
- "startDate": "2022-10-20 13:13:00.000Z",
- "endDate": "2022-10-20 13:30:00.000Z"
}
]
}
}
This API allows to retrieve an external SIP trunk using its identifier (available also for Hybrid Trunk)
externalTrunkId required | string External trunk unique identifier (e.g. 56c5c19f94141765119f896c) |
accept required | string application/json |
{- "data": {
- "name": "OXE Trunk for Xyz Company",
- "bpIds": [
- "5ccbef76399f03bc106f9a80"
], - "status": "active",
- "description": "OXE Trunk available for Rainbow Hub User outgoing Calls",
- "callForkingToPstnNumber": false,
- "trunkType": "hybrid_trunk",
- "rvcpInstanceId": "5de6a488c21aa17bab337345",
- "loadBalancerOptions": {
- "loadBalancerId": "60c11e76fbef7462d4e23a0b",
- "policy": "trunk_policy",
- "loadBalancerHostName": "LB2.eu1.sip.openrainbow.com",
- "loadBalancerDisplayName": "Main LB",
- "loadBalancerDescription": "Sip LB description"
}, - "hybrid_specific_data": {
- "domainName": "985.eu1.sip.openrainbow.com",
- "companyId": "5f58f253110f90314df03caf",
- "systemId": "6228f7db2b060b0f92601146",
- "sipUserName": "TRK_CTM_985_001",
- "sipPassword": "d1234567890",
- "sipPort": 5061,
- "transportProtocol": "TLS",
- "outBoundProxyAddress": "LB2.eu1.sip.openrainbow.com",
- "cert_sip": "-----BEGIN CERTIFICATE-----\\fdfdsfsdfsfsfhjh...........................S--\\\\",
- "registrationsInfo": [
- {
- "id": "uloc-65846246-23e4-db3",
- "fullSipURI": "sip:185.138.146.14:5060;transport=tcp",
- "expirationDate": "2023-12-22 15:37:42",
- "user_agent": "Mediant SW/v.7.40A.100.238",
- "publicSourceRegistration": "sip:185.138.146.14:59081;transport=tcp"
}
], - "mediaTransportProtocol": "srtp"
}, - "id": "655f123ce228fc7e840b8f8c"
}
}
This API allows superadmin
, bp_admin
, company_admin
or organisation_admin
to retrieve a list of external SIP trunks (including Hybrid Trunks)
bp_admin and organisation_admin can list only external SIP trunks they are allowed to use.
company_admin obtains only a sum up of the Trunk he is using on its own CloudPBX
Result is paginated (with optional parameters like limit and offset in order to manage this pagination). No choice on the order of the results, the order is based on the external SIP trunk name exclusively
Example: GET https://sandbox.openrainbow.com/api/rainbow/rvcpprovisioning/v1.0/external-trunks?limit=10&offset=0&bpId=5d7f7f46b4521d9a924c714c
limit | string Allow to specify the number of external SIP trunks to retrieve |
offset | string Allow to specify the position of first external SIP trunk to retrieve |
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 Default: "bp_trunk" Enum: "bp_trunk" "rb_trunk" "hybrid_trunk" Allows to filter external SIP trunks by their type
|
bpId | string Allows to request only external SIP trunks available for a given BP
|
targetedCompanyId | string Allows to request all external trunks available for the company defined by |
accept required | string application/json |
{- "data": [
- {
- "name": "New Trunk from OXE",
- "bpIds": [
- "5ccbef76399f03bc106f9a80"
], - "status": "active",
- "description": "OXE trunk used by Rainbow Hub for company Xyz",
- "callForkingToPstnNumber": false,
- "trunkType": "hybrid_trunk",
- "rvcpInstanceId": "5de6a488c21aa17bab337345",
- "loadBalancerOptions": {
- "loadBalancerId": "60c11deefbef7462d4e23a09",
- "policy": "trunk_policy"
}, - "hybrid_specific_data": {
- "domainName": "5.eu1.sip.openrainbow.com",
- "companyId": "5ccbef76399f03bc106f9a80",
- "systemId": "5de6a632c21aa17bab337347",
- "sipUserName": "TRK_CTM_5_007",
- "sipPassword": "b1234567890",
- "mediaTransportProtocol": "srtp"
}, - "id": "655dcfa6c6b76d74e00a3069",
- "locked": false,
- "cloudPbxs": [ ]
}, - {
- "name": "Carrier SIP Trunk",
- "bpIds": [
- "5ccbef76399f03bc106f9a80",
- "5e182ad8684c5d3da1b6fc17"
], - "status": "active",
- "description": "Trunk used by Service Provider yyyyy",
- "peeringGroupId": 1,
- "rvcpInstanceId": "5de6a488c21aa17bab337345",
- "trunkType": "bp_trunk",
- "routeInternalCallsToPeerAllowed": false,
- "loadBalancerOptions": {
- "loadBalancerId": null,
- "policy": "peering_policy"
}, - "callForkingToPstnNumber": true,
- "id": "5de911d36839bacdd4c53f1c",
- "locked": false,
- "cloudPbxs": [
- {
- "id": "5e907a544e9187059dc21d3f",
- "name": "CPBX_gef"
}, - {
- "id": "5e907c3f4e9187059dc21d42",
- "name": "CPBX_ghi"
}
]
}
], - "limit": 10,
- "offset": 0,
- "total": 2
}