Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging Docs branch with Main #70

Merged
merged 14 commits into from
Jul 19, 2024
Binary file added docs/.gitbook/assets/image (30).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
* [🚰 GET - Group Trunk Groups](docs/methods/trunk-groups/get-group-trunk-groups.md)
* [🚿 GET - Service Provider Trunk Group Call Capacity](docs/methods/trunk-groups/get-service-provider-trunk-group-call-capacity.md)
* [📂 GET - Service Provider Call Capacity Report](docs/methods/trunk-groups/get-service-provider-call-capacity-report.md)
* [📞 PUT - Group Trunk Groups Call Capacity](docs/methods/trunk-groups/put-group-trunk-groups-call-capacity.md)
* [☎️ PUT - Group Trunk Group](docs/methods/trunk-groups/put-group-trunk-group.md)
* [🚿 POST - Group Trunk Group](docs/methods/trunk-groups/post-group-trunk-group.md)
* [🤵 User](docs/methods/user/README.md)
* [🆔 GET - User By ID](docs/methods/user/get-user-by-id.md)
* [👯 GET - Users](docs/methods/user/get-users.md)
Expand All @@ -67,6 +70,8 @@
* [🟢 PUT - User Call Center](docs/methods/call-centers/user-call-center.md)
* [🙋‍♂️ PUT - User Call Center Agents Update](docs/methods/call-centers/user-call-center-agents-update.md)
* [🛑 PUT - User Call Center Agent Sign Out](docs/methods/call-centers/user-call-center-agent-sign-out.md)
* [📞 Call Processing Policies](docs/methods/call-processing-policies/README.md)
* [🗃️ PUT - User Call Processing Policy](docs/methods/call-processing-policies/put-user-call-processing-policy.md)
* [☎️ Devices](docs/methods/devices/README.md)
* [📱 PUT - Group Devices](docs/methods/devices/group-devices.md)
* [📞 PUT - Service Provider Device](docs/methods/devices/service-provider-device.md)
Expand All @@ -81,10 +86,12 @@
* [📂 PUT - Group Device Type File](docs/methods/devices/group-device-type-file.md)
* [🎐 PUT - Group Device Type Tag](docs/methods/devices/group-device-type-tag.md)
* [🎐 PUT - Service Provider Device Type Tag](docs/methods/devices/service-provider-device-type-tag.md)
* [🗃️ POST - Group Device](docs/methods/devices/post-group\_device.md)
* [🍇 Hunt Groups](docs/methods/hunt-groups/README.md)
* [🟢 PUT - Group Hunt Groups Status](docs/methods/hunt-groups/group-hunt-groups-status.md)
* [🍏 PUT - Group Hunt Group](docs/methods/hunt-groups/group-hunt-group.md)
* [💯 PUT - Group Hunt Group Weighted Call Distribution](docs/methods/hunt-groups/group-hunt-group-weighted-call-distribution.md)
* [🙋‍♂️ POST - Group Hunt Group](docs/methods/hunt-groups/post-group-hunt-group.md)
* [🍒 Services](docs/methods/services/README.md)
* [🧍 PUT - User Services](docs/methods/services/user-services.md)
* [🛑 Do Not Disturb](docs/methods/do-not-disturb/README.md)
Expand Down
3 changes: 2 additions & 1 deletion docs/docs/features/reporter/group-users-call-statistics.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ We have found that customers like to review how busy their users are and identif

### Example Output

<figure><img src="../../../.gitbook/assets/group_users_call_statistics_example.jpg" alt=""><figcaption><p>Example output from feature</p></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (30).png" alt=""><figcaption><p>Output Example</p></figcaption></figure>

### Parameters&#x20;

Expand All @@ -38,6 +38,7 @@ The script makes use of the following methods:
```python
api.get.users()
api.get.users_stats()
api.get.user_services()
```

### How To Use:
Expand Down
1 change: 1 addition & 0 deletions docs/docs/methods/call-processing-policies/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 🗃️ Call Processing POlicies
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
description: my_api.put.user_call_processing_policy()
---

# 🗃️ PUT - User Call Processing Policy

Update the Call Processing Policies for a specified user.

### Parameters&#x20;

* user\_id (str): The user ID of the user whose call processing policies need updating.
* updates (dict): Updates to apply to the specified user.

### Returns

* Dict: Returns the updated call processing policies.

