Api >

Service Portal REST API

GET Customer options as Admin
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as admin
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "ratingProfile",
    "href": "/api/operators/C0002/rating-profiles/Rating%20Profile%201"
  }, {
    "rel": "availableRatingProfiles",
    "href": "/api/operators/C0002/rating-profiles/available"
  }, {
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableContractTypes",
    "href": "/api/contract-types"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "TRIAL"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "betaTester",
    "value": true
  }, {
    "name": "betaDeviceTester",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "coachingEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
GET Customer options as Operator
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Operator C0002
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "ratingProfile",
    "href": "/api/operators/C0002/rating-profiles/Rating%20Profile%201"
  }, {
    "rel": "availableRatingProfiles",
    "href": "/api/operators/C0002/rating-profiles/available"
  }, {
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "TRIAL"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
GET Customer options as System Integrator
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as System Integrator S0002
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "TRIAL"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
GET Customer options as Customer
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Customer K0002
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "TRIAL"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
GET Customer options for blocked Customer
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Customer K0002
and it has:
  • blockedAt set to 2014-01-01T12:00:00+0100
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 403 Forbidden
and body with following fields:
{
  "detail": "Customer 'K0002' is blocked. This operation is not allowed",
  "title": "Customer is blocked",
  "described_by": "http://api.nfon.net/probs/customer-is-blocked"
}
GET Customer options with null password lengths
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Customer K0002
and it has:
  • vmPasswordLengthMin set to null
  • vmPasswordLengthMax set to null
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "data": [{
    "name": "vmPasswordLengthMin",
    "value": null
  }, {
    "name": "vmPasswordLengthMax",
    "value": null
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "language",
    "value": "en"
  }]
}
Cti billing mode should be OFF if it is set to trial but cti period end date is reached as Admin
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as admin
and it has:
  • trialPeriodEnd set to 2010,1,9
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "ratingProfile",
    "href": "/api/operators/C0002/rating-profiles/Rating%20Profile%201"
  }, {
    "rel": "availableRatingProfiles",
    "href": "/api/operators/C0002/rating-profiles/available"
  }, {
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableContractTypes",
    "href": "/api/contract-types"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "OFF"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "betaTester",
    "value": true
  }, {
    "name": "betaDeviceTester",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "coachingEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
Cti billing mode should be OFF if it is set to trial but cti period end date is reached as Operator
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Operator C0002
and it has:
  • trialPeriodEnd set to 2010,1,9
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "ratingProfile",
    "href": "/api/operators/C0002/rating-profiles/Rating%20Profile%201"
  }, {
    "rel": "availableRatingProfiles",
    "href": "/api/operators/C0002/rating-profiles/available"
  }, {
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "OFF"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
Cti billing mode should be OFF if it is set to trial but cti period end date is reached as System Integrator
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as System Integrator S0002
and it has:
  • trialPeriodEnd set to 2010,1,9
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableCtiBillingModes",
    "href": "/api/customers/K0002/cti-billing-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "nconnect"
  }, {
    "name": "ctiBillingMode",
    "value": "OFF"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "aastra31NewLayout",
    "value": true
  }, {
    "name": "sipCustomPort",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "blockedOutbound",
    "value": true
  }, {
    "name": "trialPeriod",
    "value": true
  }, {
    "name": "trialPermanent",
    "value": false
  }, {
    "name": "newBss",
    "value": false
  }, {
    "name": "blockedAt",
    "value": null
  }, {
    "name": "ratingProfileName",
    "value": "Rating Profile 1"
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": false
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}
GET Customer options as Customer with preview allowed and enabled, transcription allowed and contract type business_premium
Test setup
Given there is a Customer with ID K0002 with:
  • countOfTrunks set to TWO_DIGIT
  • speedDialLength set to 3
  • deviceCreationPassword set to p@ss123
  • evnMode set to SHORTEN
  • projectNumberLength set to 5
  • contractType set to nconnect
  • ctiBillingMode set to TRIAL
  • clickToDialState set to ON_FIXED_NUMBER
  • nmeeting set to FLATRATE
  • vmPasswordLengthMin set to 22
  • vmPasswordLengthMax set to 31
  • sipTransport: UDP
  • lockDeviceWebserver set to true
  • portLock set to true
  • intercomEnabled set to true
  • betaTester set to true
  • betaDeviceTester set to true
  • aastra31NewLayout set to true
  • sipCustomPort set to true
  • ccbs set to true
  • timezone set to UTC
  • mediaGatewayEmergencyDialplanEnabled set to true
  • vlanProvisioning set to true
  • acureusBilling set to true
  • blockedOutbound set to true
  • trialPeriod set to true
  • trialPermanent set to false
  • primary contact +49 (89) 012345678
  • language set to en
