Skip to content

Commit

Permalink
110 webex builder (#115)
Browse files Browse the repository at this point in the history
Co-authored-by: Jordan Prescott <jprescott23@gmail.com>
Co-authored-by: Malkin0xb <michaelclarkey26@gmail.com>
Co-authored-by: CHOPP3D <64507146+Chopped4Life@users.noreply.github.com>
  • Loading branch information
4 people committed Sep 18, 2024
1 parent 1a778ae commit 7988db9
Show file tree
Hide file tree
Showing 15 changed files with 1,079 additions and 6 deletions.
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@
* [🔢 Remove Numbers](docs/features/scripter/remove-numbers.md)
* [🔑 Bulk Password Reset](docs/features/scripter/bulk-password-reset.md)
* [📜 Service Provider Trunking Capacity](docs/features/scripter/service-provider-trunking-capacity.md)
* [💻 Webex Builder](docs/features/scripter/webex-builder.md)
* [📈 Reporter](docs/features/reporter/README.md)
* [🤙 Call Flow](docs/features/reporter/call-flow/README.md)
* [🔑 Node Key](docs/features/reporter/call-flow/node-key.md)
Expand Down
67 changes: 67 additions & 0 deletions docs/docs/features/scripter/webex-builder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
description: api.scripter.webex_builder()
---

# 💻 Webex Builder

This script will build a webex device for a user either as a primary device or as a Shared Call Appearance.

An email and alternate user id is set, then an optional feature pack can be assigned for billing.

Next, Integrated IMP is enabled in the user services (This is needed for the integration with Cisco). Furthermore, the device is built to the device profile you set using `device_type` parameter and then added to the user either as a primary device or SCA.

{% hint style="warning" %}
```
Before running ensure your user has correct licensing for Shared Call Appearance if secondary device. Furthermore, make sure all prerequisites for the group to have webex users have been taken.
```
{% endhint %}

### Parameters&#x20;

* service\_provider\_id (str): Service Provider ID where group is hosted.
* group\_id (str): Group ID where target user is hosted.
* user\_id (str): Target user to build and add webex device.
* device\_type (str): Name of the device profile to apply.
* email (str): Email of user. This will be used to sign into the webex client.
* primary\_device (bool, optional): Setting to False will assign as SCA, True is primary. Defaults to True.
* webex\_feature\_pack\_name (str, optional): Feature pack to assign for Webex services. Defaults to None.
* enable\_integrated\_imp (bool, optional): Enables Integrated IMP service for the user if True .Defaults to True.

### Return

* dict: Webex user/ device details. Includes webex client username and password, and if primary device, device type set.

### How To Use:

{% code overflow="wrap" %}
```python
from odins_spear import api

my_api = api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1")
my_api.authenticate()

my_api.scripter.webex_builder(
service_provider_id="serviceProviderId",
group_id="groupId",
user_id="userId",
device_type="Businness Communicator - Mobile",
email="test@test.com",
primary_device=True,
webex_feature_pack_name="Webex Mobile",
enable_integrated_imp=True
)
```
{% endcode %}

### Retuned Data (Formatted)

{% code overflow="wrap" fullWidth="false" %}
```
{
'username': 'Jordan.Prescott4401@jrdneva.ev.wbx.com',
'password': '{YdQb8',
'primary_device': True,
'device_type': 'Business Communicator - PC'
}
```
{% endcode %}
66 changes: 66 additions & 0 deletions docs/docs/methods/hunt-groups/delete-group-hunt-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
description: my_api.delete.group_hunt_group()
---

# 💔 DELETE - Group Hunt Group

Deletes the specified hunt group.

### Parameters&#x20;

* service_user_id (str): The service user ID of the hunt group to be deleted.

### Returns

* Dict: Profile of the deleted hunt group.

### How To Use:

{% code overflow="wrap" %}
```python
from odins_spear import api

my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1")
my_api.authenticate()

my_api.delete.group_hunt_group(
service_user_id = "test_hunt_groupd@domain.com"
)
```
{% endcode %}

### Example Returned Data (Formatted)
```json
{
"serviceInstanceProfile": {
"name": "test_hunt_group",
"callingLineIdLastName": "Hunt Group",
"callingLineIdFirstName": "Test",
"hiraganaLastName": "Hunt Group",
"hiraganaFirstName": "Test",
"language": "English",
"timeZone": "Europe/London",
"timeZoneDisplayName": "(GMT+01:00) Greenwich Mean Time",
"aliases": []
},
"policy": "Regular",
"huntAfterNoAnswer": False,
"noAnswerNumberOfRings": 5,
"forwardAfterTimeout": False,
"forwardTimeoutSeconds": 10,
"allowCallWaitingForAgents": False,
"useSystemHuntGroupCLIDSetting": True,
"includeHuntGroupNameInCLID": True,
"enableNotReachableForwarding": False,
"makeBusyWhenNotReachable": False,
"allowMembersToControlGroupBusy": False,
"enableGroupBusy": False,
"applyGroupBusyWhenTerminatingToAgent": False,
"serviceUserId": "test_hunt_group@domain.com",
"resellerId": None,
"serviceProviderId": "ExampleServiceProvider",
"groupId": "ExampleGroup",
"isEnterprise": True,
"agents": []
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
description: my_api.get.group_hunt_groups_available_users()
---

# 👩‍👩‍👧‍👧 GET - Group Hunt Groups Available Users

Deletes the specified hunt group.

### Parameters&#x20;

* service_user_id (str): The service user ID of the hunt group to be deleted.

### Returns

* Dict: Profile of the deleted hunt group.

### How To Use:

{% code overflow="wrap" %}
```python
from odins_spear import api

my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1")
my_api.authenticate()

my_api.get.group_hunt_groups_available_users(
service_user_id="test_hgd@domain.com"
)
```
{% endcode %}

### Example Returned Data (Formatted)
```json
{
"serviceInstanceProfile": {
"name": "test_hg",
"callingLineIdLastName": "hg",
"callingLineIdFirstName": "test",
"hiraganaLastName": "test_hg",
"hiraganaFirstName": "Hunt Group",
"language": "English",
"timeZone": "Europe/London",
"timeZoneDisplayName": "(GMT+01:00) Greenwich Mean Time",
"aliases": []
},
"policy": "Regular",
"huntAfterNoAnswer": false,
"noAnswerNumberOfRings": 5,
"forwardAfterTimeout": false,
"forwardTimeoutSeconds": 10,
"allowCallWaitingForAgents": false,
"useSystemHuntGroupCLIDSetting": true,
"includeHuntGroupNameInCLID": true,
"enableNotReachableForwarding": false,
"makeBusyWhenNotReachable": false,
"allowMembersToControlGroupBusy": false,
"enableGroupBusy": false,
"applyGroupBusyWhenTerminatingToAgent": false,
"serviceUserId": "test_hg@domain.com",
"resellerId": null,
"serviceProviderId": "Example Service Provider ID",
"groupId": "Example Group ID",
"isEnterprise": true,
"agents": []
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
description: my_api.post.group_hunt_groups_remove_user()
---

# 👋 POST - Group Hunt Groups Remove User

Removes the specified user from all hunt groups in which it currently exists.

### Parameters&#x20;

* service_provider_id (str): The service provider ID in which the target user exists.
* group_id (str): The group ID where the user exists.
* user_id (str): The User ID of the user that is to be removed from the hunt group(s).

### Returns

* List: Service user ID's (str) of the hunt groups from which the specified user has been removed.

### How To Use:

{% code overflow="wrap" %}
```python
from odins_spear import api

my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1")
my_api.authenticate()

my_api.post.group_hunt_groups_remove_user(
service_provider_id = "Test Service Provider ID",
group_id = "Test Group ID",
user_id = "test_user@domain.com"
)
```
{% endcode %}

### Example Returned Data (Formatted)
```json
["test_hunt_group_1@domain.com", "test_hunt_group2@domain.com"]
```
42 changes: 42 additions & 0 deletions docs/docs/methods/services/get-user-service-settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
description: my_api.get.user_service_settings()
---

# ⚙️ GET - User Service Settings

This method grabs all of a Broadwork entity's service settings.

### Parameters&#x20;

* user\_id (str): User ID of the target Broadworks entity.

### Returns

* Dict: Broadworks entity and all service settings.

### How To Use:

```python
from odins_spear import api

my_api= api.Api(base_url="https://base_url/api/vx", username="john.smith", password="ODIN_INSTANCE_1")
my_api.authenticate()

# updating a users service pack
my_api.get.user_service_settings(
"userId@domain.com"
)
```
{% endcode %}

### Example Data Returned (Formatted)
```json
{
"userId": "user@odinapi.net",
"Advice Of Charge": {
"isActive": false,
"aocType": "During Call"
}
}
```
```
Loading

0 comments on commit 7988db9

Please sign in to comment.