activitysmith 1.14.0 → 1.15.0
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.
- checksums.yaml +4 -4
- data/README.md +7 -5
- data/generated/activitysmith_openapi/api/app_icon_badges_api.rb +4 -4
- data/generated/activitysmith_openapi/api/devices_api.rb +100 -0
- data/generated/activitysmith_openapi/api/live_activities_api.rb +2 -2
- data/generated/activitysmith_openapi/api/metrics_api.rb +87 -4
- data/generated/activitysmith_openapi/api/push_notifications_api.rb +67 -0
- data/generated/activitysmith_openapi/models/account_device.rb +367 -0
- data/generated/activitysmith_openapi/models/account_device_list_response.rb +239 -0
- data/generated/activitysmith_openapi/models/account_device_list_response_meta.rb +299 -0
- data/generated/activitysmith_openapi/models/app_icon_badge_count_update_response.rb +1 -1
- data/generated/activitysmith_openapi/models/live_activity_stream_delete_response.rb +12 -1
- data/generated/activitysmith_openapi/models/metric.rb +411 -0
- data/generated/activitysmith_openapi/models/metric_response.rb +221 -0
- data/generated/activitysmith_openapi/models/metric_upsert_request.rb +370 -0
- data/generated/activitysmith_openapi/models/metric_value_update_response.rb +14 -4
- data/generated/activitysmith_openapi/models/no_recipients_error.rb +21 -1
- data/generated/activitysmith_openapi/models/push_notification_dismiss_response.rb +257 -0
- data/generated/activitysmith_openapi/version.rb +1 -1
- data/generated/activitysmith_openapi.rb +8 -0
- data/generated/openapi-source.json +2 -2
- data/lib/activitysmith/client.rb +3 -1
- data/lib/activitysmith/devices.rb +30 -0
- data/lib/activitysmith/metrics.rb +15 -1
- data/lib/activitysmith/notifications.rb +11 -0
- data/lib/activitysmith/version.rb +1 -1
- data/lib/activitysmith.rb +1 -0
- metadata +11 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 38c99467adcdd35937257d15c32365b171875e14dcb67a2a04b13967b625f0ee
|
|
4
|
+
data.tar.gz: cebd4d745dd77c361b4439b73c45134e2f5b5acb4e8730433340cabcf1c35d3e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a28a6af882071fa0a679c193bc733e9d8c7e9fde32b159a148af1e246ba9e6e03770b5ae9f48150f996f2d93f987817684149ddd06047a26145d8a3af58f8365
|
|
7
|
+
data.tar.gz: c782a13c6cc81d2fa85482e4a15e5f6b3f5793b3719e2c32e69df32d840578b38257bf6a7f5c63568d78f2dace13f2f8fb119f9d4a512d79ce4d64897e2dc3dd
|
data/README.md
CHANGED
|
@@ -44,14 +44,14 @@ activitysmith.notifications.send(
|
|
|
44
44
|
|
|
45
45
|

|
|
46
46
|
|
|
47
|
-
Set `icon` to a publicly accessible HTTPS image URL to show a logo or avatar alongside a smaller ActivitySmith app icon. With a custom icon, iOS may omit the subtitle from the notification.
|
|
47
|
+
Set `icon` to a publicly accessible HTTPS image URL to show a logo or avatar alongside a smaller ActivitySmith app icon. Host the image anywhere, such as on your own website or CDN. With a custom icon, iOS may omit the subtitle from the notification.
|
|
48
48
|
|
|
49
49
|
```ruby
|
|
50
50
|
activitysmith.notifications.send(
|
|
51
51
|
{
|
|
52
52
|
title: "MRR just crossed $10,000 🎉",
|
|
53
53
|
message: "Up 18% this month from 31 new subscriptions.",
|
|
54
|
-
icon: "https://
|
|
54
|
+
icon: "https://example.com/icons/stripe.png"
|
|
55
55
|
}
|
|
56
56
|
)
|
|
57
57
|
```
|
|
@@ -651,12 +651,14 @@ String metric values work too.
|
|
|
651
651
|
activitysmith.metrics.update("prod.status", "healthy")
|
|
652
652
|
```
|
|
653
653
|
|
|
654
|
-
## App Icon Badge
|
|
654
|
+
## App Icon Badge
|
|
655
655
|
|
|
656
|
-

|
|
657
657
|
|
|
658
658
|
Show the number you care about on your ActivitySmith app icon. Track MRR, a customer count, a stock price, or any other value you want to keep in view.
|
|
659
659
|
|
|
660
|
+
App Icon Badge requires Push Notifications enabled. On your iPhone, open Settings > ActivitySmith > Notifications and turn on Allow Notifications.
|
|
661
|
+
|
|
660
662
|
### Set or update the badge value
|
|
661
663
|
|
|
662
664
|
```ruby
|
|
@@ -729,7 +731,7 @@ activitysmith.live_activities.update(
|
|
|
729
731
|
|
|
730
732
|
## Channels
|
|
731
733
|
|
|
732
|
-
Use `channels` to target specific team members or devices when sending Push Notifications, Live Activities, or App Icon Badge
|
|
734
|
+
Use `channels` to target specific team members or devices when sending Push Notifications, Live Activities, or App Icon Badge updates. Omit it for account-wide delivery.
|
|
733
735
|
|
|
734
736
|
```ruby
|
|
735
737
|
activitysmith.notifications.send(
|
|
@@ -19,8 +19,8 @@ module OpenapiClient
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
-
# Set App Icon Badge
|
|
23
|
-
# Shows a number on the ActivitySmith app icon.
|
|
22
|
+
# Set App Icon Badge
|
|
23
|
+
# Shows a number on the ActivitySmith app icon. Requires Push Notifications enabled for ActivitySmith on the device.
|
|
24
24
|
# @param app_icon_badge_count_update_request [AppIconBadgeCountUpdateRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [AppIconBadgeCountUpdateResponse]
|
|
@@ -29,8 +29,8 @@ module OpenapiClient
|
|
|
29
29
|
data
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
# Set App Icon Badge
|
|
33
|
-
# Shows a number on the ActivitySmith app icon.
|
|
32
|
+
# Set App Icon Badge
|
|
33
|
+
# Shows a number on the ActivitySmith app icon. Requires Push Notifications enabled for ActivitySmith on the device.
|
|
34
34
|
# @param app_icon_badge_count_update_request [AppIconBadgeCountUpdateRequest]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(AppIconBadgeCountUpdateResponse, Integer, Hash)>] AppIconBadgeCountUpdateResponse data, response status code and response headers
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#ActivitySmith API
|
|
3
|
+
|
|
4
|
+
#Send push notifications and Live Activities to your own devices via a single API key.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.7.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'cgi'
|
|
14
|
+
|
|
15
|
+
module OpenapiClient
|
|
16
|
+
class DevicesApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# List paired devices
|
|
23
|
+
# Lists the iPhones and iPads paired to the account, active devices first. Use it to check that a device is paired before you send, or to find device IDs for Channels. An empty list means no device is paired yet: install the ActivitySmith app from the App Store and sign in. Channel-scoped API keys cannot list devices.
|
|
24
|
+
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @option opts [Integer] :limit Maximum devices to return, 1 to 100. Defaults to 100. (default to 100)
|
|
26
|
+
# @option opts [Integer] :offset Devices to skip. Use meta.next_offset from the previous page. (default to 0)
|
|
27
|
+
# @option opts [Boolean] :include_inactive Include devices that can no longer receive deliveries, such as unpaired phones. (default to false)
|
|
28
|
+
# @return [AccountDeviceListResponse]
|
|
29
|
+
def list_account_devices(opts = {})
|
|
30
|
+
data, _status_code, _headers = list_account_devices_with_http_info(opts)
|
|
31
|
+
data
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# List paired devices
|
|
35
|
+
# Lists the iPhones and iPads paired to the account, active devices first. Use it to check that a device is paired before you send, or to find device IDs for Channels. An empty list means no device is paired yet: install the ActivitySmith app from the App Store and sign in. Channel-scoped API keys cannot list devices.
|
|
36
|
+
# @param [Hash] opts the optional parameters
|
|
37
|
+
# @option opts [Integer] :limit Maximum devices to return, 1 to 100. Defaults to 100. (default to 100)
|
|
38
|
+
# @option opts [Integer] :offset Devices to skip. Use meta.next_offset from the previous page. (default to 0)
|
|
39
|
+
# @option opts [Boolean] :include_inactive Include devices that can no longer receive deliveries, such as unpaired phones. (default to false)
|
|
40
|
+
# @return [Array<(AccountDeviceListResponse, Integer, Hash)>] AccountDeviceListResponse data, response status code and response headers
|
|
41
|
+
def list_account_devices_with_http_info(opts = {})
|
|
42
|
+
if @api_client.config.debugging
|
|
43
|
+
@api_client.config.logger.debug 'Calling API: DevicesApi.list_account_devices ...'
|
|
44
|
+
end
|
|
45
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
|
|
46
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DevicesApi.list_account_devices, must be smaller than or equal to 100.'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
|
|
50
|
+
fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DevicesApi.list_account_devices, must be greater than or equal to 1.'
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
|
|
54
|
+
fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling DevicesApi.list_account_devices, must be greater than or equal to 0.'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# resource path
|
|
58
|
+
local_var_path = '/account/devices'
|
|
59
|
+
|
|
60
|
+
# query parameters
|
|
61
|
+
query_params = opts[:query_params] || {}
|
|
62
|
+
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
|
63
|
+
query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
|
|
64
|
+
query_params[:'include_inactive'] = opts[:'include_inactive'] if !opts[:'include_inactive'].nil?
|
|
65
|
+
|
|
66
|
+
# header parameters
|
|
67
|
+
header_params = opts[:header_params] || {}
|
|
68
|
+
# HTTP header 'Accept' (if needed)
|
|
69
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
70
|
+
|
|
71
|
+
# form parameters
|
|
72
|
+
form_params = opts[:form_params] || {}
|
|
73
|
+
|
|
74
|
+
# http body (model)
|
|
75
|
+
post_body = opts[:debug_body]
|
|
76
|
+
|
|
77
|
+
# return_type
|
|
78
|
+
return_type = opts[:debug_return_type] || 'AccountDeviceListResponse'
|
|
79
|
+
|
|
80
|
+
# auth_names
|
|
81
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
|
|
82
|
+
|
|
83
|
+
new_options = opts.merge(
|
|
84
|
+
:operation => :"DevicesApi.list_account_devices",
|
|
85
|
+
:header_params => header_params,
|
|
86
|
+
:query_params => query_params,
|
|
87
|
+
:form_params => form_params,
|
|
88
|
+
:body => post_body,
|
|
89
|
+
:auth_names => auth_names,
|
|
90
|
+
:return_type => return_type
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
94
|
+
if @api_client.config.debugging
|
|
95
|
+
@api_client.config.logger.debug "API called: DevicesApi#list_account_devices\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
96
|
+
end
|
|
97
|
+
return data, status_code, headers
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
@@ -20,7 +20,7 @@ module OpenapiClient
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# End a Live Activity (legacy manual lifecycle)
|
|
23
|
-
# Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, timer, and value activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, segmented_progress, and value Live Activities.
|
|
23
|
+
# Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, timer, and value activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, segmented_progress, and value Live Activities. Ending a Live Activity that already ended returns 200 with ignored: true and sends nothing to devices, so retries are safe.
|
|
24
24
|
# @param live_activity_end_request [LiveActivityEndRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [LiveActivityEndResponse]
|
|
@@ -30,7 +30,7 @@ module OpenapiClient
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# End a Live Activity (legacy manual lifecycle)
|
|
33
|
-
# Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, timer, and value activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, segmented_progress, and value Live Activities.
|
|
33
|
+
# Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, timer, and value activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, segmented_progress, and value Live Activities. Ending a Live Activity that already ended returns 200 with ignored: true and sends nothing to devices, so retries are safe.
|
|
34
34
|
# @param live_activity_end_request [LiveActivityEndRequest]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(LiveActivityEndResponse, Integer, Hash)>] LiveActivityEndResponse data, response status code and response headers
|
|
@@ -20,8 +20,8 @@ module OpenapiClient
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Update a widget metric value
|
|
23
|
-
# Updates the latest value for a metric displayed in ActivitySmith widgets.
|
|
24
|
-
# @param key [String] Metric key
|
|
23
|
+
# Updates the latest value for a metric displayed in ActivitySmith widgets. If no metric uses the key yet, the first value creates one: the label comes from the key, numeric values get the number format, and text values get the string format. To choose a currency, percent, or unit format, create the metric first with PUT /metrics/{key} or in the web app. A deleted metric is not recreated by new values; the request returns 404 with code metric_deleted. Each account can have up to 100 metrics created through the API. Metric updates have an independent 300-requests-per-minute account allowance. They do not consume the Push Notification, badge, or Live Activity allowances.
|
|
24
|
+
# @param key [String] Metric key. A key that has never been used creates the metric. Lowercase letters, numbers, dots, underscores, and dashes are allowed.
|
|
25
25
|
# @param metric_value_update_request [MetricValueUpdateRequest]
|
|
26
26
|
# @param [Hash] opts the optional parameters
|
|
27
27
|
# @return [MetricValueUpdateResponse]
|
|
@@ -31,8 +31,8 @@ module OpenapiClient
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# Update a widget metric value
|
|
34
|
-
# Updates the latest value for a metric displayed in ActivitySmith widgets.
|
|
35
|
-
# @param key [String] Metric key
|
|
34
|
+
# Updates the latest value for a metric displayed in ActivitySmith widgets. If no metric uses the key yet, the first value creates one: the label comes from the key, numeric values get the number format, and text values get the string format. To choose a currency, percent, or unit format, create the metric first with PUT /metrics/{key} or in the web app. A deleted metric is not recreated by new values; the request returns 404 with code metric_deleted. Each account can have up to 100 metrics created through the API. Metric updates have an independent 300-requests-per-minute account allowance. They do not consume the Push Notification, badge, or Live Activity allowances.
|
|
35
|
+
# @param key [String] Metric key. A key that has never been used creates the metric. Lowercase letters, numbers, dots, underscores, and dashes are allowed.
|
|
36
36
|
# @param metric_value_update_request [MetricValueUpdateRequest]
|
|
37
37
|
# @param [Hash] opts the optional parameters
|
|
38
38
|
# @return [Array<(MetricValueUpdateResponse, Integer, Hash)>] MetricValueUpdateResponse data, response status code and response headers
|
|
@@ -105,5 +105,88 @@ module OpenapiClient
|
|
|
105
105
|
end
|
|
106
106
|
return data, status_code, headers
|
|
107
107
|
end
|
|
108
|
+
|
|
109
|
+
# Create or update a widget metric
|
|
110
|
+
# Creates a metric for widgets, or updates the fields sent for an existing metric. Omitted fields keep their current values, so repeating the same request does not change the metric. Changing between the string format and a numeric format clears the latest value. Shares the metric account allowance of 300 requests per minute and is not a billable metric update.
|
|
111
|
+
# @param key [String] Metric key. Lowercase letters, numbers, dots, underscores, and dashes are allowed.
|
|
112
|
+
# @param [Hash] opts the optional parameters
|
|
113
|
+
# @option opts [MetricUpsertRequest] :metric_upsert_request
|
|
114
|
+
# @return [MetricResponse]
|
|
115
|
+
def upsert_metric(key, opts = {})
|
|
116
|
+
data, _status_code, _headers = upsert_metric_with_http_info(key, opts)
|
|
117
|
+
data
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Create or update a widget metric
|
|
121
|
+
# Creates a metric for widgets, or updates the fields sent for an existing metric. Omitted fields keep their current values, so repeating the same request does not change the metric. Changing between the string format and a numeric format clears the latest value. Shares the metric account allowance of 300 requests per minute and is not a billable metric update.
|
|
122
|
+
# @param key [String] Metric key. Lowercase letters, numbers, dots, underscores, and dashes are allowed.
|
|
123
|
+
# @param [Hash] opts the optional parameters
|
|
124
|
+
# @option opts [MetricUpsertRequest] :metric_upsert_request
|
|
125
|
+
# @return [Array<(MetricResponse, Integer, Hash)>] MetricResponse data, response status code and response headers
|
|
126
|
+
def upsert_metric_with_http_info(key, opts = {})
|
|
127
|
+
if @api_client.config.debugging
|
|
128
|
+
@api_client.config.logger.debug 'Calling API: MetricsApi.upsert_metric ...'
|
|
129
|
+
end
|
|
130
|
+
# verify the required parameter 'key' is set
|
|
131
|
+
if @api_client.config.client_side_validation && key.nil?
|
|
132
|
+
fail ArgumentError, "Missing the required parameter 'key' when calling MetricsApi.upsert_metric"
|
|
133
|
+
end
|
|
134
|
+
if @api_client.config.client_side_validation && key.to_s.length > 64
|
|
135
|
+
fail ArgumentError, 'invalid value for "key" when calling MetricsApi.upsert_metric, the character length must be smaller than or equal to 64.'
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
if @api_client.config.client_side_validation && key.to_s.length < 1
|
|
139
|
+
fail ArgumentError, 'invalid value for "key" when calling MetricsApi.upsert_metric, the character length must be great than or equal to 1.'
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
pattern = Regexp.new(/^[a-z0-9][a-z0-9_.-]{0,63}$/)
|
|
143
|
+
if @api_client.config.client_side_validation && key !~ pattern
|
|
144
|
+
fail ArgumentError, "invalid value for 'key' when calling MetricsApi.upsert_metric, must conform to the pattern #{pattern}."
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# resource path
|
|
148
|
+
local_var_path = '/metrics/{key}'.sub('{' + 'key' + '}', CGI.escape(key.to_s))
|
|
149
|
+
|
|
150
|
+
# query parameters
|
|
151
|
+
query_params = opts[:query_params] || {}
|
|
152
|
+
|
|
153
|
+
# header parameters
|
|
154
|
+
header_params = opts[:header_params] || {}
|
|
155
|
+
# HTTP header 'Accept' (if needed)
|
|
156
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
157
|
+
# HTTP header 'Content-Type'
|
|
158
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
159
|
+
if !content_type.nil?
|
|
160
|
+
header_params['Content-Type'] = content_type
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# form parameters
|
|
164
|
+
form_params = opts[:form_params] || {}
|
|
165
|
+
|
|
166
|
+
# http body (model)
|
|
167
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'metric_upsert_request'])
|
|
168
|
+
|
|
169
|
+
# return_type
|
|
170
|
+
return_type = opts[:debug_return_type] || 'MetricResponse'
|
|
171
|
+
|
|
172
|
+
# auth_names
|
|
173
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
|
|
174
|
+
|
|
175
|
+
new_options = opts.merge(
|
|
176
|
+
:operation => :"MetricsApi.upsert_metric",
|
|
177
|
+
:header_params => header_params,
|
|
178
|
+
:query_params => query_params,
|
|
179
|
+
:form_params => form_params,
|
|
180
|
+
:body => post_body,
|
|
181
|
+
:auth_names => auth_names,
|
|
182
|
+
:return_type => return_type
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
|
|
186
|
+
if @api_client.config.debugging
|
|
187
|
+
@api_client.config.logger.debug "API called: MetricsApi#upsert_metric\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
188
|
+
end
|
|
189
|
+
return data, status_code, headers
|
|
190
|
+
end
|
|
108
191
|
end
|
|
109
192
|
end
|
|
@@ -19,6 +19,73 @@ module OpenapiClient
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
+
# Dismiss a push notification
|
|
23
|
+
# Clears a Push Notification you already sent from the Lock Screen and Notification Center on every device it was sent to, using the `notification_id` from the send response. Notification history keeps it. Devices clear the notification in the background, which can take a moment or wait until the ActivitySmith app next opens. A successful response means the dismissal was recorded, not that every device has cleared it yet. Devices running an ActivitySmith app version before 1.17.0 show a silent notification titled \"Push Notification dismissed\" in its place until the user clears it. Calling this again for the same notification returns the same response and sends nothing. A dismissed notification cannot be replaced.
|
|
24
|
+
# @param notification_id [String] The `notification_id` returned when the Push Notification was sent.
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [PushNotificationDismissResponse]
|
|
27
|
+
def dismiss_push_notification(notification_id, opts = {})
|
|
28
|
+
data, _status_code, _headers = dismiss_push_notification_with_http_info(notification_id, opts)
|
|
29
|
+
data
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Dismiss a push notification
|
|
33
|
+
# Clears a Push Notification you already sent from the Lock Screen and Notification Center on every device it was sent to, using the `notification_id` from the send response. Notification history keeps it. Devices clear the notification in the background, which can take a moment or wait until the ActivitySmith app next opens. A successful response means the dismissal was recorded, not that every device has cleared it yet. Devices running an ActivitySmith app version before 1.17.0 show a silent notification titled \"Push Notification dismissed\" in its place until the user clears it. Calling this again for the same notification returns the same response and sends nothing. A dismissed notification cannot be replaced.
|
|
34
|
+
# @param notification_id [String] The `notification_id` returned when the Push Notification was sent.
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(PushNotificationDismissResponse, Integer, Hash)>] PushNotificationDismissResponse data, response status code and response headers
|
|
37
|
+
def dismiss_push_notification_with_http_info(notification_id, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: PushNotificationsApi.dismiss_push_notification ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'notification_id' is set
|
|
42
|
+
if @api_client.config.client_side_validation && notification_id.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'notification_id' when calling PushNotificationsApi.dismiss_push_notification"
|
|
44
|
+
end
|
|
45
|
+
if @api_client.config.client_side_validation && notification_id.to_s.length < 1
|
|
46
|
+
fail ArgumentError, 'invalid value for "notification_id" when calling PushNotificationsApi.dismiss_push_notification, the character length must be great than or equal to 1.'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# resource path
|
|
50
|
+
local_var_path = '/push-notification/{notification_id}/dismiss'.sub('{' + 'notification_id' + '}', CGI.escape(notification_id.to_s))
|
|
51
|
+
|
|
52
|
+
# query parameters
|
|
53
|
+
query_params = opts[:query_params] || {}
|
|
54
|
+
|
|
55
|
+
# header parameters
|
|
56
|
+
header_params = opts[:header_params] || {}
|
|
57
|
+
# HTTP header 'Accept' (if needed)
|
|
58
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
|
59
|
+
|
|
60
|
+
# form parameters
|
|
61
|
+
form_params = opts[:form_params] || {}
|
|
62
|
+
|
|
63
|
+
# http body (model)
|
|
64
|
+
post_body = opts[:debug_body]
|
|
65
|
+
|
|
66
|
+
# return_type
|
|
67
|
+
return_type = opts[:debug_return_type] || 'PushNotificationDismissResponse'
|
|
68
|
+
|
|
69
|
+
# auth_names
|
|
70
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyAuth']
|
|
71
|
+
|
|
72
|
+
new_options = opts.merge(
|
|
73
|
+
:operation => :"PushNotificationsApi.dismiss_push_notification",
|
|
74
|
+
:header_params => header_params,
|
|
75
|
+
:query_params => query_params,
|
|
76
|
+
:form_params => form_params,
|
|
77
|
+
:body => post_body,
|
|
78
|
+
:auth_names => auth_names,
|
|
79
|
+
:return_type => return_type
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
83
|
+
if @api_client.config.debugging
|
|
84
|
+
@api_client.config.logger.debug "API called: PushNotificationsApi#dismiss_push_notification\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
85
|
+
end
|
|
86
|
+
return data, status_code, headers
|
|
87
|
+
end
|
|
88
|
+
|
|
22
89
|
# Replace a push notification
|
|
23
90
|
# Replaces a Push Notification you already sent, using the `notification_id` from the send response. The replacement takes the original's place on the Lock Screen and in Notification Center instead of appearing as a second notification. It is delivered silently, with no sound or screen wake, to the same recipients as the original. Notification history is updated in place.
|
|
24
91
|
# @param notification_id [String] The `notification_id` returned when the Push Notification was sent.
|