Given I am authenticated as Customer K0002
and
  • preview feature allowed 1
  • voicemail transcription feature allowed 1
  • contractType set to one that is allowed to use transcription business_premium
  • customer preview flag enabled true
When I send /api/customers/K0002/options
Then I should receive HTTP/1.1 200 OK
and body with following fields:
{
  "href": "/api/customers/K0002/options",
  "links": [{
    "rel": "availableCountOfTrunks",
    "href": "/api/customers/K0002/count-of-trunks"
  }, {
    "rel": "availableEvnModes",
    "href": "/api/customers/K0002/evn-modes"
  }, {
    "rel": "availableClickToDialStates",
    "href": "/api/customers/K0002/click-to-dial-states"
  }, {
    "rel": "availableNmeetingOptions",
    "href": "/api/customers/K0002/nmeeting-options"
  }, {
    "rel": "timezone",
    "href": "/api/time-zones/UTC"
  }],
  "data": [{
    "name": "countOfTrunks",
    "value": "TWO_DIGIT"
  }, {
    "name": "speedDialLength",
    "value": 3
  }, {
    "name": "deviceCreationPassword",
    "value": "***"
  }, {
    "name": "evnMode",
    "value": "SHORTEN"
  }, {
    "name": "projectNumberLength",
    "value": 5
  }, {
    "name": "contractType",
    "value": "business_premium"
  }, {
    "name": "ctiBillingMode",
    "value": "TRIAL"
  }, {
    "name": "clickToDialState",
    "value": "ON_FIXED_NUMBER"
  }, {
    "name": "nmeeting",
    "value": "FLATRATE"
  }, {
    "name": "vmPasswordLengthMin",
    "value": 22
  }, {
    "name": "vmPasswordLengthMax",
    "value": 31
  }, {
    "name": "operatorVmPasswordLengthMin",
    "value": 6
  }, {
    "name": "operatorVmPasswordLengthMax",
    "value": 12
  }, {
    "name": "sipTransport",
    "value": "UDP"
  }, {
    "name": "lockDeviceWebserver",
    "value": true
  }, {
    "name": "portLock",
    "value": true
  }, {
    "name": "intercomEnabled",
    "value": true
  }, {
    "name": "ccbs",
    "value": true
  }, {
    "name": "mediaGatewayEmergencyDialplanEnabled",
    "value": true
  }, {
    "name": "nmqEnabled",
    "value": false
  }, {
    "name": "vlanProvisioning",
    "value": true
  }, {
    "name": "acureusBilling",
    "value": true
  }, {
    "name": "dialWithoutPrefix",
    "value": false
  }, {
    "name": "dialPrefix",
    "value": "0"
  }, {
    "name": "disableT38",
    "value": false
  }, {
    "name": "previewFeatureEnabled",
    "value": true
  }, {
    "name": "language",
    "value": "en"
  }, {
    "name": "voicemailTranscriptionEnabled",
    "value": false
  }, {
    "name": "presenceTeamsConnectorEnabled",
    "value": false
  }, {
    "name": "voicemailNotificationMode",
    "value": "FULL"
  }, {
    "name": "operatorTPSAvailable",
    "value": false
  }, {
    "name": "operatorLdapVisible",
    "value": false
  }, {
    "name": "operatorNmqEnabled",
    "value": false
  }]
}