### 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.put.user_call_processing_policy(
"[email protected]",
updates = {
"clidPolicy": "Use DN",
"emergencyClidPolicy": "Use DN",
"allowAlternateNumbersForRedirectingIdentity": "true",
"useGroupName": "false"
}
)
```
{% endcode %}

### Example Data Returned (Formatted)

```json
{
"useUserCLIDSetting": False,
"useUserMediaSetting": False,
"useUserCallLimitsSetting": False,
"useUserDCLIDSetting": False,
"useUserTranslationRoutingSetting": False,
"useMaxSimultaneousCalls": True,
"maxSimultaneousCalls": 5,
"useMaxSimultaneousVideoCalls": True,
"maxSimultaneousVideoCalls": 5,
"useMaxCallTimeForAnsweredCalls": True,
"maxCallTimeForAnsweredCallsMinutes": 1440,
"useMaxCallTimeForUnansweredCalls": False,
"maxCallTimeForUnansweredCallsMinutes": 2,
"mediaPolicySelection": "No Restrictions",
"useMaxConcurrentRedirectedCalls": True,
"maxConcurrentRedirectedCalls": 5,
"useMaxFindMeFollowMeDepth": True,
"maxFindMeFollowMeDepth": 2,
"maxRedirectionDepth": 5,
"useMaxConcurrentFindMeFollowMeInvocations": True,
"maxConcurrentFindMeFollowMeInvocations": 2,
"clidPolicy": "Use DN",
"emergencyClidPolicy": "Use DN",
"allowAlternateNumbersForRedirectingIdentity": True,
"useGroupName": False,
"blockCallingNameForExternalCalls": False,
"enableDialableCallerID": False,
"allowConfigurableCLIDForRedirectingIdentity": True,
"allowDepartmentCLIDNameOverride": False,
"useUserPhoneListLookupSetting": False,
"enablePhoneListLookup": False,
"useMaxConcurrentTerminatingAlertingRequests": False,
"maxConcurrentTerminatingAlertingRequests": 10,
"includeRedirectionsInMaximumNumberOfConcurrentCalls": False,
"allowMobileDNForRedirectingIdentity": False,
"userId": "[email protected]"
}

```

127 changes: 127 additions & 0 deletions docs/docs/methods/hunt-groups/post-group-hunt-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# 🙋‍♂️ POST - Group Hunt Group

Builds a hunt group (HG) in the specified group.

### Parameters&#x20;

* service\_provider\_id (str): The service provider ID in which the target group is built.
* group\_id (str): The group ID where the HG should be built.
* service\_user\_id (str): The service user ID for the new HG. This must include the domain of the user.
* clid\_first\_name (str): The Calling Line ID first name.
* clid\_last\_name (str): The Calling Line ID last name.
* extension (str): The extension number for the HG. This must be entered as a string.
* payload (dict, optional): HG configuration data.
* agents (list, optional): List of user IDs (str) that should be assigned to the new HG. The user(s) must already exist in the group.
* policy (str, optional): Regular, Circular, Simultaneous, Uniform, Weighted. Defaults to Regular.
* no\_answer\_number\_of\_rings (int, optional): Defaults to 5.
* forward\_timeout\_seconds (int, optional): Defaults to 0.

### Returns

* None: This method does not return any specific value.

### 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()

hunt_group_agents= [
"[email protected]",
"[email protected]"
]

my_api.post.group_hunt_group(
my_service_provider_id = "ServiceProviderID",
my_group_id = "GroupID",
service_user_id = "[email protected]",
clid_first_name = "odin",
clid_last_name = "mock.hg.2",
hunt_group_extension = "1234",
agents = hunt_group_agents,
policy = "Regular"
)
```
### Example Returned Data of Hunt Group (Formatted)

```json
{
"serviceInstanceProfile": {
"name": "odin mock.hg.2",
"callingLineIdLastName": "mock.hg.2",
"callingLineIdFirstName": "odin",
"hiraganaLastName": "odin mock.hg.2",
"hiraganaFirstName": "Hunt Group",
"extension": "1234",
"language": "English",
"timeZone": "Europe/London",
"timeZoneDisplayName": "(GMT+01:00) Greenwich Mean Time",
"aliases": []
},
"policy": "Regular",
"huntAfterNoAnswer": False,
"noAnswerNumberOfRings": 5,
"forwardAfterTimeout": False,
"forwardTimeoutSeconds": 0,
"allowCallWaitingForAgents": False,
"useSystemHuntGroupCLIDSetting": False,
"includeHuntGroupNameInCLID": False,
"enableNotReachableForwarding": False,
"makeBusyWhenNotReachable": False,
"allowMembersToControlGroupBusy": False,
"enableGroupBusy": False,
"applyGroupBusyWhenTerminatingToAgent": False,
"serviceUserId": "[email protected]",
"resellerId": None,
"serviceProviderId": "ServiceProviderID",
"groupId": "GroupID",
"isEnterprise": True,
"agents": [
{
"userId": "[email protected]",
"lastName": "1",
"firstName": "hunt_group_user",
"hiraganaLastName": "1",
"hiraganaFirstName": "hunt_group_user",
"weight": None,
"phoneNumber": None,
"extension": "111111",
"department": None,
"emailAddress": None,
"isPhoneNumberActivated": None,
"countryCode": None,
"nationalPrefix": None,
"departmentName": None,
"departmentType": None,
"parentDepartment": None,
"parentDepartmentType": None,
"groupId": "GroupID",
"groupName": "Group Name"
},
{
"userId": "[email protected]",
"lastName": "2",
"firstName": "hunt_group_user",
"hiraganaLastName": "2",
"hiraganaFirstName": "hunt_group_user",
"weight": None,
"phoneNumber": None,
"extension": "222222",
"department": None,
"emailAddress": None,
"isPhoneNumberActivated": None,
"countryCode": None,
"nationalPrefix": None,
"departmentName": None,
"departmentType": None,
"parentDepartment": None,
"parentDepartmentType": None,
"groupId": "GroupID",
"groupName": "Group Name"
}
]
}

```
118 changes: 118 additions & 0 deletions docs/docs/methods/trunk-groups/post-group-trunk-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
---
description: api.post.group_trunk_group()
---

