ultracart_api 4.1.80 → 4.1.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -2
  3. data/docs/AgentSummary.md +30 -0
  4. data/docs/AutoOrderItemCancelRequest.md +3 -1
  5. data/docs/ConversationAgentCallEvent.md +30 -0
  6. data/docs/ConversationAgentChatEvent.md +26 -0
  7. data/docs/ConversationAgentStatusConfig.md +42 -0
  8. data/docs/ConversationAgentStatusConfigResponse.md +26 -0
  9. data/docs/ConversationAgentStatusConfigsResponse.md +26 -0
  10. data/docs/ConversationAgentStatusEvent.md +50 -0
  11. data/docs/ConversationAgentStatusHeatmapRequest.md +24 -0
  12. data/docs/ConversationAgentStatusHeatmapResponse.md +30 -0
  13. data/docs/ConversationAgentStatusHistorySearchRequest.md +28 -0
  14. data/docs/ConversationAgentStatusHistorySearchResponse.md +28 -0
  15. data/docs/ConversationAgentStatusRollup.md +38 -0
  16. data/docs/ConversationAgentStatusRollupSearchRequest.md +24 -0
  17. data/docs/ConversationAgentStatusRollupSearchResponse.md +26 -0
  18. data/docs/ConversationAgentStatusSummaryResponse.md +32 -0
  19. data/docs/ConversationAgentStatusTimelineResponse.md +32 -0
  20. data/docs/ConversationApi.md +600 -0
  21. data/docs/ConversationPbxCallAgent.md +2 -0
  22. data/docs/ConversationPbxDefaultTimezoneResponse.md +26 -0
  23. data/docs/ConversationPbxDefaultTimezoneUpdateRequest.md +18 -0
  24. data/docs/ConversationWebchatQueueStatusAgent.md +6 -0
  25. data/docs/ConversationWebchatQueueStatusUpdateRequest.md +5 -1
  26. data/docs/TimelineSummary.md +26 -0
  27. data/lib/ultracart_api/api/conversation_api.rb +766 -2
  28. data/lib/ultracart_api/models/agent_summary.rb +279 -0
  29. data/lib/ultracart_api/models/auto_order_item_cancel_request.rb +14 -2
  30. data/lib/ultracart_api/models/conversation_agent_call_event.rb +314 -0
  31. data/lib/ultracart_api/models/conversation_agent_chat_event.rb +260 -0
  32. data/lib/ultracart_api/models/conversation_agent_status_config.rb +461 -0
  33. data/lib/ultracart_api/models/conversation_agent_status_config_response.rb +256 -0
  34. data/lib/ultracart_api/models/conversation_agent_status_configs_response.rb +259 -0
  35. data/lib/ultracart_api/models/conversation_agent_status_event.rb +522 -0
  36. data/lib/ultracart_api/models/conversation_agent_status_heatmap_request.rb +296 -0
  37. data/lib/ultracart_api/models/conversation_agent_status_heatmap_response.rb +283 -0
  38. data/lib/ultracart_api/models/conversation_agent_status_history_search_request.rb +316 -0
  39. data/lib/ultracart_api/models/conversation_agent_status_history_search_response.rb +269 -0
  40. data/lib/ultracart_api/models/conversation_agent_status_rollup.rb +353 -0
  41. data/lib/ultracart_api/models/conversation_agent_status_rollup_search_request.rb +284 -0
  42. data/lib/ultracart_api/models/conversation_agent_status_rollup_search_response.rb +259 -0
  43. data/lib/ultracart_api/models/conversation_agent_status_summary_response.rb +288 -0
  44. data/lib/ultracart_api/models/conversation_agent_status_timeline_response.rb +292 -0
  45. data/lib/ultracart_api/models/conversation_pbx_call_agent.rb +11 -1
  46. data/lib/ultracart_api/models/conversation_pbx_default_timezone_response.rb +272 -0
  47. data/lib/ultracart_api/models/conversation_pbx_default_timezone_update_request.rb +235 -0
  48. data/lib/ultracart_api/models/conversation_webchat_queue_status_agent.rb +31 -1
  49. data/lib/ultracart_api/models/conversation_webchat_queue_status_update_request.rb +24 -4
  50. data/lib/ultracart_api/models/timeline_summary.rb +260 -0
  51. data/lib/ultracart_api/version.rb +1 -1
  52. data/lib/ultracart_api.rb +19 -0
  53. metadata +40 -2
@@ -172,6 +172,70 @@ module UltracartClient
172
172
  return data, status_code, headers
173
173
  end
174
174
 
