diff --git a/README.md b/README.md
index c8e6968..4757247 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ This Python package is automatically generated by the [Swagger Codegen](https://
- API version: 3.0.0
- Package version: 1.0.0
-- Build date: 2017-12-14T13:49:10.123+01:00
+- Build date: 2018-01-11T12:53:12.631+01:00
- Build package: class io.swagger.codegen.languages.PythonClientCodegen
## Requirements.
@@ -103,6 +103,7 @@ Class | Method | HTTP request | Description
*CallsApi* | [**call_answer**](docs/CallsApi.md#call_answer) | **POST** /calls/{callId}/_answer | Set call as answered by agent
*CallsApi* | [**call_change_channel_status**](docs/CallsApi.md#call_change_channel_status) | **PUT** /calls/{callId}/channels/{channelId}/_status | Change channel status
*CallsApi* | [**call_create**](docs/CallsApi.md#call_create) | **POST** /calls/{callId} | Create new call
+*CallsApi* | [**call_fetch_ivr**](docs/CallsApi.md#call_fetch_ivr) | **POST** /calls/{callId}/_fetchIvr | Fetches IVR for the call from external URL
*CallsApi* | [**call_get_status**](docs/CallsApi.md#call_get_status) | **GET** /calls/{callId}/status | Return the status of call
*CallsApi* | [**call_move_channel**](docs/CallsApi.md#call_move_channel) | **POST** /calls/{callId}/channels/{channelId}/_move | Moves existing channel to target call
*CallsApi* | [**call_remove_channel**](docs/CallsApi.md#call_remove_channel) | **DELETE** /calls/{callId}/channels/{channelId} | Removes channel from the call
@@ -112,6 +113,7 @@ Class | Method | HTTP request | Description
*CallsApi* | [**call_start_canceled**](docs/CallsApi.md#call_start_canceled) | **POST** /call/_startCanceled | Callback that starting call canceled
*CallsApi* | [**call_start_failed**](docs/CallsApi.md#call_start_failed) | **POST** /call/_startFailed | Callback that starting call failed
*CallsApi* | [**call_stop**](docs/CallsApi.md#call_stop) | **POST** /calls/{callId}/_stop | Stops the call
+*CallsApi* | [**call_transfer**](docs/CallsApi.md#call_transfer) | **POST** /calls/{callId}/_transfer | Transfers call to different department / agent
*CallsApi* | [**confirm_ring**](docs/CallsApi.md#confirm_ring) | **POST** /calls/{callId}/_confirmRing | Confirm that call is ringing
*CallsApi* | [**get_calls_list**](docs/CallsApi.md#get_calls_list) | **GET** /calls | Gets list of calls
*CallsApi* | [**merge**](docs/CallsApi.md#merge) | **POST** /calls/{callId}/_merge | Merge two calls
@@ -120,6 +122,7 @@ Class | Method | HTTP request | Description
*CannedmessagesApi* | [**get_canned_message**](docs/CannedmessagesApi.md#get_canned_message) | **GET** /canned_messages/{cannedMessageId} | Gets canned message
*CannedmessagesApi* | [**get_canned_messages_list**](docs/CannedmessagesApi.md#get_canned_messages_list) | **GET** /canned_messages | Gets list of canned messages
*CannedmessagesApi* | [**update_canned_message**](docs/CannedmessagesApi.md#update_canned_message) | **PUT** /canned_messages/{cannedMessageId} | Update canned message
+*ChatsApi* | [**get_chats_list**](docs/ChatsApi.md#get_chats_list) | **GET** /chats | Gets list of chats
*CompaniesApi* | [**create_company**](docs/CompaniesApi.md#create_company) | **POST** /companies | Create new company
*CompaniesApi* | [**delete_company**](docs/CompaniesApi.md#delete_company) | **DELETE** /companies/{companyId} | Delete company
*CompaniesApi* | [**get_companies_list**](docs/CompaniesApi.md#get_companies_list) | **GET** /companies | Gets list of companies
@@ -135,6 +138,9 @@ Class | Method | HTTP request | Description
*DepartmentsApi* | [**get_department_list**](docs/DepartmentsApi.md#get_department_list) | **GET** /departments | Gets list of departments
*DepartmentsApi* | [**get_specific_department**](docs/DepartmentsApi.md#get_specific_department) | **GET** /departments/{departmentId} | Get department by specific id
*DepartmentsApi* | [**if_agent_is_in_department**](docs/DepartmentsApi.md#if_agent_is_in_department) | **GET** /departments/{departmentId}/{agentId} | Is agent is department
+*ExtensionsApi* | [**get_extension**](docs/ExtensionsApi.md#get_extension) | **GET** /extensions/{extensionId} | Gets Extension
+*ExtensionsApi* | [**get_extensions_list**](docs/ExtensionsApi.md#get_extensions_list) | **GET** /extensions | Gets list of extensions
+*ExtensionsApi* | [**set_extension**](docs/ExtensionsApi.md#set_extension) | **PUT** /extensions/{extensionId} | Set extension
*FilesApi* | [**upload_file**](docs/FilesApi.md#upload_file) | **POST** /files | Upload new file to the system
*GroupsApi* | [**create_group**](docs/GroupsApi.md#create_group) | **POST** /groups | Create contact group
*GroupsApi* | [**delete_group**](docs/GroupsApi.md#delete_group) | **DELETE** /groups/{groupId} | Delete contact group
@@ -144,6 +150,8 @@ Class | Method | HTTP request | Description
*HostingApi* | [**get_info**](docs/HostingApi.md#get_info) | **GET** /hosting/info | Used hosting system info
*InvoicesApi* | [**dowload_invoice**](docs/InvoicesApi.md#dowload_invoice) | **POST** /invoices/{invoiceNumber}/_download | Download invoice
*InvoicesApi* | [**get_invoices**](docs/InvoicesApi.md#get_invoices) | **GET** /invoices/ | Invoice list
+*OutgoingphonenumberApi* | [**get_outgoing_phone_number**](docs/OutgoingphonenumberApi.md#get_outgoing_phone_number) | **GET** /outgoing_phone_numbers/{phoneNumber} | Get outgoing phone number
+*OutgoingphonenumberApi* | [**get_outgoing_phone_numbers_list**](docs/OutgoingphonenumberApi.md#get_outgoing_phone_numbers_list) | **GET** /outgoing_phone_numbers | Gets list of outgoing phone numbers
*PhonenumbersApi* | [**add_number**](docs/PhonenumbersApi.md#add_number) | **POST** /phone_numbers | Add new number
*PhonenumbersApi* | [**get_phone_number**](docs/PhonenumbersApi.md#get_phone_number) | **GET** /phone_numbers/{phoneNumberId} | Gets phone number
*PhonenumbersApi* | [**get_phone_numbers_list**](docs/PhonenumbersApi.md#get_phone_numbers_list) | **GET** /phone_numbers | Gets list of available phone numbers
@@ -223,7 +231,9 @@ Class | Method | HTTP request | Description
- [CallListItem](docs/CallListItem.md)
- [CallMessage](docs/CallMessage.md)
- [CallStatus](docs/CallStatus.md)
+ - [CallTransferResult](docs/CallTransferResult.md)
- [CannedMessage](docs/CannedMessage.md)
+ - [ChatInformation](docs/ChatInformation.md)
- [Company](docs/Company.md)
- [CompanyListItem](docs/CompanyListItem.md)
- [Contact](docs/Contact.md)
@@ -237,6 +247,7 @@ Class | Method | HTTP request | Description
- [DiscountValue](docs/DiscountValue.md)
- [Domain](docs/Domain.md)
- [ErrorResponse](docs/ErrorResponse.md)
+ - [Extension](docs/Extension.md)
- [Group](docs/Group.md)
- [HostingInfo](docs/HostingInfo.md)
- [Invoice](docs/Invoice.md)
@@ -244,8 +255,11 @@ Class | Method | HTTP request | Description
- [InvoiceList](docs/InvoiceList.md)
- [Ivr](docs/Ivr.md)
- [IvrChoice](docs/IvrChoice.md)
+ - [IvrFetch](docs/IvrFetch.md)
+ - [IvrFetchParam](docs/IvrFetchParam.md)
- [IvrStep](docs/IvrStep.md)
- [OkResponse](docs/OkResponse.md)
+ - [OutgoingPhoneNumber](docs/OutgoingPhoneNumber.md)
- [PaymentInfo](docs/PaymentInfo.md)
- [PaymentMethod](docs/PaymentMethod.md)
- [PaymentProcessorType](docs/PaymentProcessorType.md)
@@ -318,6 +332,11 @@ Class | Method | HTTP request | Description
- **ticket.read**: Ticket read
- **ticket.write**: Ticket write
- **sla.read**: Read sla
+ - **extension.own**: Read/Write own extensions
+ - **extension.write**: Write extension
+ - **extension.read**: Read extension
+ - **outgoing_phone_number.read**: Read outgoing phone number
+ - **chats.read**: Read chats
## apikey
diff --git a/docs/CallTransferResult.md b/docs/CallTransferResult.md
new file mode 100644
index 0000000..9319104
--- /dev/null
+++ b/docs/CallTransferResult.md
@@ -0,0 +1,12 @@
+# CallTransferResult
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**callee_status** | **str** | O - online, F - offline |
+**to_number** | **str** | Callee number | [optional]
+**via_number** | **str** | trunk number via which call was made / received (if applicable) | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CallsApi.md b/docs/CallsApi.md
index 8ca0cb1..3e970f9 100644
--- a/docs/CallsApi.md
+++ b/docs/CallsApi.md
@@ -9,6 +9,7 @@ Method | HTTP request | Description
[**call_answer**](CallsApi.md#call_answer) | **POST** /calls/{callId}/_answer | Set call as answered by agent
[**call_change_channel_status**](CallsApi.md#call_change_channel_status) | **PUT** /calls/{callId}/channels/{channelId}/_status | Change channel status
[**call_create**](CallsApi.md#call_create) | **POST** /calls/{callId} | Create new call
+[**call_fetch_ivr**](CallsApi.md#call_fetch_ivr) | **POST** /calls/{callId}/_fetchIvr | Fetches IVR for the call from external URL
[**call_get_status**](CallsApi.md#call_get_status) | **GET** /calls/{callId}/status | Return the status of call
[**call_move_channel**](CallsApi.md#call_move_channel) | **POST** /calls/{callId}/channels/{channelId}/_move | Moves existing channel to target call
[**call_remove_channel**](CallsApi.md#call_remove_channel) | **DELETE** /calls/{callId}/channels/{channelId} | Removes channel from the call
@@ -18,6 +19,7 @@ Method | HTTP request | Description
[**call_start_canceled**](CallsApi.md#call_start_canceled) | **POST** /call/_startCanceled | Callback that starting call canceled
[**call_start_failed**](CallsApi.md#call_start_failed) | **POST** /call/_startFailed | Callback that starting call failed
[**call_stop**](CallsApi.md#call_stop) | **POST** /calls/{callId}/_stop | Stops the call
+[**call_transfer**](CallsApi.md#call_transfer) | **POST** /calls/{callId}/_transfer | Transfers call to different department / agent
[**confirm_ring**](CallsApi.md#confirm_ring) | **POST** /calls/{callId}/_confirmRing | Confirm that call is ringing
[**get_calls_list**](CallsApi.md#get_calls_list) | **GET** /calls | Gets list of calls
[**merge**](CallsApi.md#merge) | **POST** /calls/{callId}/_merge | Merge two calls
@@ -305,6 +307,60 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **call_fetch_ivr**
+> list[Ivr] call_fetch_ivr(call_id, fetch)
+
+Fetches IVR for the call from external URL
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.CallsApi()
+call_id = 'call_id_example' # str |
+fetch = liveagent_api.IvrFetch() # IvrFetch |
+
+try:
+ # Fetches IVR for the call from external URL
+ api_response = api_instance.call_fetch_ivr(call_id, fetch)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling CallsApi->call_fetch_ivr: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **call_id** | **str**| |
+ **fetch** | [**IvrFetch**](IvrFetch.md)| |
+
+### Return type
+
+[**list[Ivr]**](Ivr.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **call_get_status**
> CallStatus call_get_status(call_id)
@@ -783,6 +839,62 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **call_transfer**
+> CallTransferResult call_transfer(call_id, to=to)
+
+Transfers call to different department / agent
+
+Transfer can be called on incoming calls before they start ringing to agents
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.CallsApi()
+call_id = 'call_id_example' # str |
+to = 'to_example' # str | Department ID or extension (optional)
+
+try:
+ # Transfers call to different department / agent
+ api_response = api_instance.call_transfer(call_id, to=to)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling CallsApi->call_transfer: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **call_id** | **str**| |
+ **to** | **str**| Department ID or extension | [optional]
+
+### Return type
+
+[**CallTransferResult**](CallTransferResult.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **confirm_ring**
> OkResponse confirm_ring(call_id, to_number=to_number, channel_id=channel_id)
diff --git a/docs/ChatInformation.md b/docs/ChatInformation.md
new file mode 100644
index 0000000..ed583e5
--- /dev/null
+++ b/docs/ChatInformation.md
@@ -0,0 +1,26 @@
+# ChatInformation
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | | [optional]
+**subject** | **str** | | [optional]
+**preview** | **str** | | [optional]
+**date_change** | **datetime** | | [optional]
+**status_date_started** | **datetime** | | [optional]
+**tags** | **list[str]** | | [optional]
+**rstatus** | **str** | <br> I - Init<br> T - Chatting<br> R - Resolved | [optional]
+**firstname** | **str** | | [optional]
+**lastname** | **str** | | [optional]
+**system_name** | **str** | | [optional]
+**avatar_url** | **str** | | [optional]
+**countrycode** | **str** | | [optional]
+**city** | **str** | | [optional]
+**department_id** | **str** | | [optional]
+**agent_id** | **str** | | [optional]
+**status** | **str** | <br> C, T - Chatting<br> R - Ringing<br> Q - In queue | [optional]
+**emails** | **list[str]** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ChatsApi.md b/docs/ChatsApi.md
new file mode 100644
index 0000000..3cf3554
--- /dev/null
+++ b/docs/ChatsApi.md
@@ -0,0 +1,73 @@
+# liveagent_api.ChatsApi
+
+All URIs are relative to *http://localhost/api/v3*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_chats_list**](ChatsApi.md#get_chats_list) | **GET** /chats | Gets list of chats
+
+
+# **get_chats_list**
+> list[ChatInformation] get_chats_list(page=page, per_page=per_page, _from=_from, to=to, sort_dir=sort_dir, sort_field=sort_field, filters=filters)
+
+Gets list of chats
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.ChatsApi()
+page = 1 # int | Page to display. Not used if _from is defined. (optional) (default to 1)
+per_page = 10 # int | Results per page. Used only if _page is used. (optional) (default to 10)
+_from = 0 # int | Result set start. Takes precedence over _page. (optional) (default to 0)
+to = 0 # int | Result set end. Used only if _from is used. (optional) (default to 0)
+sort_dir = 'ASC' # str | Sorting direction ASC or DESC (optional) (default to ASC)
+sort_field = 'sort_field_example' # str | Sorting field (optional)
+filters = 'filters_example' # str | Filters (json object {column:value, ...}) (optional)
+
+try:
+ # Gets list of chats
+ api_response = api_instance.get_chats_list(page=page, per_page=per_page, _from=_from, to=to, sort_dir=sort_dir, sort_field=sort_field, filters=filters)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling ChatsApi->get_chats_list: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **page** | **int**| Page to display. Not used if _from is defined. | [optional] [default to 1]
+ **per_page** | **int**| Results per page. Used only if _page is used. | [optional] [default to 10]
+ **_from** | **int**| Result set start. Takes precedence over _page. | [optional] [default to 0]
+ **to** | **int**| Result set end. Used only if _from is used. | [optional] [default to 0]
+ **sort_dir** | **str**| Sorting direction ASC or DESC | [optional] [default to ASC]
+ **sort_field** | **str**| Sorting field | [optional]
+ **filters** | **str**| Filters (json object {column:value, ...}) | [optional]
+
+### Return type
+
+[**list[ChatInformation]**](ChatInformation.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/Extension.md b/docs/Extension.md
new file mode 100644
index 0000000..a9d7b7b
--- /dev/null
+++ b/docs/Extension.md
@@ -0,0 +1,14 @@
+# Extension
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | |
+**number** | **str** | | [optional]
+**status** | **str** | E - Enabled<br> D - Disabled | [optional]
+**agent** | [**Agent**](Agent.md) | | [optional]
+**department** | [**Department**](Department.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ExtensionsApi.md b/docs/ExtensionsApi.md
new file mode 100644
index 0000000..431189b
--- /dev/null
+++ b/docs/ExtensionsApi.md
@@ -0,0 +1,183 @@
+# liveagent_api.ExtensionsApi
+
+All URIs are relative to *http://localhost/api/v3*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_extension**](ExtensionsApi.md#get_extension) | **GET** /extensions/{extensionId} | Gets Extension
+[**get_extensions_list**](ExtensionsApi.md#get_extensions_list) | **GET** /extensions | Gets list of extensions
+[**set_extension**](ExtensionsApi.md#set_extension) | **PUT** /extensions/{extensionId} | Set extension
+
+
+# **get_extension**
+> Extension get_extension(extension_id)
+
+Gets Extension
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.ExtensionsApi()
+extension_id = 'extension_id_example' # str |
+
+try:
+ # Gets Extension
+ api_response = api_instance.get_extension(extension_id)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling ExtensionsApi->get_extension: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **extension_id** | **str**| |
+
+### Return type
+
+[**Extension**](Extension.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_extensions_list**
+> list[Extension] get_extensions_list(page=page, per_page=per_page, _from=_from, to=to, sort_dir=sort_dir, sort_field=sort_field, filters=filters)
+
+Gets list of extensions
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.ExtensionsApi()
+page = 1 # int | Page to display. Not used if _from is defined. (optional) (default to 1)
+per_page = 10 # int | Results per page. Used only if _page is used. (optional) (default to 10)
+_from = 0 # int | Result set start. Takes precedence over _page. (optional) (default to 0)
+to = 0 # int | Result set end. Used only if _from is used. (optional) (default to 0)
+sort_dir = 'ASC' # str | Sorting direction ASC or DESC (optional) (default to ASC)
+sort_field = 'sort_field_example' # str | Sorting field (optional)
+filters = 'filters_example' # str | Filters (json object {column:value, ...}) (optional)
+
+try:
+ # Gets list of extensions
+ api_response = api_instance.get_extensions_list(page=page, per_page=per_page, _from=_from, to=to, sort_dir=sort_dir, sort_field=sort_field, filters=filters)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling ExtensionsApi->get_extensions_list: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **page** | **int**| Page to display. Not used if _from is defined. | [optional] [default to 1]
+ **per_page** | **int**| Results per page. Used only if _page is used. | [optional] [default to 10]
+ **_from** | **int**| Result set start. Takes precedence over _page. | [optional] [default to 0]
+ **to** | **int**| Result set end. Used only if _from is used. | [optional] [default to 0]
+ **sort_dir** | **str**| Sorting direction ASC or DESC | [optional] [default to ASC]
+ **sort_field** | **str**| Sorting field | [optional]
+ **filters** | **str**| Filters (json object {column:value, ...}) | [optional]
+
+### Return type
+
+[**list[Extension]**](Extension.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **set_extension**
+> Extension set_extension(extension_id, number, department_id=department_id)
+
+Set extension
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.ExtensionsApi()
+extension_id = 'extension_id_example' # str |
+number = 'number_example' # str |
+department_id = 'department_id_example' # str | (optional)
+
+try:
+ # Set extension
+ api_response = api_instance.set_extension(extension_id, number, department_id=department_id)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling ExtensionsApi->set_extension: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **extension_id** | **str**| |
+ **number** | **str**| |
+ **department_id** | **str**| | [optional]
+
+### Return type
+
+[**Extension**](Extension.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/x-www-form-urlencoded
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/docs/IvrFetch.md b/docs/IvrFetch.md
new file mode 100644
index 0000000..6730a63
--- /dev/null
+++ b/docs/IvrFetch.md
@@ -0,0 +1,14 @@
+# IvrFetch
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**url** | **str** | |
+**prefix** | **str** | | [optional]
+**on_error** | **str** | | [optional]
+**params** | [**list[IvrFetchParam]**](IvrFetchParam.md) | | [optional]
+**ivrs** | **list[str]** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/IvrFetchParam.md b/docs/IvrFetchParam.md
new file mode 100644
index 0000000..313f2e6
--- /dev/null
+++ b/docs/IvrFetchParam.md
@@ -0,0 +1,11 @@
+# IvrFetchParam
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**value** | **str** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/IvrStep.md b/docs/IvrStep.md
index 19b8491..482b851 100644
--- a/docs/IvrStep.md
+++ b/docs/IvrStep.md
@@ -3,7 +3,7 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**type** | **str** | P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (message URL in params, choices) G - goto (IVR name in params) |
+**type** | **str** | P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (choices), G - goto (IVR name in params), T - transfer (optional ivr settings in choices {\"1\":\"online\",\"0\":\"offline\",\"9\":\"queue\"}), F - fetch next IVR steps from URL in params |
**params** | **str** | | [optional]
**choices** | [**list[IvrChoice]**](IvrChoice.md) | | [optional]
diff --git a/docs/OutgoingPhoneNumber.md b/docs/OutgoingPhoneNumber.md
new file mode 100644
index 0000000..cf8c430
--- /dev/null
+++ b/docs/OutgoingPhoneNumber.md
@@ -0,0 +1,14 @@
+# OutgoingPhoneNumber
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**phone** | **str** | | [optional]
+**name** | **str** | | [optional]
+**avatar_url** | **str** | | [optional]
+**country_code** | **str** | | [optional]
+**type** | **str** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/OutgoingphonenumberApi.md b/docs/OutgoingphonenumberApi.md
new file mode 100644
index 0000000..b33dd3a
--- /dev/null
+++ b/docs/OutgoingphonenumberApi.md
@@ -0,0 +1,118 @@
+# liveagent_api.OutgoingphonenumberApi
+
+All URIs are relative to *http://localhost/api/v3*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_outgoing_phone_number**](OutgoingphonenumberApi.md#get_outgoing_phone_number) | **GET** /outgoing_phone_numbers/{phoneNumber} | Get outgoing phone number
+[**get_outgoing_phone_numbers_list**](OutgoingphonenumberApi.md#get_outgoing_phone_numbers_list) | **GET** /outgoing_phone_numbers | Gets list of outgoing phone numbers
+
+
+# **get_outgoing_phone_number**
+> OutgoingPhoneNumber get_outgoing_phone_number(phone_number)
+
+Get outgoing phone number
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.OutgoingphonenumberApi()
+phone_number = 'phone_number_example' # str |
+
+try:
+ # Get outgoing phone number
+ api_response = api_instance.get_outgoing_phone_number(phone_number)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling OutgoingphonenumberApi->get_outgoing_phone_number: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **phone_number** | **str**| |
+
+### Return type
+
+[**OutgoingPhoneNumber**](OutgoingPhoneNumber.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **get_outgoing_phone_numbers_list**
+> list[OutgoingPhoneNumber] get_outgoing_phone_numbers_list(_from=_from, to=to, filters=filters)
+
+Gets list of outgoing phone numbers
+
+### Example
+```python
+import time
+import liveagent_api
+from liveagent_api.rest import ApiException
+from pprint import pprint
+
+# Configure OAuth2 access token for authorization: privileges
+liveagent_api.configuration.access_token = 'YOUR_ACCESS_TOKEN'
+# Configure API key authorization: apikey
+liveagent_api.configuration.api_key['apikey'] = 'YOUR_API_KEY'
+# Uncomment below to setup prefix (e.g. BEARER) for API key, if needed
+# liveagent_api.configuration.api_key_prefix['apikey'] = 'BEARER'
+
+# create an instance of the API class
+api_instance = liveagent_api.OutgoingphonenumberApi()
+_from = 0 # int | Result set start. Takes precedence over _page. (optional) (default to 0)
+to = 0 # int | Result set end. Used only if _from is used. (optional) (default to 0)
+filters = 'filters_example' # str | Filters (json object {column:value, ...}) (optional)
+
+try:
+ # Gets list of outgoing phone numbers
+ api_response = api_instance.get_outgoing_phone_numbers_list(_from=_from, to=to, filters=filters)
+ pprint(api_response)
+except ApiException as e:
+ print "Exception when calling OutgoingphonenumberApi->get_outgoing_phone_numbers_list: %s\n" % e
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **_from** | **int**| Result set start. Takes precedence over _page. | [optional] [default to 0]
+ **to** | **int**| Result set end. Used only if _from is used. | [optional] [default to 0]
+ **filters** | **str**| Filters (json object {column:value, ...}) | [optional]
+
+### Return type
+
+[**list[OutgoingPhoneNumber]**](OutgoingPhoneNumber.md)
+
+### Authorization
+
+[privileges](../README.md#privileges), [apikey](../README.md#apikey)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/liveagent_api/__init__.py b/liveagent_api/__init__.py
index 368a5c4..faab87a 100644
--- a/liveagent_api/__init__.py
+++ b/liveagent_api/__init__.py
@@ -19,7 +19,9 @@
from .models.call_list_item import CallListItem
from .models.call_message import CallMessage
from .models.call_status import CallStatus
+from .models.call_transfer_result import CallTransferResult
from .models.canned_message import CannedMessage
+from .models.chat_information import ChatInformation
from .models.company import Company
from .models.company_list_item import CompanyListItem
from .models.contact import Contact
@@ -33,6 +35,7 @@
from .models.discount_value import DiscountValue
from .models.domain import Domain
from .models.error_response import ErrorResponse
+from .models.extension import Extension
from .models.group import Group
from .models.hosting_info import HostingInfo
from .models.invoice import Invoice
@@ -40,8 +43,11 @@
from .models.invoice_list import InvoiceList
from .models.ivr import Ivr
from .models.ivr_choice import IvrChoice
+from .models.ivr_fetch import IvrFetch
+from .models.ivr_fetch_param import IvrFetchParam
from .models.ivr_step import IvrStep
from .models.ok_response import OkResponse
+from .models.outgoing_phone_number import OutgoingPhoneNumber
from .models.payment_info import PaymentInfo
from .models.payment_method import PaymentMethod
from .models.payment_processor_type import PaymentProcessorType
@@ -76,15 +82,18 @@
from .apis.billing_api import BillingApi
from .apis.calls_api import CallsApi
from .apis.cannedmessages_api import CannedmessagesApi
+from .apis.chats_api import ChatsApi
from .apis.companies_api import CompaniesApi
from .apis.contacts_api import ContactsApi
from .apis.countries_api import CountriesApi
from .apis.default_api import DefaultApi
from .apis.departments_api import DepartmentsApi
+from .apis.extensions_api import ExtensionsApi
from .apis.files_api import FilesApi
from .apis.groups_api import GroupsApi
from .apis.hosting_api import HostingApi
from .apis.invoices_api import InvoicesApi
+from .apis.outgoingphonenumber_api import OutgoingphonenumberApi
from .apis.phonenumbers_api import PhonenumbersApi
from .apis.phones_api import PhonesApi
from .apis.predefinedanswers_api import PredefinedanswersApi
diff --git a/liveagent_api/apis/__init__.py b/liveagent_api/apis/__init__.py
index 8ea00ba..f095e0c 100644
--- a/liveagent_api/apis/__init__.py
+++ b/liveagent_api/apis/__init__.py
@@ -7,15 +7,18 @@
from .billing_api import BillingApi
from .calls_api import CallsApi
from .cannedmessages_api import CannedmessagesApi
+from .chats_api import ChatsApi
from .companies_api import CompaniesApi
from .contacts_api import ContactsApi
from .countries_api import CountriesApi
from .default_api import DefaultApi
from .departments_api import DepartmentsApi
+from .extensions_api import ExtensionsApi
from .files_api import FilesApi
from .groups_api import GroupsApi
from .hosting_api import HostingApi
from .invoices_api import InvoicesApi
+from .outgoingphonenumber_api import OutgoingphonenumberApi
from .phonenumbers_api import PhonenumbersApi
from .phones_api import PhonesApi
from .predefinedanswers_api import PredefinedanswersApi
diff --git a/liveagent_api/apis/calls_api.py b/liveagent_api/apis/calls_api.py
index 8ba41e2..134b260 100644
--- a/liveagent_api/apis/calls_api.py
+++ b/liveagent_api/apis/calls_api.py
@@ -481,6 +481,89 @@ def call_create(self, call_id, to_number, from_number, **kwargs):
callback=params.get('callback'))
return response
+ def call_fetch_ivr(self, call_id, fetch, **kwargs):
+ """
+ Fetches IVR for the call from external URL
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.call_fetch_ivr(call_id, fetch, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str call_id: (required)
+ :param IvrFetch fetch: (required)
+ :return: list[Ivr]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['call_id', 'fetch']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method call_fetch_ivr" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ # verify the required parameter 'call_id' is set
+ if ('call_id' not in params) or (params['call_id'] is None):
+ raise ValueError("Missing the required parameter `call_id` when calling `call_fetch_ivr`")
+ # verify the required parameter 'fetch' is set
+ if ('fetch' not in params) or (params['fetch'] is None):
+ raise ValueError("Missing the required parameter `fetch` when calling `call_fetch_ivr`")
+
+ resource_path = '/calls/{callId}/_fetchIvr'.replace('{format}', 'json')
+ path_params = {}
+ if 'call_id' in params:
+ path_params['callId'] = params['call_id']
+
+ query_params = {}
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+ if 'fetch' in params:
+ body_params = params['fetch']
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[Ivr]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
+
def call_get_status(self, call_id, **kwargs):
"""
Return the status of call
@@ -1222,6 +1305,86 @@ def call_stop(self, call_id, **kwargs):
callback=params.get('callback'))
return response
+ def call_transfer(self, call_id, **kwargs):
+ """
+ Transfers call to different department / agent
+ Transfer can be called on incoming calls before they start ringing to agents
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.call_transfer(call_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str call_id: (required)
+ :param str to: Department ID or extension
+ :return: CallTransferResult
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['call_id', 'to']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method call_transfer" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ # verify the required parameter 'call_id' is set
+ if ('call_id' not in params) or (params['call_id'] is None):
+ raise ValueError("Missing the required parameter `call_id` when calling `call_transfer`")
+
+ resource_path = '/calls/{callId}/_transfer'.replace('{format}', 'json')
+ path_params = {}
+ if 'call_id' in params:
+ path_params['callId'] = params['call_id']
+
+ query_params = {}
+ if 'to' in params:
+ query_params['to'] = params['to']
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'POST',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='CallTransferResult',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
+
def confirm_ring(self, call_id, **kwargs):
"""
Confirm that call is ringing
diff --git a/liveagent_api/apis/chats_api.py b/liveagent_api/apis/chats_api.py
new file mode 100644
index 0000000..b80e0e0
--- /dev/null
+++ b/liveagent_api/apis/chats_api.py
@@ -0,0 +1,138 @@
+# coding: utf-8
+
+"""
+ChatsApi.py
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+
+
+class ChatsApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+
+ def get_chats_list(self, **kwargs):
+ """
+ Gets list of chats
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_chats_list(callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param int page: Page to display. Not used if _from is defined.
+ :param int per_page: Results per page. Used only if _page is used.
+ :param int _from: Result set start. Takes precedence over _page.
+ :param int to: Result set end. Used only if _from is used.
+ :param str sort_dir: Sorting direction ASC or DESC
+ :param str sort_field: Sorting field
+ :param str filters: Filters (json object {column:value, ...})
+ :return: list[ChatInformation]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['page', 'per_page', '_from', 'to', 'sort_dir', 'sort_field', 'filters']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_chats_list" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+
+ resource_path = '/chats'.replace('{format}', 'json')
+ path_params = {}
+
+ query_params = {}
+ if 'page' in params:
+ query_params['_page'] = params['page']
+ if 'per_page' in params:
+ query_params['_perPage'] = params['per_page']
+ if '_from' in params:
+ query_params['_from'] = params['_from']
+ if 'to' in params:
+ query_params['_to'] = params['to']
+ if 'sort_dir' in params:
+ query_params['_sortDir'] = params['sort_dir']
+ if 'sort_field' in params:
+ query_params['_sortField'] = params['sort_field']
+ if 'filters' in params:
+ query_params['_filters'] = params['filters']
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[ChatInformation]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
diff --git a/liveagent_api/apis/extensions_api.py b/liveagent_api/apis/extensions_api.py
new file mode 100644
index 0000000..f89e598
--- /dev/null
+++ b/liveagent_api/apis/extensions_api.py
@@ -0,0 +1,301 @@
+# coding: utf-8
+
+"""
+ExtensionsApi.py
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+
+
+class ExtensionsApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+
+ def get_extension(self, extension_id, **kwargs):
+ """
+ Gets Extension
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_extension(extension_id, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str extension_id: (required)
+ :return: Extension
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['extension_id']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_extension" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ # verify the required parameter 'extension_id' is set
+ if ('extension_id' not in params) or (params['extension_id'] is None):
+ raise ValueError("Missing the required parameter `extension_id` when calling `get_extension`")
+
+ resource_path = '/extensions/{extensionId}'.replace('{format}', 'json')
+ path_params = {}
+ if 'extension_id' in params:
+ path_params['extensionId'] = params['extension_id']
+
+ query_params = {}
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Extension',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
+
+ def get_extensions_list(self, **kwargs):
+ """
+ Gets list of extensions
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_extensions_list(callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param int page: Page to display. Not used if _from is defined.
+ :param int per_page: Results per page. Used only if _page is used.
+ :param int _from: Result set start. Takes precedence over _page.
+ :param int to: Result set end. Used only if _from is used.
+ :param str sort_dir: Sorting direction ASC or DESC
+ :param str sort_field: Sorting field
+ :param str filters: Filters (json object {column:value, ...})
+ :return: list[Extension]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['page', 'per_page', '_from', 'to', 'sort_dir', 'sort_field', 'filters']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_extensions_list" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+
+ resource_path = '/extensions'.replace('{format}', 'json')
+ path_params = {}
+
+ query_params = {}
+ if 'page' in params:
+ query_params['_page'] = params['page']
+ if 'per_page' in params:
+ query_params['_perPage'] = params['per_page']
+ if '_from' in params:
+ query_params['_from'] = params['_from']
+ if 'to' in params:
+ query_params['_to'] = params['to']
+ if 'sort_dir' in params:
+ query_params['_sortDir'] = params['sort_dir']
+ if 'sort_field' in params:
+ query_params['_sortField'] = params['sort_field']
+ if 'filters' in params:
+ query_params['_filters'] = params['filters']
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[Extension]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
+
+ def set_extension(self, extension_id, number, **kwargs):
+ """
+ Set extension
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.set_extension(extension_id, number, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str extension_id: (required)
+ :param str number: (required)
+ :param str department_id:
+ :return: Extension
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['extension_id', 'number', 'department_id']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method set_extension" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ # verify the required parameter 'extension_id' is set
+ if ('extension_id' not in params) or (params['extension_id'] is None):
+ raise ValueError("Missing the required parameter `extension_id` when calling `set_extension`")
+ # verify the required parameter 'number' is set
+ if ('number' not in params) or (params['number'] is None):
+ raise ValueError("Missing the required parameter `number` when calling `set_extension`")
+
+ resource_path = '/extensions/{extensionId}'.replace('{format}', 'json')
+ path_params = {}
+ if 'extension_id' in params:
+ path_params['extensionId'] = params['extension_id']
+
+ query_params = {}
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+ if 'number' in params:
+ form_params.append(('number', params['number']))
+ if 'department_id' in params:
+ form_params.append(('departmentId', params['department_id']))
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/x-www-form-urlencoded'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'PUT',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='Extension',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
diff --git a/liveagent_api/apis/outgoingphonenumber_api.py b/liveagent_api/apis/outgoingphonenumber_api.py
new file mode 100644
index 0000000..1ebecdf
--- /dev/null
+++ b/liveagent_api/apis/outgoingphonenumber_api.py
@@ -0,0 +1,203 @@
+# coding: utf-8
+
+"""
+OutgoingphonenumberApi.py
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+
+from __future__ import absolute_import
+
+import sys
+import os
+
+# python 2 and python 3 compatibility library
+from six import iteritems
+
+from ..configuration import Configuration
+from ..api_client import ApiClient
+
+
+class OutgoingphonenumberApi(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ Ref: https://github.com/swagger-api/swagger-codegen
+ """
+
+ def __init__(self, api_client=None):
+ config = Configuration()
+ if api_client:
+ self.api_client = api_client
+ else:
+ if not config.api_client:
+ config.api_client = ApiClient()
+ self.api_client = config.api_client
+
+ def get_outgoing_phone_number(self, phone_number, **kwargs):
+ """
+ Get outgoing phone number
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_outgoing_phone_number(phone_number, callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param str phone_number: (required)
+ :return: OutgoingPhoneNumber
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['phone_number']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_outgoing_phone_number" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+ # verify the required parameter 'phone_number' is set
+ if ('phone_number' not in params) or (params['phone_number'] is None):
+ raise ValueError("Missing the required parameter `phone_number` when calling `get_outgoing_phone_number`")
+
+ resource_path = '/outgoing_phone_numbers/{phoneNumber}'.replace('{format}', 'json')
+ path_params = {}
+ if 'phone_number' in params:
+ path_params['phoneNumber'] = params['phone_number']
+
+ query_params = {}
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='OutgoingPhoneNumber',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
+
+ def get_outgoing_phone_numbers_list(self, **kwargs):
+ """
+ Gets list of outgoing phone numbers
+
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please define a `callback` function
+ to be invoked when receiving the response.
+ >>> def callback_function(response):
+ >>> pprint(response)
+ >>>
+ >>> thread = api.get_outgoing_phone_numbers_list(callback=callback_function)
+
+ :param callback function: The callback function
+ for asynchronous request. (optional)
+ :param int _from: Result set start. Takes precedence over _page.
+ :param int to: Result set end. Used only if _from is used.
+ :param str filters: Filters (json object {column:value, ...})
+ :return: list[OutgoingPhoneNumber]
+ If the method is called asynchronously,
+ returns the request thread.
+ """
+
+ all_params = ['_from', 'to', 'filters']
+ all_params.append('callback')
+
+ params = locals()
+ for key, val in iteritems(params['kwargs']):
+ if key not in all_params:
+ raise TypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method get_outgoing_phone_numbers_list" % key
+ )
+ params[key] = val
+ del params['kwargs']
+
+
+ resource_path = '/outgoing_phone_numbers'.replace('{format}', 'json')
+ path_params = {}
+
+ query_params = {}
+ if '_from' in params:
+ query_params['_from'] = params['_from']
+ if 'to' in params:
+ query_params['_to'] = params['to']
+ if 'filters' in params:
+ query_params['_filters'] = params['filters']
+
+ header_params = {}
+
+ form_params = []
+ local_var_files = {}
+
+ body_params = None
+
+ # HTTP header `Accept`
+ header_params['Accept'] = self.api_client.\
+ select_header_accept(['application/json'])
+ if not header_params['Accept']:
+ del header_params['Accept']
+
+ # HTTP header `Content-Type`
+ header_params['Content-Type'] = self.api_client.\
+ select_header_content_type(['application/json'])
+
+ # Authentication setting
+ auth_settings = ['privileges', 'apikey']
+
+ response = self.api_client.call_api(resource_path, 'GET',
+ path_params,
+ query_params,
+ header_params,
+ body=body_params,
+ post_params=form_params,
+ files=local_var_files,
+ response_type='list[OutgoingPhoneNumber]',
+ auth_settings=auth_settings,
+ callback=params.get('callback'))
+ return response
diff --git a/liveagent_api/models/__init__.py b/liveagent_api/models/__init__.py
index ba610ef..2ba868e 100644
--- a/liveagent_api/models/__init__.py
+++ b/liveagent_api/models/__init__.py
@@ -19,7 +19,9 @@
from .call_list_item import CallListItem
from .call_message import CallMessage
from .call_status import CallStatus
+from .call_transfer_result import CallTransferResult
from .canned_message import CannedMessage
+from .chat_information import ChatInformation
from .company import Company
from .company_list_item import CompanyListItem
from .contact import Contact
@@ -33,6 +35,7 @@
from .discount_value import DiscountValue
from .domain import Domain
from .error_response import ErrorResponse
+from .extension import Extension
from .group import Group
from .hosting_info import HostingInfo
from .invoice import Invoice
@@ -40,8 +43,11 @@
from .invoice_list import InvoiceList
from .ivr import Ivr
from .ivr_choice import IvrChoice
+from .ivr_fetch import IvrFetch
+from .ivr_fetch_param import IvrFetchParam
from .ivr_step import IvrStep
from .ok_response import OkResponse
+from .outgoing_phone_number import OutgoingPhoneNumber
from .payment_info import PaymentInfo
from .payment_method import PaymentMethod
from .payment_processor_type import PaymentProcessorType
diff --git a/liveagent_api/models/call_transfer_result.py b/liveagent_api/models/call_transfer_result.py
new file mode 100644
index 0000000..3167eb9
--- /dev/null
+++ b/liveagent_api/models/call_transfer_result.py
@@ -0,0 +1,176 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class CallTransferResult(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ CallTransferResult - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'callee_status': 'str',
+ 'to_number': 'str',
+ 'via_number': 'str'
+ }
+
+ self.attribute_map = {
+ 'callee_status': 'callee_status',
+ 'to_number': 'to_number',
+ 'via_number': 'via_number'
+ }
+
+ self._callee_status = None
+ self._to_number = None
+ self._via_number = None
+
+ @property
+ def callee_status(self):
+ """
+ Gets the callee_status of this CallTransferResult.
+ O - online, F - offline
+
+ :return: The callee_status of this CallTransferResult.
+ :rtype: str
+ """
+ return self._callee_status
+
+ @callee_status.setter
+ def callee_status(self, callee_status):
+ """
+ Sets the callee_status of this CallTransferResult.
+ O - online, F - offline
+
+ :param callee_status: The callee_status of this CallTransferResult.
+ :type: str
+ """
+ allowed_values = ["O", "F"]
+ if callee_status not in allowed_values:
+ raise ValueError(
+ "Invalid value for `callee_status`, must be one of {0}"
+ .format(allowed_values)
+ )
+ self._callee_status = callee_status
+
+ @property
+ def to_number(self):
+ """
+ Gets the to_number of this CallTransferResult.
+ Callee number
+
+ :return: The to_number of this CallTransferResult.
+ :rtype: str
+ """
+ return self._to_number
+
+ @to_number.setter
+ def to_number(self, to_number):
+ """
+ Sets the to_number of this CallTransferResult.
+ Callee number
+
+ :param to_number: The to_number of this CallTransferResult.
+ :type: str
+ """
+ self._to_number = to_number
+
+ @property
+ def via_number(self):
+ """
+ Gets the via_number of this CallTransferResult.
+ trunk number via which call was made / received (if applicable)
+
+ :return: The via_number of this CallTransferResult.
+ :rtype: str
+ """
+ return self._via_number
+
+ @via_number.setter
+ def via_number(self, via_number):
+ """
+ Sets the via_number of this CallTransferResult.
+ trunk number via which call was made / received (if applicable)
+
+ :param via_number: The via_number of this CallTransferResult.
+ :type: str
+ """
+ self._via_number = via_number
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+
diff --git a/liveagent_api/models/chat_information.py b/liveagent_api/models/chat_information.py
new file mode 100644
index 0000000..cf51041
--- /dev/null
+++ b/liveagent_api/models/chat_information.py
@@ -0,0 +1,520 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class ChatInformation(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ ChatInformation - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'id': 'str',
+ 'subject': 'str',
+ 'preview': 'str',
+ 'date_change': 'datetime',
+ 'status_date_started': 'datetime',
+ 'tags': 'list[str]',
+ 'rstatus': 'str',
+ 'firstname': 'str',
+ 'lastname': 'str',
+ 'system_name': 'str',
+ 'avatar_url': 'str',
+ 'countrycode': 'str',
+ 'city': 'str',
+ 'department_id': 'str',
+ 'agent_id': 'str',
+ 'status': 'str',
+ 'emails': 'list[str]'
+ }
+
+ self.attribute_map = {
+ 'id': 'id',
+ 'subject': 'subject',
+ 'preview': 'preview',
+ 'date_change': 'date_change',
+ 'status_date_started': 'status_date_started',
+ 'tags': 'tags',
+ 'rstatus': 'rstatus',
+ 'firstname': 'firstname',
+ 'lastname': 'lastname',
+ 'system_name': 'system_name',
+ 'avatar_url': 'avatar_url',
+ 'countrycode': 'countrycode',
+ 'city': 'city',
+ 'department_id': 'departmentId',
+ 'agent_id': 'agentId',
+ 'status': 'status',
+ 'emails': 'emails'
+ }
+
+ self._id = None
+ self._subject = None
+ self._preview = None
+ self._date_change = None
+ self._status_date_started = None
+ self._tags = None
+ self._rstatus = None
+ self._firstname = None
+ self._lastname = None
+ self._system_name = None
+ self._avatar_url = None
+ self._countrycode = None
+ self._city = None
+ self._department_id = None
+ self._agent_id = None
+ self._status = None
+ self._emails = None
+
+ @property
+ def id(self):
+ """
+ Gets the id of this ChatInformation.
+
+
+ :return: The id of this ChatInformation.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this ChatInformation.
+
+
+ :param id: The id of this ChatInformation.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def subject(self):
+ """
+ Gets the subject of this ChatInformation.
+
+
+ :return: The subject of this ChatInformation.
+ :rtype: str
+ """
+ return self._subject
+
+ @subject.setter
+ def subject(self, subject):
+ """
+ Sets the subject of this ChatInformation.
+
+
+ :param subject: The subject of this ChatInformation.
+ :type: str
+ """
+ self._subject = subject
+
+ @property
+ def preview(self):
+ """
+ Gets the preview of this ChatInformation.
+
+
+ :return: The preview of this ChatInformation.
+ :rtype: str
+ """
+ return self._preview
+
+ @preview.setter
+ def preview(self, preview):
+ """
+ Sets the preview of this ChatInformation.
+
+
+ :param preview: The preview of this ChatInformation.
+ :type: str
+ """
+ self._preview = preview
+
+ @property
+ def date_change(self):
+ """
+ Gets the date_change of this ChatInformation.
+
+
+ :return: The date_change of this ChatInformation.
+ :rtype: datetime
+ """
+ return self._date_change
+
+ @date_change.setter
+ def date_change(self, date_change):
+ """
+ Sets the date_change of this ChatInformation.
+
+
+ :param date_change: The date_change of this ChatInformation.
+ :type: datetime
+ """
+ self._date_change = date_change
+
+ @property
+ def status_date_started(self):
+ """
+ Gets the status_date_started of this ChatInformation.
+
+
+ :return: The status_date_started of this ChatInformation.
+ :rtype: datetime
+ """
+ return self._status_date_started
+
+ @status_date_started.setter
+ def status_date_started(self, status_date_started):
+ """
+ Sets the status_date_started of this ChatInformation.
+
+
+ :param status_date_started: The status_date_started of this ChatInformation.
+ :type: datetime
+ """
+ self._status_date_started = status_date_started
+
+ @property
+ def tags(self):
+ """
+ Gets the tags of this ChatInformation.
+
+
+ :return: The tags of this ChatInformation.
+ :rtype: list[str]
+ """
+ return self._tags
+
+ @tags.setter
+ def tags(self, tags):
+ """
+ Sets the tags of this ChatInformation.
+
+
+ :param tags: The tags of this ChatInformation.
+ :type: list[str]
+ """
+ self._tags = tags
+
+ @property
+ def rstatus(self):
+ """
+ Gets the rstatus of this ChatInformation.
+
I - Init
T - Chatting
R - Resolved
+
+ :return: The rstatus of this ChatInformation.
+ :rtype: str
+ """
+ return self._rstatus
+
+ @rstatus.setter
+ def rstatus(self, rstatus):
+ """
+ Sets the rstatus of this ChatInformation.
+
I - Init
T - Chatting
R - Resolved
+
+ :param rstatus: The rstatus of this ChatInformation.
+ :type: str
+ """
+ self._rstatus = rstatus
+
+ @property
+ def firstname(self):
+ """
+ Gets the firstname of this ChatInformation.
+
+
+ :return: The firstname of this ChatInformation.
+ :rtype: str
+ """
+ return self._firstname
+
+ @firstname.setter
+ def firstname(self, firstname):
+ """
+ Sets the firstname of this ChatInformation.
+
+
+ :param firstname: The firstname of this ChatInformation.
+ :type: str
+ """
+ self._firstname = firstname
+
+ @property
+ def lastname(self):
+ """
+ Gets the lastname of this ChatInformation.
+
+
+ :return: The lastname of this ChatInformation.
+ :rtype: str
+ """
+ return self._lastname
+
+ @lastname.setter
+ def lastname(self, lastname):
+ """
+ Sets the lastname of this ChatInformation.
+
+
+ :param lastname: The lastname of this ChatInformation.
+ :type: str
+ """
+ self._lastname = lastname
+
+ @property
+ def system_name(self):
+ """
+ Gets the system_name of this ChatInformation.
+
+
+ :return: The system_name of this ChatInformation.
+ :rtype: str
+ """
+ return self._system_name
+
+ @system_name.setter
+ def system_name(self, system_name):
+ """
+ Sets the system_name of this ChatInformation.
+
+
+ :param system_name: The system_name of this ChatInformation.
+ :type: str
+ """
+ self._system_name = system_name
+
+ @property
+ def avatar_url(self):
+ """
+ Gets the avatar_url of this ChatInformation.
+
+
+ :return: The avatar_url of this ChatInformation.
+ :rtype: str
+ """
+ return self._avatar_url
+
+ @avatar_url.setter
+ def avatar_url(self, avatar_url):
+ """
+ Sets the avatar_url of this ChatInformation.
+
+
+ :param avatar_url: The avatar_url of this ChatInformation.
+ :type: str
+ """
+ self._avatar_url = avatar_url
+
+ @property
+ def countrycode(self):
+ """
+ Gets the countrycode of this ChatInformation.
+
+
+ :return: The countrycode of this ChatInformation.
+ :rtype: str
+ """
+ return self._countrycode
+
+ @countrycode.setter
+ def countrycode(self, countrycode):
+ """
+ Sets the countrycode of this ChatInformation.
+
+
+ :param countrycode: The countrycode of this ChatInformation.
+ :type: str
+ """
+ self._countrycode = countrycode
+
+ @property
+ def city(self):
+ """
+ Gets the city of this ChatInformation.
+
+
+ :return: The city of this ChatInformation.
+ :rtype: str
+ """
+ return self._city
+
+ @city.setter
+ def city(self, city):
+ """
+ Sets the city of this ChatInformation.
+
+
+ :param city: The city of this ChatInformation.
+ :type: str
+ """
+ self._city = city
+
+ @property
+ def department_id(self):
+ """
+ Gets the department_id of this ChatInformation.
+
+
+ :return: The department_id of this ChatInformation.
+ :rtype: str
+ """
+ return self._department_id
+
+ @department_id.setter
+ def department_id(self, department_id):
+ """
+ Sets the department_id of this ChatInformation.
+
+
+ :param department_id: The department_id of this ChatInformation.
+ :type: str
+ """
+ self._department_id = department_id
+
+ @property
+ def agent_id(self):
+ """
+ Gets the agent_id of this ChatInformation.
+
+
+ :return: The agent_id of this ChatInformation.
+ :rtype: str
+ """
+ return self._agent_id
+
+ @agent_id.setter
+ def agent_id(self, agent_id):
+ """
+ Sets the agent_id of this ChatInformation.
+
+
+ :param agent_id: The agent_id of this ChatInformation.
+ :type: str
+ """
+ self._agent_id = agent_id
+
+ @property
+ def status(self):
+ """
+ Gets the status of this ChatInformation.
+
C, T - Chatting
R - Ringing
Q - In queue
+
+ :return: The status of this ChatInformation.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this ChatInformation.
+
C, T - Chatting
R - Ringing
Q - In queue
+
+ :param status: The status of this ChatInformation.
+ :type: str
+ """
+ self._status = status
+
+ @property
+ def emails(self):
+ """
+ Gets the emails of this ChatInformation.
+
+
+ :return: The emails of this ChatInformation.
+ :rtype: list[str]
+ """
+ return self._emails
+
+ @emails.setter
+ def emails(self, emails):
+ """
+ Sets the emails of this ChatInformation.
+
+
+ :param emails: The emails of this ChatInformation.
+ :type: list[str]
+ """
+ self._emails = emails
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+
diff --git a/liveagent_api/models/extension.py b/liveagent_api/models/extension.py
new file mode 100644
index 0000000..4718d49
--- /dev/null
+++ b/liveagent_api/models/extension.py
@@ -0,0 +1,226 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class Extension(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ Extension - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'id': 'str',
+ 'number': 'str',
+ 'status': 'str',
+ 'agent': 'Agent',
+ 'department': 'Department'
+ }
+
+ self.attribute_map = {
+ 'id': 'id',
+ 'number': 'number',
+ 'status': 'status',
+ 'agent': 'agent',
+ 'department': 'department'
+ }
+
+ self._id = None
+ self._number = None
+ self._status = None
+ self._agent = None
+ self._department = None
+
+ @property
+ def id(self):
+ """
+ Gets the id of this Extension.
+
+
+ :return: The id of this Extension.
+ :rtype: str
+ """
+ return self._id
+
+ @id.setter
+ def id(self, id):
+ """
+ Sets the id of this Extension.
+
+
+ :param id: The id of this Extension.
+ :type: str
+ """
+ self._id = id
+
+ @property
+ def number(self):
+ """
+ Gets the number of this Extension.
+
+
+ :return: The number of this Extension.
+ :rtype: str
+ """
+ return self._number
+
+ @number.setter
+ def number(self, number):
+ """
+ Sets the number of this Extension.
+
+
+ :param number: The number of this Extension.
+ :type: str
+ """
+ self._number = number
+
+ @property
+ def status(self):
+ """
+ Gets the status of this Extension.
+ E - Enabled
D - Disabled
+
+ :return: The status of this Extension.
+ :rtype: str
+ """
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ """
+ Sets the status of this Extension.
+ E - Enabled
D - Disabled
+
+ :param status: The status of this Extension.
+ :type: str
+ """
+ allowed_values = ["E", "D"]
+ if status not in allowed_values:
+ raise ValueError(
+ "Invalid value for `status`, must be one of {0}"
+ .format(allowed_values)
+ )
+ self._status = status
+
+ @property
+ def agent(self):
+ """
+ Gets the agent of this Extension.
+
+
+ :return: The agent of this Extension.
+ :rtype: Agent
+ """
+ return self._agent
+
+ @agent.setter
+ def agent(self, agent):
+ """
+ Sets the agent of this Extension.
+
+
+ :param agent: The agent of this Extension.
+ :type: Agent
+ """
+ self._agent = agent
+
+ @property
+ def department(self):
+ """
+ Gets the department of this Extension.
+
+
+ :return: The department of this Extension.
+ :rtype: Department
+ """
+ return self._department
+
+ @department.setter
+ def department(self, department):
+ """
+ Sets the department of this Extension.
+
+
+ :param department: The department of this Extension.
+ :type: Department
+ """
+ self._department = department
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+
diff --git a/liveagent_api/models/ivr_fetch.py b/liveagent_api/models/ivr_fetch.py
new file mode 100644
index 0000000..f05f30d
--- /dev/null
+++ b/liveagent_api/models/ivr_fetch.py
@@ -0,0 +1,220 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class IvrFetch(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ IvrFetch - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'url': 'str',
+ 'prefix': 'str',
+ 'on_error': 'str',
+ 'params': 'list[IvrFetchParam]',
+ 'ivrs': 'list[str]'
+ }
+
+ self.attribute_map = {
+ 'url': 'url',
+ 'prefix': 'prefix',
+ 'on_error': 'onError',
+ 'params': 'params',
+ 'ivrs': 'ivrs'
+ }
+
+ self._url = None
+ self._prefix = None
+ self._on_error = None
+ self._params = None
+ self._ivrs = None
+
+ @property
+ def url(self):
+ """
+ Gets the url of this IvrFetch.
+
+
+ :return: The url of this IvrFetch.
+ :rtype: str
+ """
+ return self._url
+
+ @url.setter
+ def url(self, url):
+ """
+ Sets the url of this IvrFetch.
+
+
+ :param url: The url of this IvrFetch.
+ :type: str
+ """
+ self._url = url
+
+ @property
+ def prefix(self):
+ """
+ Gets the prefix of this IvrFetch.
+
+
+ :return: The prefix of this IvrFetch.
+ :rtype: str
+ """
+ return self._prefix
+
+ @prefix.setter
+ def prefix(self, prefix):
+ """
+ Sets the prefix of this IvrFetch.
+
+
+ :param prefix: The prefix of this IvrFetch.
+ :type: str
+ """
+ self._prefix = prefix
+
+ @property
+ def on_error(self):
+ """
+ Gets the on_error of this IvrFetch.
+
+
+ :return: The on_error of this IvrFetch.
+ :rtype: str
+ """
+ return self._on_error
+
+ @on_error.setter
+ def on_error(self, on_error):
+ """
+ Sets the on_error of this IvrFetch.
+
+
+ :param on_error: The on_error of this IvrFetch.
+ :type: str
+ """
+ self._on_error = on_error
+
+ @property
+ def params(self):
+ """
+ Gets the params of this IvrFetch.
+
+
+ :return: The params of this IvrFetch.
+ :rtype: list[IvrFetchParam]
+ """
+ return self._params
+
+ @params.setter
+ def params(self, params):
+ """
+ Sets the params of this IvrFetch.
+
+
+ :param params: The params of this IvrFetch.
+ :type: list[IvrFetchParam]
+ """
+ self._params = params
+
+ @property
+ def ivrs(self):
+ """
+ Gets the ivrs of this IvrFetch.
+
+
+ :return: The ivrs of this IvrFetch.
+ :rtype: list[str]
+ """
+ return self._ivrs
+
+ @ivrs.setter
+ def ivrs(self, ivrs):
+ """
+ Sets the ivrs of this IvrFetch.
+
+
+ :param ivrs: The ivrs of this IvrFetch.
+ :type: list[str]
+ """
+ self._ivrs = ivrs
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+
diff --git a/liveagent_api/models/ivr_fetch_param.py b/liveagent_api/models/ivr_fetch_param.py
new file mode 100644
index 0000000..63f4ab4
--- /dev/null
+++ b/liveagent_api/models/ivr_fetch_param.py
@@ -0,0 +1,145 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class IvrFetchParam(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ IvrFetchParam - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'name': 'str',
+ 'value': 'str'
+ }
+
+ self.attribute_map = {
+ 'name': 'name',
+ 'value': 'value'
+ }
+
+ self._name = None
+ self._value = None
+
+ @property
+ def name(self):
+ """
+ Gets the name of this IvrFetchParam.
+
+
+ :return: The name of this IvrFetchParam.
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """
+ Sets the name of this IvrFetchParam.
+
+
+ :param name: The name of this IvrFetchParam.
+ :type: str
+ """
+ self._name = name
+
+ @property
+ def value(self):
+ """
+ Gets the value of this IvrFetchParam.
+
+
+ :return: The value of this IvrFetchParam.
+ :rtype: str
+ """
+ return self._value
+
+ @value.setter
+ def value(self, value):
+ """
+ Sets the value of this IvrFetchParam.
+
+
+ :param value: The value of this IvrFetchParam.
+ :type: str
+ """
+ self._value = value
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+
diff --git a/liveagent_api/models/ivr_step.py b/liveagent_api/models/ivr_step.py
index 696b041..d890b6a 100644
--- a/liveagent_api/models/ivr_step.py
+++ b/liveagent_api/models/ivr_step.py
@@ -56,7 +56,7 @@ def __init__(self):
def type(self):
"""
Gets the type of this IvrStep.
- P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (message URL in params, choices) G - goto (IVR name in params)
+ P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (choices), G - goto (IVR name in params), T - transfer (optional ivr settings in choices {\"1\":\"online\",\"0\":\"offline\",\"9\":\"queue\"}), F - fetch next IVR steps from URL in params
:return: The type of this IvrStep.
:rtype: str
@@ -67,12 +67,12 @@ def type(self):
def type(self, type):
"""
Sets the type of this IvrStep.
- P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (message URL in params, choices) G - goto (IVR name in params)
+ P - play message (URL in params), R - ring to agent (optional departmentId in params), V - redirect to voicemail, D - choice (choices), G - goto (IVR name in params), T - transfer (optional ivr settings in choices {\"1\":\"online\",\"0\":\"offline\",\"9\":\"queue\"}), F - fetch next IVR steps from URL in params
:param type: The type of this IvrStep.
:type: str
"""
- allowed_values = ["P", "R", "V", "D", "G"]
+ allowed_values = ["P", "R", "V", "D", "G", "T", "F"]
if type not in allowed_values:
raise ValueError(
"Invalid value for `type`, must be one of {0}"
diff --git a/liveagent_api/models/outgoing_phone_number.py b/liveagent_api/models/outgoing_phone_number.py
new file mode 100644
index 0000000..4286723
--- /dev/null
+++ b/liveagent_api/models/outgoing_phone_number.py
@@ -0,0 +1,220 @@
+# coding: utf-8
+
+"""
+Copyright 2016 SmartBear Software
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ Ref: https://github.com/swagger-api/swagger-codegen
+"""
+
+from pprint import pformat
+from six import iteritems
+
+
+class OutgoingPhoneNumber(object):
+ """
+ NOTE: This class is auto generated by the swagger code generator program.
+ Do not edit the class manually.
+ """
+ def __init__(self):
+ """
+ OutgoingPhoneNumber - a model defined in Swagger
+
+ :param dict swaggerTypes: The key is attribute name
+ and the value is attribute type.
+ :param dict attributeMap: The key is attribute name
+ and the value is json key in definition.
+ """
+ self.swagger_types = {
+ 'phone': 'str',
+ 'name': 'str',
+ 'avatar_url': 'str',
+ 'country_code': 'str',
+ 'type': 'str'
+ }
+
+ self.attribute_map = {
+ 'phone': 'phone',
+ 'name': 'name',
+ 'avatar_url': 'avatar_url',
+ 'country_code': 'country_code',
+ 'type': 'type'
+ }
+
+ self._phone = None
+ self._name = None
+ self._avatar_url = None
+ self._country_code = None
+ self._type = None
+
+ @property
+ def phone(self):
+ """
+ Gets the phone of this OutgoingPhoneNumber.
+
+
+ :return: The phone of this OutgoingPhoneNumber.
+ :rtype: str
+ """
+ return self._phone
+
+ @phone.setter
+ def phone(self, phone):
+ """
+ Sets the phone of this OutgoingPhoneNumber.
+
+
+ :param phone: The phone of this OutgoingPhoneNumber.
+ :type: str
+ """
+ self._phone = phone
+
+ @property
+ def name(self):
+ """
+ Gets the name of this OutgoingPhoneNumber.
+
+
+ :return: The name of this OutgoingPhoneNumber.
+ :rtype: str
+ """
+ return self._name
+
+ @name.setter
+ def name(self, name):
+ """
+ Sets the name of this OutgoingPhoneNumber.
+
+
+ :param name: The name of this OutgoingPhoneNumber.
+ :type: str
+ """
+ self._name = name
+
+ @property
+ def avatar_url(self):
+ """
+ Gets the avatar_url of this OutgoingPhoneNumber.
+
+
+ :return: The avatar_url of this OutgoingPhoneNumber.
+ :rtype: str
+ """
+ return self._avatar_url
+
+ @avatar_url.setter
+ def avatar_url(self, avatar_url):
+ """
+ Sets the avatar_url of this OutgoingPhoneNumber.
+
+
+ :param avatar_url: The avatar_url of this OutgoingPhoneNumber.
+ :type: str
+ """
+ self._avatar_url = avatar_url
+
+ @property
+ def country_code(self):
+ """
+ Gets the country_code of this OutgoingPhoneNumber.
+
+
+ :return: The country_code of this OutgoingPhoneNumber.
+ :rtype: str
+ """
+ return self._country_code
+
+ @country_code.setter
+ def country_code(self, country_code):
+ """
+ Sets the country_code of this OutgoingPhoneNumber.
+
+
+ :param country_code: The country_code of this OutgoingPhoneNumber.
+ :type: str
+ """
+ self._country_code = country_code
+
+ @property
+ def type(self):
+ """
+ Gets the type of this OutgoingPhoneNumber.
+
+
+ :return: The type of this OutgoingPhoneNumber.
+ :rtype: str
+ """
+ return self._type
+
+ @type.setter
+ def type(self, type):
+ """
+ Sets the type of this OutgoingPhoneNumber.
+
+
+ :param type: The type of this OutgoingPhoneNumber.
+ :type: str
+ """
+ self._type = type
+
+ def to_dict(self):
+ """
+ Returns the model properties as a dict
+ """
+ result = {}
+
+ for attr, _ in iteritems(self.swagger_types):
+ value = getattr(self, attr)
+ if isinstance(value, list):
+ result[attr] = list(map(
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
+ value
+ ))
+ elif hasattr(value, "to_dict"):
+ result[attr] = value.to_dict()
+ elif isinstance(value, dict):
+ result[attr] = dict(map(
+ lambda item: (item[0], item[1].to_dict())
+ if hasattr(item[1], "to_dict") else item,
+ value.items()
+ ))
+ else:
+ result[attr] = value
+
+ return result
+
+ def to_str(self):
+ """
+ Returns the string representation of the model
+ """
+ return pformat(self.to_dict())
+
+ def __repr__(self):
+ """
+ For `print` and `pprint`
+ """
+ return self.to_str()
+
+ def __eq__(self, other):
+ """
+ Returns true if both objects are equal
+ """
+ return self.__dict__ == other.__dict__
+
+ def __ne__(self, other):
+ """
+ Returns true if both objects are not equal
+ """
+ return not self == other
+