# 🚿 POST - Group Trunk Group

Builds a Trunk Group (TG) in the specified group. Please note, several fields are set to have default values. Please see below.

### Parameters&#x20;

* service\_provider\_id (str): Service provider ID for which the max active calls needs to be updated
* group\_id (str): The group ID where the HG should be built.
* trunk\_name (str): The name of the new TG.
* max\_active\_calls (str): The maximum active calls to be set on the TG.
* payload (dict, optional): Configuration for the TG.
* sip\_authentication\_username (str, optional): The SIP authentication username for the TG. This field is required if "requireAuthentication" in the payload is set to "true".
* sip\_authentication\_password (str, optional): The SIP authentication password for the TG. You can generate a password for this using get.sip_password_generator. This field is required if "requireAuthentication" in the payload is set to "true".

### Returns

* Dict: Returns the Trunk Group profile.

### Default Fields&#x20;

* "capacityExceededTrapInitialCalls":0,
* "capacityExceededTrapOffsetCalls":0,
* "clidSourceForScreenedCallsPolicy":"Profile Name Profile Number",
* "continuousOptionsSendingIntervalSeconds":30,
* "failureOptionsSendingIntervalSeconds":10,
* "failureThresholdCounter":1,
* "invitationTimeout":6,
* "inviteFailureThresholdCounter":1,
* "inviteFailureThresholdWindowSeconds":30,
* "pilotUserCallOptimizationPolicy":"Optimize For User Services",
* "pilotUserCallingLineAssertedIdentityPolicy":"Unscreened Originating Calls",
* "pilotUserCallingLineIdentityForEmergencyCallsPolicy":"No Calls",
* "pilotUserCallingLineIdentityForExternalCallsPolicy":"No Calls",
* "pilotUserChargeNumberPolicy":"No Calls",
* "requireAuthentication":"false",
* "successThresholdCounter":1,
* "useSystemUserLookupPolicy":"true",
* "userLookupPolicy":"Basic"


### 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.put.group_trunk_group(
my_service_provider_id = "ServiceProviderID",
my_group_id = "GroupID",
my_trunk_group_name = "Odin Test Trunk"
max_active_calls = 2
)
```
{% endcode %}

### Example Data Returned (Formatted)

```json
{
"maxActiveCalls": 2,
"enableBursting": False,
"capacityExceededTrapInitialCalls": 0,
"capacityExceededTrapOffsetCalls": 0,
"invitationTimeout": 6,
"requireAuthentication": False,
"allowTerminationToTrunkGroupIdentity": False,
"allowTerminationToDtgIdentity": False,
"includeTrunkGroupIdentity": False,
"includeDtgIdentity": False,
"includeTrunkGroupIdentityForNetworkCalls": False,
"includeOtgIdentityForNetworkCalls": False,
"enableNetworkAddressIdentity": False,
"allowUnscreenedCalls": False,
"allowUnscreenedEmergencyCalls": False,
"pilotUserCallingLineIdentityForExternalCallsPolicy": "No Calls",
"pilotUserChargeNumberPolicy": "No Calls",
"routeToPeeringDomain": False,
"prefixEnabled": False,
"statefulReroutingEnabled": False,
"sendContinuousOptionsMessage": False,
"continuousOptionsSendingIntervalSeconds": 30,
"failureOptionsSendingIntervalSeconds": 10,
"failureThresholdCounter": 1,
"successThresholdCounter": 1,
"inviteFailureThresholdCounter": 1,
"inviteFailureThresholdWindowSeconds": 30,
"trunkGroupState": "Available",
"pilotUserCallingLineAssertedIdentityPolicy": "Unscreened Originating Calls",
"useSystemCallingLineAssertedIdentityPolicy": False,
"totalActiveIncomingCalls": 0,
"totalActiveOutgoingCalls": 0,
"pilotUserCallOptimizationPolicy": "Optimize For User Services",
"clidSourceForScreenedCallsPolicy": "Profile Name Profile Number",
"useSystemCLIDSourceForScreenedCallsPolicy": False,
"userLookupPolicy": "Basic",
"useSystemUserLookupPolicy": True,
"pilotUserCallingLineIdentityForEmergencyCallsPolicy": "No Calls",
"implicitRegistrationSetSupportPolicy": "Disabled",
"useSystemImplicitRegistrationSetSupportPolicy": True,
"sipIdentityForPilotAndProxyTrunkModesPolicy": "User",
"useSystemSIPIdentityForPilotAndProxyTrunkModesPolicy": True,
"useSystemSupportConnectedIdentityPolicy": True,
"supportConnectedIdentityPolicy": "Disabled",
"useSystemOptionsMessageResponseStatusCodes": True,
"serviceProviderId": "ServiceProviderID",
"groupId": "GroupID",
"name": "Odin Test Trunk",
"users": []
}

```
Loading