175
+ # Soft-deactivate a custom agent status
176
+ # Sets active=false on the row and the DDB sync record. The Twilio Activity is preserved (Round 2 decision) so historic worker reporting still resolves the SID.
177
+ # @param conversation_status_uuid [String]
178
+ # @param [Hash] opts the optional parameters
179
+ # @return [nil]
180
+ def delete_agent_status_config(conversation_status_uuid, opts = {})
181
+ delete_agent_status_config_with_http_info(conversation_status_uuid, opts)
182
+ nil
183
+ end
184
+
185
+ # Soft-deactivate a custom agent status
186
+ # Sets active=false on the row and the DDB sync record. The Twilio Activity is preserved (Round 2 decision) so historic worker reporting still resolves the SID.
187
+ # @param conversation_status_uuid [String]
188
+ # @param [Hash] opts the optional parameters
189
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
190
+ def delete_agent_status_config_with_http_info(conversation_status_uuid, opts = {})
191
+ if @api_client.config.debugging
192
+ @api_client.config.logger.debug 'Calling API: ConversationApi.delete_agent_status_config ...'
193
+ end
194
+ # verify the required parameter 'conversation_status_uuid' is set
195
+ if @api_client.config.client_side_validation && conversation_status_uuid.nil?
196
+ fail ArgumentError, "Missing the required parameter 'conversation_status_uuid' when calling ConversationApi.delete_agent_status_config"
197
+ end
198
+ # resource path
199
+ local_var_path = '/conversation/agent/status/config/{conversation_status_uuid}'.sub('{' + 'conversation_status_uuid' + '}', CGI.escape(conversation_status_uuid.to_s))
200
+
201
+ # query parameters
202
+ query_params = opts[:query_params] || {}
203
+
204
+ # header parameters
205
+ header_params = opts[:header_params] || {}
206
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
207
+ # HTTP header 'Accept' (if needed)
208
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
209
+
210
+ # form parameters
211
+ form_params = opts[:form_params] || {}
212
+
213
+ # http body (model)
214
+ post_body = opts[:debug_body]
215
+
216
+ # return_type
217
+ return_type = opts[:debug_return_type]
218
+
219
+ # auth_names
220
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
221
+
222
+ new_options = opts.merge(
223
+ :operation => :"ConversationApi.delete_agent_status_config",
224
+ :header_params => header_params,
225
+ :query_params => query_params,
226
+ :form_params => form_params,
227
+ :body => post_body,
228
+ :auth_names => auth_names,
229
+ :return_type => return_type
230
+ )
231
+
232
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
233
+ if @api_client.config.debugging
234
+ @api_client.config.logger.debug "API called: ConversationApi#delete_agent_status_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
235
+ end
236
+ return data, status_code, headers
237
+ end
238
+
175
239
  # Delete a conversation canned message
176
240
  # Delete a conversation canned message
177
241
  # @param conversation_canned_message_oid [Integer]
@@ -1644,6 +1708,291 @@ module UltracartClient
1644
1708
  return data, status_code, headers
1645
1709
  end
1646
1710
 
