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 +