Group Virtual On Net Extensions

List all virtual users in a Group

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/virtual_users/

List all virtual users in a Group.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/virtual_users/ HTTP/1.1
Host: example.com

{
   "sensitiveDeviceNameContains": "Test"
}
Request JSON Object:
  • sensitiveUserLastNameStarts (string) – See sensitiveUserLastNameStarts from Search criteria.

  • sensitiveUserLastNameContains (string) – See sensitiveUserLastNameContains from Search criteria.

  • sensitiveUserLastNameEquals (string) – See sensitiveUserLastNameEquals from Search criteria.

  • insensitiveUserLastNameStarts (string) – See insensitiveUserLastNameStarts from Search criteria.

  • insensitiveUserLastNameContains (string) – See insensitiveUserLastNameContains from Search criteria.

  • insensitiveUserLastNameEquals (string) – See insensitiveUserLastNameEquals from Search criteria.

  • sensitiveUserFirstNameStarts (string) – See sensitiveUserFirstNameStarts from Search criteria.

  • sensitiveUserFirstNameContains (string) – See sensitiveUserFirstNameContains from Search criteria.

  • sensitiveUserFirstNameEquals (string) – See sensitiveUserFirstNameEquals from Search criteria.

  • insensitiveUserFirstNameStarts (string) – See insensitiveUserFirstNameStarts from Search criteria.

  • insensitiveUserFirstNameContains (string) – See insensitiveUserFirstNameContains from Search criteria.

  • insensitiveUserFirstNameEquals (string) – See insensitiveUserFirstNameEquals from Search criteria.

  • phoneNumberStarts (string) – See insensitivePhoneNumberStarts from Search criteria.

  • phoneNumberContains (string) – See insensitivePhoneNumberContains from Search criteria.

  • phoneNumberEquals (string) – See insensitivePhoneNumberEquals from Search criteria.

  • extensionStarts (string) – See insensitiveExtensionStarts from Search criteria.

  • extensionContains (string) – See insensitiveExtensionContains from Search criteria.

  • extensionEquals (string) – See insensitiveExtensionEquals from Search criteria.

  • callTypeEquals (string) – See sensitiveCallTypeEquals from Search criteria.

  • responseSizeLimit (integer) – See responseSizeLimit from Search criteria.

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
      "users": [
                  {
                      "lastName": "Test",
                      "firstName": "ApioInitialUser",
                      "phoneNumber": "+3212345678",
                      "extension": "1111",
                      "callType": "default"
                  }
      ]
}
Response JSON Object:
Status Codes:

Create a single user or a user’s range

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/virtual_users/

Create a single user or a user’s range.

Example request:

POST /api/v1/tenants/footenant/groups/foogroup/services/virtual_users/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "virtualOnNetUsers": [
                                  {
                                  "lastName": "Test",
                                  "firstName": "ApioInitialUser",
                                  "cliLastName": "Test",
                                  "cliFirstName": "ApioInitialUser",
                                  "phoneNumber": "+3212345678",
                                  "extension": "1111",
                                  "callType": "default"
                                      }
                      ]
}

or

{
   "virtualOnNetUsersRange":
                          {
                              "phoneNumberRange": {
                                      "minPhoneNumber": "123456777",
                                      "maxPhoneNumber": "123456779"
                              },
                              "extensionRange": {
                                      "minExtension": "0000",
                                      "maxExtension": "0002"
                              },
                              "firstName": "firstName",
                              "lastName": "lastName",
                              "cliFirstName": "cliFirstName",
                              "cliLastName": "cliLastName"
                              "callType": "default"
                          }
}
Request JSON Object:

These 2 parameters are mutually exclusive.

The list of allowed callTypes can be retrieved using the API Display system’s call types.

Example response:

HTTP/1.1 201 CREATED
Content-Type: "application/json"

{}
Status Codes:

Display a user in a group

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/virtual_users/(string: instance_name)/

Display an user in a Group.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/virtual_users/phoneNumber/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

Example response:

HTTP/1.1 201 CREATED
Content-Type: "application/json"

{
  "extension": "1111",
  "firstName": "ApioInitialUser",
  "lastName": "Test",
  "cliFirstName": "ApioUser",
  "cliLastName": "Test",
  "callType": "default"
}
Response JSON Object:
  • extension (string) – user’s extension.

  • firstName (string) – user’s first name.

  • lastName (string) – user’s last name.

  • cliFirstName (string) – user’s calling line id first name.

  • cliLastName (string) – user’s calling line id last name.

  • callType (string) – user’s virtual on net call type.

Status Codes:

Modify a user in a group

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/virtual_users/(string: instance_name)/

Modify an user in a Group.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/virtual_users/phoneNumber/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
      "extension": "1111",
      "firstName": "ApioInitialUser",
      "lastName": "Test",
      "cliFirstName": "ApioUser",
      "cliLastName": "Test",
      "callType": ""
}
Request JSON Object:
  • extension (string) – user’s extension.

  • firstName (string) – user’s first name.

  • lastName (string) – user’s last name.

  • cliFirstName (string) – user’s calling line id first name.

  • cliLastName (string) – user’s calling line id last name.

  • callType (string) – user’s virtual on net call type. The list of allowed callTypes can be retrieved using the API Display system’s call types.

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{}
Status Codes:

Remove a user from a Group

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/virtual_users/(string: instance_name)/

Remove an user from a Group.

Example request:

DELETE /api/v1/tenants/footenant/groups/foogroup/services/virtual_users/phoneNumber/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{}
Status Codes:
  • 200 OK – no error. Note that trying to delete an user that is not present in the group will not generate an error

APIO Configuration Information

The APIO behaviour is controlled by the following settings:

"DEFAULT_CALL_TYPE": "whatever"

It is used if the parameter callType is not present in the POST request. It must be noted that there is no value for this field in the APIO default settings because the callTypes are always dependant of the Application Server behind the APIO, there is no default value at that level.