1711
+ # List custom agent statuses
1712
+ # Returns all custom statuses (active and soft-deactivated) for the merchant.
1713
+ # @param [Hash] opts the optional parameters
1714
+ # @return [ConversationAgentStatusConfigsResponse]
1715
+ def get_agent_status_configs(opts = {})
1716
+ data, _status_code, _headers = get_agent_status_configs_with_http_info(opts)
1717
+ data
1718
+ end
1719
+
1720
+ # List custom agent statuses
1721
+ # Returns all custom statuses (active and soft-deactivated) for the merchant.
1722
+ # @param [Hash] opts the optional parameters
1723
+ # @return [Array<(ConversationAgentStatusConfigsResponse, Integer, Hash)>] ConversationAgentStatusConfigsResponse data, response status code and response headers
1724
+ def get_agent_status_configs_with_http_info(opts = {})
1725
+ if @api_client.config.debugging
1726
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_agent_status_configs ...'
1727
+ end
1728
+ # resource path
1729
+ local_var_path = '/conversation/agent/status/config'
1730
+
1731
+ # query parameters
1732
+ query_params = opts[:query_params] || {}
1733
+
1734
+ # header parameters
1735
+ header_params = opts[:header_params] || {}
1736
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1737
+ # HTTP header 'Accept' (if needed)
1738
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1739
+
1740
+ # form parameters
1741
+ form_params = opts[:form_params] || {}
1742
+
1743
+ # http body (model)
1744
+ post_body = opts[:debug_body]
1745
+
1746
+ # return_type
1747
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusConfigsResponse'
1748
+
1749
+ # auth_names
1750
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1751
+
1752
+ new_options = opts.merge(
1753
+ :operation => :"ConversationApi.get_agent_status_configs",
1754
+ :header_params => header_params,
1755
+ :query_params => query_params,
1756
+ :form_params => form_params,
1757
+ :body => post_body,
1758
+ :auth_names => auth_names,
1759
+ :return_type => return_type
1760
+ )
1761
+
1762
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1763
+ if @api_client.config.debugging
1764
+ @api_client.config.logger.debug "API called: ConversationApi#get_agent_status_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1765
+ end
1766
+ return data, status_code, headers
1767
+ end
1768
+
1769
+ # Agent x hour-of-day heatmap
1770
+ # Returns ECharts-shaped agent x hour grid for the requested metric (availability, call_volume, chat_volume). Multi-day requests average the cell values across the date range.
1771
+ # @param heatmap_request [ConversationAgentStatusHeatmapRequest] Heatmap request
1772
+ # @param [Hash] opts the optional parameters
1773
+ # @return [ConversationAgentStatusHeatmapResponse]
1774
+ def get_agent_status_heatmap(heatmap_request, opts = {})
1775
+ data, _status_code, _headers = get_agent_status_heatmap_with_http_info(heatmap_request, opts)
1776
+ data
1777
+ end
1778
+
1779
+ # Agent x hour-of-day heatmap
1780
+ # Returns ECharts-shaped agent x hour grid for the requested metric (availability, call_volume, chat_volume). Multi-day requests average the cell values across the date range.
1781
+ # @param heatmap_request [ConversationAgentStatusHeatmapRequest] Heatmap request
1782
+ # @param [Hash] opts the optional parameters
1783
+ # @return [Array<(ConversationAgentStatusHeatmapResponse, Integer, Hash)>] ConversationAgentStatusHeatmapResponse data, response status code and response headers
1784
+ def get_agent_status_heatmap_with_http_info(heatmap_request, opts = {})
1785
+ if @api_client.config.debugging
1786
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_agent_status_heatmap ...'
1787
+ end
1788
+ # verify the required parameter 'heatmap_request' is set
1789
+ if @api_client.config.client_side_validation && heatmap_request.nil?
1790
+ fail ArgumentError, "Missing the required parameter 'heatmap_request' when calling ConversationApi.get_agent_status_heatmap"
1791
+ end
1792
+ # resource path
1793
+ local_var_path = '/conversation/agent/status/heatmap'
1794
+
1795
+ # query parameters
1796
+ query_params = opts[:query_params] || {}
1797
+
1798
+ # header parameters
1799
+ header_params = opts[:header_params] || {}
1800
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1801
+ # HTTP header 'Accept' (if needed)
1802
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1803
+ # HTTP header 'Content-Type'
1804
+ content_type = @api_client.select_header_content_type(['application/json'])
1805
+ if !content_type.nil?
1806
+ header_params['Content-Type'] = content_type
1807
+ end
1808
+
1809
+ # form parameters
1810
+ form_params = opts[:form_params] || {}
1811
+
1812
+ # http body (model)
1813
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(heatmap_request)
1814
+
1815
+ # return_type
1816
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusHeatmapResponse'
1817
+
1818
+ # auth_names
1819
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1820
+
1821
+ new_options = opts.merge(
1822
+ :operation => :"ConversationApi.get_agent_status_heatmap",
1823
+ :header_params => header_params,
1824
+ :query_params => query_params,
1825
+ :form_params => form_params,
1826
+ :body => post_body,
1827
+ :auth_names => auth_names,
1828
+ :return_type => return_type
1829
+ )
1830
+
1831
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1832
+ if @api_client.config.debugging
1833
+ @api_client.config.logger.debug "API called: ConversationApi#get_agent_status_heatmap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1834
+ end
1835
+ return data, status_code, headers
1836
+ end
1837
+
1838
+ # Dashboard summary for a date range
1839
+ # Top-line summary: total_agents, avg_available_pct, status_breakdown, per-agent rollups.
1840
+ # @param date_start2 [String] Range start (YYYY-MM-DD)
1841
+ # @param date_end2 [String] Range end (YYYY-MM-DD)
1842
+ # @param [Hash] opts the optional parameters
1843
+ # @option opts [String] :date_start
1844
+ # @option opts [String] :date_end
1845
+ # @return [ConversationAgentStatusSummaryResponse]
1846
+ def get_agent_status_summary(date_start2, date_end2, opts = {})
1847
+ data, _status_code, _headers = get_agent_status_summary_with_http_info(date_start2, date_end2, opts)
1848
+ data
1849
+ end
1850
+
1851
+ # Dashboard summary for a date range
1852
+ # Top-line summary: total_agents, avg_available_pct, status_breakdown, per-agent rollups.
1853
+ # @param date_start2 [String] Range start (YYYY-MM-DD)
1854
+ # @param date_end2 [String] Range end (YYYY-MM-DD)
1855
+ # @param [Hash] opts the optional parameters
1856
+ # @option opts [String] :date_start
1857
+ # @option opts [String] :date_end
1858
+ # @return [Array<(ConversationAgentStatusSummaryResponse, Integer, Hash)>] ConversationAgentStatusSummaryResponse data, response status code and response headers
1859
+ def get_agent_status_summary_with_http_info(date_start2, date_end2, opts = {})
1860
+ if @api_client.config.debugging
1861
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_agent_status_summary ...'
1862
+ end
1863
+ # verify the required parameter 'date_start2' is set
1864
+ if @api_client.config.client_side_validation && date_start2.nil?
1865
+ fail ArgumentError, "Missing the required parameter 'date_start2' when calling ConversationApi.get_agent_status_summary"
1866
+ end
1867
+ # verify the required parameter 'date_end2' is set
1868
+ if @api_client.config.client_side_validation && date_end2.nil?
1869
+ fail ArgumentError, "Missing the required parameter 'date_end2' when calling ConversationApi.get_agent_status_summary"
1870
+ end
1871
+ # resource path
1872
+ local_var_path = '/conversation/agent/status/rollup/summary'
1873
+
1874
+ # query parameters
1875
+ query_params = opts[:query_params] || {}
1876
+ query_params[:'date_start'] = date_start2
1877
+ query_params[:'date_end'] = date_end2
1878
+ query_params[:'date_start'] = opts[:'date_start'] if !opts[:'date_start'].nil?
1879
+ query_params[:'date_end'] = opts[:'date_end'] if !opts[:'date_end'].nil?
1880
+
1881
+ # header parameters
1882
+ header_params = opts[:header_params] || {}
1883
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1884
+ # HTTP header 'Accept' (if needed)
1885
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1886
+
1887
+ # form parameters
1888
+ form_params = opts[:form_params] || {}
1889
+
1890
+ # http body (model)
1891
+ post_body = opts[:debug_body]
1892
+
1893
+ # return_type
1894
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusSummaryResponse'
1895
+
1896
+ # auth_names
1897
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1898
+
1899
+ new_options = opts.merge(
1900
+ :operation => :"ConversationApi.get_agent_status_summary",
1901
+ :header_params => header_params,
1902
+ :query_params => query_params,
1903
+ :form_params => form_params,
1904
+ :body => post_body,
1905
+ :auth_names => auth_names,
1906
+ :return_type => return_type
1907
+ )
1908
+
1909
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1910
+ if @api_client.config.debugging
1911
+ @api_client.config.logger.debug "API called: ConversationApi#get_agent_status_summary\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1912
+ end
1913
+ return data, status_code, headers
1914
+ end
1915
+
1916
+ # Day timeline for a single agent
1917
+ # Returns merged status events + PBX calls + chat conversations for the agent on the given date. Omitting the channel parameter returns both channels merged.
1918
+ # @param agent_user_id [String]
1919
+ # @param date2 [String] Day to retrieve (YYYY-MM-DD)
1920
+ # @param [Hash] opts the optional parameters
1921
+ # @option opts [String] :date
1922
+ # @option opts [String] :channel
1923
+ # @option opts [String] :channel2 Restrict to one channel (omit for both)
1924
+ # @return [ConversationAgentStatusTimelineResponse]
1925
+ def get_agent_status_timeline(agent_user_id, date2, opts = {})
1926
+ data, _status_code, _headers = get_agent_status_timeline_with_http_info(agent_user_id, date2, opts)
1927
+ data
1928
+ end
1929
+
1930
+ # Day timeline for a single agent
1931
+ # Returns merged status events + PBX calls + chat conversations for the agent on the given date. Omitting the channel parameter returns both channels merged.
1932
+ # @param agent_user_id [String]
1933
+ # @param date2 [String] Day to retrieve (YYYY-MM-DD)
1934
+ # @param [Hash] opts the optional parameters
1935
+ # @option opts [String] :date
1936
+ # @option opts [String] :channel
1937
+ # @option opts [String] :channel2 Restrict to one channel (omit for both)
1938
+ # @return [Array<(ConversationAgentStatusTimelineResponse, Integer, Hash)>] ConversationAgentStatusTimelineResponse data, response status code and response headers
1939
+ def get_agent_status_timeline_with_http_info(agent_user_id, date2, opts = {})
1940
+ if @api_client.config.debugging
1941
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_agent_status_timeline ...'
1942
+ end
1943
+ # verify the required parameter 'agent_user_id' is set
1944
+ if @api_client.config.client_side_validation && agent_user_id.nil?
1945
+ fail ArgumentError, "Missing the required parameter 'agent_user_id' when calling ConversationApi.get_agent_status_timeline"
1946
+ end
1947
+ # verify the required parameter 'date2' is set
1948
+ if @api_client.config.client_side_validation && date2.nil?
1949
+ fail ArgumentError, "Missing the required parameter 'date2' when calling ConversationApi.get_agent_status_timeline"
1950
+ end
1951
+ # resource path
1952
+ local_var_path = '/conversation/agent/status/history/{agent_user_id}/timeline'.sub('{' + 'agent_user_id' + '}', CGI.escape(agent_user_id.to_s))
1953
+
1954
+ # query parameters
1955
+ query_params = opts[:query_params] || {}
1956
+ query_params[:'date'] = date2
1957
+ query_params[:'date'] = opts[:'date'] if !opts[:'date'].nil?
1958
+ query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
1959
+ query_params[:'channel'] = opts[:'channel2'] if !opts[:'channel2'].nil?
1960
+
1961
+ # header parameters
1962
+ header_params = opts[:header_params] || {}
1963
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1964
+ # HTTP header 'Accept' (if needed)
1965
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1966
+
1967
+ # form parameters
1968
+ form_params = opts[:form_params] || {}
1969
+
1970
+ # http body (model)
1971
+ post_body = opts[:debug_body]
1972
+
1973
+ # return_type
1974
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusTimelineResponse'
1975
+
1976
+ # auth_names
1977
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1978
+
1979
+ new_options = opts.merge(
1980
+ :operation => :"ConversationApi.get_agent_status_timeline",
1981
+ :header_params => header_params,
1982
+ :query_params => query_params,
1983
+ :form_params => form_params,
1984
+ :body => post_body,
1985
+ :auth_names => auth_names,
1986
+ :return_type => return_type
1987
+ )
1988
+
1989
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1990
+ if @api_client.config.debugging
1991
+ @api_client.config.logger.debug "API called: ConversationApi#get_agent_status_timeline\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1992
+ end
1993
+ return data, status_code, headers
1994
+ end
1995
+
1647
1996
  # Get agent websocket authorization
1648
1997
  # Retrieve a JWT to authorize an agent to make a websocket connection.
1649
1998
  # @param [Hash] opts the optional parameters
@@ -3707,7 +4056,65 @@ module UltracartClient
3707
4056
  auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
3708
4057
 
3709
4058
  new_options = opts.merge(
3710
- :operation => :"ConversationApi.get_pbx_cos_audit_logs",
4059
+ :operation => :"ConversationApi.get_pbx_cos_audit_logs",
4060
+ :header_params => header_params,
4061
+ :query_params => query_params,
4062
+ :form_params => form_params,
4063
+ :body => post_body,
4064
+ :auth_names => auth_names,
4065
+ :return_type => return_type
4066
+ )
4067
+
4068
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
4069
+ if @api_client.config.debugging
4070
+ @api_client.config.logger.debug "API called: ConversationApi#get_pbx_cos_audit_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4071
+ end
4072
+ return data, status_code, headers
4073
+ end
4074
+
4075
+ # Get the merchant default timezone
4076
+ # Returns the merchant's stored default timezone (IANA name). Falls back to America/New_York when unset.
4077
+ # @param [Hash] opts the optional parameters
4078
+ # @return [ConversationPbxDefaultTimezoneResponse]
4079
+ def get_pbx_default_timezone(opts = {})
4080
+ data, _status_code, _headers = get_pbx_default_timezone_with_http_info(opts)
4081
+ data
4082
+ end
4083
+
4084
+ # Get the merchant default timezone
4085
+ # Returns the merchant&#39;s stored default timezone (IANA name). Falls back to America/New_York when unset.
4086
+ # @param [Hash] opts the optional parameters
4087
+ # @return [Array<(ConversationPbxDefaultTimezoneResponse, Integer, Hash)>] ConversationPbxDefaultTimezoneResponse data, response status code and response headers
4088
+ def get_pbx_default_timezone_with_http_info(opts = {})
4089
+ if @api_client.config.debugging
4090
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_pbx_default_timezone ...'
4091
+ end
4092
+ # resource path
4093
+ local_var_path = '/conversation/pbx/config/default-timezone'
4094
+
4095
+ # query parameters
4096
+ query_params = opts[:query_params] || {}
4097
+
4098
+ # header parameters
4099
+ header_params = opts[:header_params] || {}
4100
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
4101
+ # HTTP header 'Accept' (if needed)
4102
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4103
+
4104
+ # form parameters
4105
+ form_params = opts[:form_params] || {}
4106
+
4107
+ # http body (model)
4108
+ post_body = opts[:debug_body]
4109
+
4110
+ # return_type
4111
+ return_type = opts[:debug_return_type] || 'ConversationPbxDefaultTimezoneResponse'
4112
+
4113
+ # auth_names
4114
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
4115
+
4116
+ new_options = opts.merge(
4117
+ :operation => :"ConversationApi.get_pbx_default_timezone",
3711
4118
  :header_params => header_params,
3712
4119
  :query_params => query_params,
3713
4120
  :form_params => form_params,
@@ -3718,7 +4125,7 @@ module UltracartClient
3718
4125
 
3719
4126
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
3720
4127
  if @api_client.config.debugging
3721
- @api_client.config.logger.debug "API called: ConversationApi#get_pbx_cos_audit_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4128
+ @api_client.config.logger.debug "API called: ConversationApi#get_pbx_default_timezone\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3722
4129
  end
3723
4130
  return data, status_code, headers
3724
4131
  end
@@ -5215,6 +5622,75 @@ module UltracartClient
5215
5622
  return data, status_code, headers
5216
5623
  end
5217
5624
 
5625
+ # Create a custom agent status
5626
+ # Create a custom status. Enforces a 20-active-status-per-merchant cap and the 50-Twilio-Activity-per-workspace cap.
5627
+ # @param status_config [ConversationAgentStatusConfig] Status config
5628
+ # @param [Hash] opts the optional parameters
5629
+ # @return [ConversationAgentStatusConfigResponse]
5630
+ def insert_agent_status_config(status_config, opts = {})
5631
+ data, _status_code, _headers = insert_agent_status_config_with_http_info(status_config, opts)
5632
+ data
5633
+ end
5634
+
5635
+ # Create a custom agent status
5636
+ # Create a custom status. Enforces a 20-active-status-per-merchant cap and the 50-Twilio-Activity-per-workspace cap.
5637
+ # @param status_config [ConversationAgentStatusConfig] Status config
5638
+ # @param [Hash] opts the optional parameters
5639
+ # @return [Array<(ConversationAgentStatusConfigResponse, Integer, Hash)>] ConversationAgentStatusConfigResponse data, response status code and response headers
5640
+ def insert_agent_status_config_with_http_info(status_config, opts = {})
5641
+ if @api_client.config.debugging
5642
+ @api_client.config.logger.debug 'Calling API: ConversationApi.insert_agent_status_config ...'
5643
+ end
5644
+ # verify the required parameter 'status_config' is set
5645
+ if @api_client.config.client_side_validation && status_config.nil?
5646
+ fail ArgumentError, "Missing the required parameter 'status_config' when calling ConversationApi.insert_agent_status_config"
5647
+ end
5648
+ # resource path
5649
+ local_var_path = '/conversation/agent/status/config'
5650
+
5651
+ # query parameters
5652
+ query_params = opts[:query_params] || {}
5653
+
5654
+ # header parameters
5655
+ header_params = opts[:header_params] || {}
5656
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
5657
+ # HTTP header 'Accept' (if needed)
5658
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5659
+ # HTTP header 'Content-Type'
5660
+ content_type = @api_client.select_header_content_type(['application/json'])
5661
+ if !content_type.nil?
5662
+ header_params['Content-Type'] = content_type
5663
+ end
5664
+
5665
+ # form parameters
5666
+ form_params = opts[:form_params] || {}
5667
+
5668
+ # http body (model)
5669
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(status_config)
5670
+
5671
+ # return_type
5672
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusConfigResponse'
5673
+
5674
+ # auth_names
5675
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
5676
+
5677
+ new_options = opts.merge(
5678
+ :operation => :"ConversationApi.insert_agent_status_config",
5679
+ :header_params => header_params,
5680
+ :query_params => query_params,
5681
+ :form_params => form_params,
5682
+ :body => post_body,
5683
+ :auth_names => auth_names,
5684
+ :return_type => return_type
5685
+ )
5686
+
5687
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
5688
+ if @api_client.config.debugging
5689
+ @api_client.config.logger.debug "API called: ConversationApi#insert_agent_status_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5690
+ end
5691
+ return data, status_code, headers
5692
+ end
5693
+
5218
5694
  # Insert a canned message
5219
5695
  # Insert a canned message
5220
5696
  # @param canned_message [ConversationCannedMessage] Canned message
@@ -6717,6 +7193,150 @@ module UltracartClient
6717
7193
  return data, status_code, headers
6718
7194
  end
6719
7195
 
7196
+ # Search agent status history
7197
+ # Paginated search over conversation_agent_status_events_all. Filters: agent_user_id, channel, status, trigger, date range.
7198
+ # @param search_request [ConversationAgentStatusHistorySearchRequest] Search request
7199
+ # @param [Hash] opts the optional parameters
7200
+ # @option opts [Integer] :_limit Maximum records per call (max 200) (default to 100)
7201
+ # @option opts [Integer] :_offset Pagination offset (zero-based) (default to 0)
7202
+ # @return [ConversationAgentStatusHistorySearchResponse]
7203
+ def search_agent_status_history(search_request, opts = {})
7204
+ data, _status_code, _headers = search_agent_status_history_with_http_info(search_request, opts)
7205
+ data
7206
+ end
7207
+
7208
+ # Search agent status history
7209
+ # Paginated search over conversation_agent_status_events_all. Filters: agent_user_id, channel, status, trigger, date range.
7210
+ # @param search_request [ConversationAgentStatusHistorySearchRequest] Search request
7211
+ # @param [Hash] opts the optional parameters
7212
+ # @option opts [Integer] :_limit Maximum records per call (max 200) (default to 100)
7213
+ # @option opts [Integer] :_offset Pagination offset (zero-based) (default to 0)
7214
+ # @return [Array<(ConversationAgentStatusHistorySearchResponse, Integer, Hash)>] ConversationAgentStatusHistorySearchResponse data, response status code and response headers
7215
+ def search_agent_status_history_with_http_info(search_request, opts = {})
7216
+ if @api_client.config.debugging
7217
+ @api_client.config.logger.debug 'Calling API: ConversationApi.search_agent_status_history ...'
7218
+ end
7219
+ # verify the required parameter 'search_request' is set
7220
+ if @api_client.config.client_side_validation && search_request.nil?
7221
+ fail ArgumentError, "Missing the required parameter 'search_request' when calling ConversationApi.search_agent_status_history"
7222
+ end
7223
+ # resource path
7224
+ local_var_path = '/conversation/agent/status/history/search'
7225
+
7226
+ # query parameters
7227
+ query_params = opts[:query_params] || {}
7228
+ query_params[:'_limit'] = opts[:'_limit'] if !opts[:'_limit'].nil?
7229
+ query_params[:'_offset'] = opts[:'_offset'] if !opts[:'_offset'].nil?
7230
+
7231
+ # header parameters
7232
+ header_params = opts[:header_params] || {}
7233
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
7234
+ # HTTP header 'Accept' (if needed)
7235
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
7236
+ # HTTP header 'Content-Type'
7237
+ content_type = @api_client.select_header_content_type(['application/json'])
7238
+ if !content_type.nil?
7239
+ header_params['Content-Type'] = content_type
7240
+ end
7241
+
7242
+ # form parameters
7243
+ form_params = opts[:form_params] || {}
7244
+
7245
+ # http body (model)
7246
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(search_request)
7247
+
7248
+ # return_type
7249
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusHistorySearchResponse'
7250
+
7251
+ # auth_names
7252
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
7253
+
7254
+ new_options = opts.merge(
7255
+ :operation => :"ConversationApi.search_agent_status_history",
7256
+ :header_params => header_params,
7257
+ :query_params => query_params,
7258
+ :form_params => form_params,
7259
+ :body => post_body,
7260
+ :auth_names => auth_names,
7261
+ :return_type => return_type
7262
+ )
7263
+
7264
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
7265
+ if @api_client.config.debugging
7266
+ @api_client.config.logger.debug "API called: ConversationApi#search_agent_status_history\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7267
+ end
7268
+ return data, status_code, headers
7269
+ end
7270
+
7271
+ # Search per-(agent, day) rollups
7272
+ # Aggregated over conversation_agent_status_events_all via date_histogram + terms. Returns one row per (agent, day, channel).
7273
+ # @param search_request [ConversationAgentStatusRollupSearchRequest] Search request
7274
+ # @param [Hash] opts the optional parameters
7275
+ # @return [ConversationAgentStatusRollupSearchResponse]
7276
+ def search_agent_status_rollups(search_request, opts = {})
7277
+ data, _status_code, _headers = search_agent_status_rollups_with_http_info(search_request, opts)
7278
+ data
7279
+ end
7280
+
7281
+ # Search per-(agent, day) rollups
7282
+ # Aggregated over conversation_agent_status_events_all via date_histogram + terms. Returns one row per (agent, day, channel).
7283
+ # @param search_request [ConversationAgentStatusRollupSearchRequest] Search request
7284
+ # @param [Hash] opts the optional parameters
7285
+ # @return [Array<(ConversationAgentStatusRollupSearchResponse, Integer, Hash)>] ConversationAgentStatusRollupSearchResponse data, response status code and response headers
7286
+ def search_agent_status_rollups_with_http_info(search_request, opts = {})
7287
+ if @api_client.config.debugging
7288
+ @api_client.config.logger.debug 'Calling API: ConversationApi.search_agent_status_rollups ...'
7289
+ end
7290
+ # verify the required parameter 'search_request' is set
7291
+ if @api_client.config.client_side_validation && search_request.nil?
7292
+ fail ArgumentError, "Missing the required parameter 'search_request' when calling ConversationApi.search_agent_status_rollups"
7293
+ end
7294
+ # resource path
7295
+ local_var_path = '/conversation/agent/status/rollup/search'
7296
+
7297
+ # query parameters
7298
+ query_params = opts[:query_params] || {}
7299
+
7300
+ # header parameters
7301
+ header_params = opts[:header_params] || {}
7302
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
7303
+ # HTTP header 'Accept' (if needed)
7304
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
7305
+ # HTTP header 'Content-Type'
7306
+ content_type = @api_client.select_header_content_type(['application/json'])
7307
+ if !content_type.nil?
7308
+ header_params['Content-Type'] = content_type
7309
+ end
7310
+
7311
+ # form parameters
7312
+ form_params = opts[:form_params] || {}
7313
+
7314
+ # http body (model)
7315
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(search_request)
7316
+
7317
+ # return_type
7318
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusRollupSearchResponse'
7319
+
7320
+ # auth_names
7321
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
7322
+
7323
+ new_options = opts.merge(
7324
+ :operation => :"ConversationApi.search_agent_status_rollups",
7325
+ :header_params => header_params,
7326
+ :query_params => query_params,
7327
+ :form_params => form_params,
7328
+ :body => post_body,
7329
+ :auth_names => auth_names,
7330
+ :return_type => return_type
7331
+ )
7332
+
7333
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
7334
+ if @api_client.config.debugging
7335
+ @api_client.config.logger.debug "API called: ConversationApi#search_agent_status_rollups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7336
+ end
7337
+ return data, status_code, headers
7338
+ end
7339
+
6720
7340
  # Search for canned messages by short_code
6721
7341
  # Search for canned messages by short_code
6722
7342
  # @param search_request [ConversationCannedMessagesSearch] Search request
@@ -7230,6 +7850,81 @@ module UltracartClient
7230
7850
  return data, status_code, headers
7231
7851
  end
7232
7852
 
7853
+ # Update a custom agent status
7854
+ # Update a custom status. Renaming flows through to the Twilio Activity.
7855
+ # @param conversation_status_uuid [String]
7856
+ # @param status_config [ConversationAgentStatusConfig] Status config
7857
+ # @param [Hash] opts the optional parameters
7858
+ # @return [ConversationAgentStatusConfigResponse]
7859
+ def update_agent_status_config(conversation_status_uuid, status_config, opts = {})
7860
+ data, _status_code, _headers = update_agent_status_config_with_http_info(conversation_status_uuid, status_config, opts)
7861
+ data
7862
+ end
7863
+
7864
+ # Update a custom agent status
7865
+ # Update a custom status. Renaming flows through to the Twilio Activity.
7866
+ # @param conversation_status_uuid [String]
7867
+ # @param status_config [ConversationAgentStatusConfig] Status config
7868
+ # @param [Hash] opts the optional parameters
7869
+ # @return [Array<(ConversationAgentStatusConfigResponse, Integer, Hash)>] ConversationAgentStatusConfigResponse data, response status code and response headers
7870
+ def update_agent_status_config_with_http_info(conversation_status_uuid, status_config, opts = {})
7871
+ if @api_client.config.debugging
7872
+ @api_client.config.logger.debug 'Calling API: ConversationApi.update_agent_status_config ...'
7873
+ end
7874
+ # verify the required parameter 'conversation_status_uuid' is set
7875
+ if @api_client.config.client_side_validation && conversation_status_uuid.nil?
7876
+ fail ArgumentError, "Missing the required parameter 'conversation_status_uuid' when calling ConversationApi.update_agent_status_config"
7877
+ end
7878
+ # verify the required parameter 'status_config' is set
7879
+ if @api_client.config.client_side_validation && status_config.nil?
7880
+ fail ArgumentError, "Missing the required parameter 'status_config' when calling ConversationApi.update_agent_status_config"
7881
+ end
7882
+ # resource path
7883
+ local_var_path = '/conversation/agent/status/config/{conversation_status_uuid}'.sub('{' + 'conversation_status_uuid' + '}', CGI.escape(conversation_status_uuid.to_s))
7884
+
7885
+ # query parameters
7886
+ query_params = opts[:query_params] || {}
7887
+
7888
+ # header parameters
7889
+ header_params = opts[:header_params] || {}
7890
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
7891
+ # HTTP header 'Accept' (if needed)
7892
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
7893
+ # HTTP header 'Content-Type'
7894
+ content_type = @api_client.select_header_content_type(['application/json'])
7895
+ if !content_type.nil?
7896
+ header_params['Content-Type'] = content_type
7897
+ end
7898
+
7899
+ # form parameters
7900
+ form_params = opts[:form_params] || {}
7901
+
7902
+ # http body (model)
7903
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(status_config)
7904
+
7905
+ # return_type
7906
+ return_type = opts[:debug_return_type] || 'ConversationAgentStatusConfigResponse'
7907
+
7908
+ # auth_names
7909
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
7910
+
7911
+ new_options = opts.merge(
7912
+ :operation => :"ConversationApi.update_agent_status_config",
7913
+ :header_params => header_params,
7914
+ :query_params => query_params,
7915
+ :form_params => form_params,
7916
+ :body => post_body,
7917
+ :auth_names => auth_names,
7918
+ :return_type => return_type
7919
+ )
7920
+
7921
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
7922
+ if @api_client.config.debugging
7923
+ @api_client.config.logger.debug "API called: ConversationApi#update_agent_status_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
7924
+ end
7925
+ return data, status_code, headers
7926
+ end
7927
+
7233
7928
  # Update a canned message
7234
7929
  # Update a canned message
7235
7930
  # @param conversation_canned_message_oid [Integer]
@@ -7830,6 +8525,75 @@ module UltracartClient
7830
8525
  return data, status_code, headers
7831
8526
  end
7832
8527
 
8528
+ # Set the merchant default timezone
8529
+ # Persists the IANA timezone on the Config#<merchant_id>/default DDB record (creates on first PUT).
8530
+ # @param timezone_update [ConversationPbxDefaultTimezoneUpdateRequest] Timezone update
8531
+ # @param [Hash] opts the optional parameters
8532
+ # @return [ConversationPbxDefaultTimezoneResponse]
8533
+ def update_pbx_default_timezone(timezone_update, opts = {})
8534
+ data, _status_code, _headers = update_pbx_default_timezone_with_http_info(timezone_update, opts)
8535
+ data
8536
+ end
8537
+
8538
+ # Set the merchant default timezone
8539
+ # Persists the IANA timezone on the Config#&lt;merchant_id&gt;/default DDB record (creates on first PUT).
8540
+ # @param timezone_update [ConversationPbxDefaultTimezoneUpdateRequest] Timezone update
8541
+ # @param [Hash] opts the optional parameters
8542
+ # @return [Array<(ConversationPbxDefaultTimezoneResponse, Integer, Hash)>] ConversationPbxDefaultTimezoneResponse data, response status code and response headers
8543
+ def update_pbx_default_timezone_with_http_info(timezone_update, opts = {})
8544
+ if @api_client.config.debugging
8545
+ @api_client.config.logger.debug 'Calling API: ConversationApi.update_pbx_default_timezone ...'
8546
+ end
8547
+ # verify the required parameter 'timezone_update' is set
8548
+ if @api_client.config.client_side_validation && timezone_update.nil?
8549
+ fail ArgumentError, "Missing the required parameter 'timezone_update' when calling ConversationApi.update_pbx_default_timezone"
8550
+ end
8551
+ # resource path
8552
+ local_var_path = '/conversation/pbx/config/default-timezone'
8553
+
8554
+ # query parameters
8555
+ query_params = opts[:query_params] || {}
8556
+
8557
+ # header parameters
8558
+ header_params = opts[:header_params] || {}
8559
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
8560
+ # HTTP header 'Accept' (if needed)
8561
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
8562
+ # HTTP header 'Content-Type'
8563
+ content_type = @api_client.select_header_content_type(['application/json'])
8564
+ if !content_type.nil?
8565
+ header_params['Content-Type'] = content_type
8566
+ end
8567
+
8568
+ # form parameters
8569
+ form_params = opts[:form_params] || {}
8570
+
8571
+ # http body (model)
8572
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(timezone_update)
8573
+
8574
+ # return_type
8575
+ return_type = opts[:debug_return_type] || 'ConversationPbxDefaultTimezoneResponse'
8576
+
8577
+ # auth_names
8578
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
8579
+
8580
+ new_options = opts.merge(
8581
+ :operation => :"ConversationApi.update_pbx_default_timezone",
8582
+ :header_params => header_params,
8583
+ :query_params => query_params,
8584
+ :form_params => form_params,
8585
+ :body => post_body,
8586
+ :auth_names => auth_names,
8587
+ :return_type => return_type
8588
+ )
8589
+
8590
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
8591
+ if @api_client.config.debugging
8592
+ @api_client.config.logger.debug "API called: ConversationApi#update_pbx_default_timezone\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
8593
+ end
8594
+ return data, status_code, headers
8595
+ end
8596
+
7833
8597
  # Update pbx hardware phone
7834
8598
  # Update a pbx hardware phone
7835
8599
  # @param conversation_pbx_hardware_phone_uuid [String]