license_manager 0.1.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 +7 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +9 -0
- data/LICENSE +201 -0
- data/README.md +96 -0
- data/Rakefile +10 -0
- data/docs/ConnectStripe.md +18 -0
- data/docs/CreateCustomer.md +20 -0
- data/docs/CreateIntegrationMapping.md +20 -0
- data/docs/CreateLicense.md +36 -0
- data/docs/CreatePolicy.md +30 -0
- data/docs/CreatePortalLink.md +18 -0
- data/docs/CreateProduct.md +20 -0
- data/docs/CreateProductWithPolicy.md +24 -0
- data/docs/CreateRelease.md +20 -0
- data/docs/CreateToken.md +20 -0
- data/docs/Customer.md +30 -0
- data/docs/CustomerList.md +20 -0
- data/docs/CustomersApi.md +385 -0
- data/docs/Error.md +18 -0
- data/docs/ErrorError.md +22 -0
- data/docs/ErrorErrorIssuesInner.md +20 -0
- data/docs/ErrorErrorIssuesInnerPathInner.md +15 -0
- data/docs/Event.md +34 -0
- data/docs/EventActor.md +55 -0
- data/docs/EventActorOneOf.md +26 -0
- data/docs/EventActorOneOf1.md +24 -0
- data/docs/EventActorOneOf2.md +22 -0
- data/docs/EventActorOneOf3.md +18 -0
- data/docs/EventActorOneOf4.md +22 -0
- data/docs/EventList.md +20 -0
- data/docs/EventMachine.md +22 -0
- data/docs/EventType.md +15 -0
- data/docs/EventsApi.md +173 -0
- data/docs/FixedMaxVersion.md +20 -0
- data/docs/Integration.md +38 -0
- data/docs/IntegrationMapping.md +38 -0
- data/docs/IntegrationStatus.md +15 -0
- data/docs/IntegrationsApi.md +587 -0
- data/docs/License.md +50 -0
- data/docs/LicenseList.md +20 -0
- data/docs/LicenseMaxVersion.md +22 -0
- data/docs/LicenseMaxVersionInput.md +22 -0
- data/docs/LicenseStats.md +26 -0
- data/docs/LicenseStatsActivationsByMachineInner.md +24 -0
- data/docs/LicenseStatsActivationsByVersionInner.md +20 -0
- data/docs/LicenseStatus.md +15 -0
- data/docs/LicenseToken.md +18 -0
- data/docs/LicensesApi.md +817 -0
- data/docs/ListPolicyEventsTypeParameter.md +15 -0
- data/docs/ListStripePrices200Response.md +18 -0
- data/docs/LockMaxVersion.md +22 -0
- data/docs/LockMaxVersionMajorAfter.md +49 -0
- data/docs/LockMaxVersionMajorAfterOneOf.md +20 -0
- data/docs/LockMaxVersionMajorAfterOneOf1.md +20 -0
- data/docs/LockMaxVersionMinorAfter.md +20 -0
- data/docs/Machine.md +36 -0
- data/docs/MachineList.md +20 -0
- data/docs/MachinesApi.md +246 -0
- data/docs/Pagination.md +24 -0
- data/docs/PoliciesApi.md +388 -0
- data/docs/Policy.md +40 -0
- data/docs/PolicyDuration.md +20 -0
- data/docs/PolicyList.md +20 -0
- data/docs/PolicyMaxVersion.md +24 -0
- data/docs/PolicySettings.md +24 -0
- data/docs/PolicySettingsDuration.md +20 -0
- data/docs/PolicySettingsDurationAnyOf.md +20 -0
- data/docs/PolicySettingsDurationAnyOf1.md +20 -0
- data/docs/PolicySettingsMaxVersion.md +24 -0
- data/docs/Portal.md +30 -0
- data/docs/PortalApi.md +289 -0
- data/docs/PortalLink.md +22 -0
- data/docs/PortalNotFound.md +22 -0
- data/docs/PortalSettings.md +26 -0
- data/docs/Price.md +20 -0
- data/docs/PriceInput.md +20 -0
- data/docs/Product.md +32 -0
- data/docs/ProductList.md +20 -0
- data/docs/ProductStats.md +54 -0
- data/docs/ProductStatsActivationsByVersionInner.md +20 -0
- data/docs/ProductStatsActiveMachinesByPlatformInner.md +20 -0
- data/docs/ProductStatsActiveMachinesByVersionInner.md +20 -0
- data/docs/ProductStatsNewLicensesByPolicyInner.md +22 -0
- data/docs/ProductsApi.md +666 -0
- data/docs/Release.md +28 -0
- data/docs/ReleaseList.md +20 -0
- data/docs/ReleasesApi.md +388 -0
- data/docs/RequestPortalLink.md +20 -0
- data/docs/Revenue.md +34 -0
- data/docs/SendLicenseKeys.md +18 -0
- data/docs/SendPortalLink.md +18 -0
- data/docs/SigningKey.md +27 -0
- data/docs/StripeIntegration.md +26 -0
- data/docs/StripePermission.md +22 -0
- data/docs/StripePrice.md +28 -0
- data/docs/Token.md +24 -0
- data/docs/TokensApi.md +235 -0
- data/docs/UpdateCustomer.md +20 -0
- data/docs/UpdateIntegrationMapping.md +18 -0
- data/docs/UpdateLicense.md +28 -0
- data/docs/UpdatePolicy.md +30 -0
- data/docs/UpdateProduct.md +22 -0
- data/docs/UpdateProductPortal.md +26 -0
- data/docs/UpdateRelease.md +20 -0
- data/docs/ValidateKey.md +26 -0
- data/docs/ValidateKeyError.md +18 -0
- data/docs/ValidateKeyErrorError.md +24 -0
- data/git_push.sh +54 -0
- data/lib/license_manager/api/customers_api.rb +398 -0
- data/lib/license_manager/api/events_api.rb +207 -0
- data/lib/license_manager/api/integrations_api.rb +559 -0
- data/lib/license_manager/api/licenses_api.rb +885 -0
- data/lib/license_manager/api/machines_api.rb +257 -0
- data/lib/license_manager/api/policies_api.rb +412 -0
- data/lib/license_manager/api/portal_api.rb +310 -0
- data/lib/license_manager/api/products_api.rb +653 -0
- data/lib/license_manager/api/releases_api.rb +408 -0
- data/lib/license_manager/api/tokens_api.rb +244 -0
- data/lib/license_manager/api_client.rb +441 -0
- data/lib/license_manager/api_error.rb +58 -0
- data/lib/license_manager/api_model_base.rb +88 -0
- data/lib/license_manager/configuration.rb +400 -0
- data/lib/license_manager/models/connect_stripe.rb +187 -0
- data/lib/license_manager/models/create_customer.rb +222 -0
- data/lib/license_manager/models/create_integration_mapping.rb +222 -0
- data/lib/license_manager/models/create_license.rb +361 -0
- data/lib/license_manager/models/create_policy.rb +347 -0
- data/lib/license_manager/models/create_portal_link.rb +196 -0
- data/lib/license_manager/models/create_product.rb +244 -0
- data/lib/license_manager/models/create_product_with_policy.rb +270 -0
- data/lib/license_manager/models/create_release.rb +208 -0
- data/lib/license_manager/models/create_token.rb +237 -0
- data/lib/license_manager/models/customer.rb +308 -0
- data/lib/license_manager/models/customer_list.rb +206 -0
- data/lib/license_manager/models/error.rb +177 -0
- data/lib/license_manager/models/error_error.rb +215 -0
- data/lib/license_manager/models/error_error_issues_inner.rb +205 -0
- data/lib/license_manager/models/error_error_issues_inner_path_inner.rb +103 -0
- data/lib/license_manager/models/event.rb +340 -0
- data/lib/license_manager/models/event_actor.rb +108 -0
- data/lib/license_manager/models/event_actor_one_of.rb +251 -0
- data/lib/license_manager/models/event_actor_one_of1.rb +239 -0
- data/lib/license_manager/models/event_actor_one_of2.rb +257 -0
- data/lib/license_manager/models/event_actor_one_of3.rb +201 -0
- data/lib/license_manager/models/event_actor_one_of4.rb +243 -0
- data/lib/license_manager/models/event_list.rb +206 -0
- data/lib/license_manager/models/event_machine.rb +216 -0
- data/lib/license_manager/models/event_type.rb +46 -0
- data/lib/license_manager/models/fixed_max_version.rb +240 -0
- data/lib/license_manager/models/integration.rb +412 -0
- data/lib/license_manager/models/integration_mapping.rb +435 -0
- data/lib/license_manager/models/integration_status.rb +42 -0
- data/lib/license_manager/models/license.rb +542 -0
- data/lib/license_manager/models/license_list.rb +206 -0
- data/lib/license_manager/models/license_max_version.rb +208 -0
- data/lib/license_manager/models/license_max_version_input.rb +202 -0
- data/lib/license_manager/models/license_stats.rb +292 -0
- data/lib/license_manager/models/license_stats_activations_by_machine_inner.rb +244 -0
- data/lib/license_manager/models/license_stats_activations_by_version_inner.rb +206 -0
- data/lib/license_manager/models/license_status.rb +42 -0
- data/lib/license_manager/models/license_token.rb +178 -0
- data/lib/license_manager/models/list_policy_events_type_parameter.rb +104 -0
- data/lib/license_manager/models/list_stripe_prices200_response.rb +179 -0
- data/lib/license_manager/models/lock_max_version.rb +240 -0
- data/lib/license_manager/models/lock_max_version_major_after.rb +105 -0
- data/lib/license_manager/models/lock_max_version_major_after_one_of.rb +245 -0
- data/lib/license_manager/models/lock_max_version_major_after_one_of1.rb +246 -0
- data/lib/license_manager/models/lock_max_version_minor_after.rb +104 -0
- data/lib/license_manager/models/machine.rb +383 -0
- data/lib/license_manager/models/machine_list.rb +206 -0
- data/lib/license_manager/models/pagination.rb +260 -0
- data/lib/license_manager/models/policy.rb +425 -0
- data/lib/license_manager/models/policy_duration.rb +104 -0
- data/lib/license_manager/models/policy_list.rb +206 -0
- data/lib/license_manager/models/policy_max_version.rb +104 -0
- data/lib/license_manager/models/policy_settings.rb +244 -0
- data/lib/license_manager/models/policy_settings_duration.rb +104 -0
- data/lib/license_manager/models/policy_settings_duration_any_of.rb +245 -0
- data/lib/license_manager/models/policy_settings_duration_any_of1.rb +246 -0
- data/lib/license_manager/models/policy_settings_max_version.rb +104 -0
- data/lib/license_manager/models/portal.rb +281 -0
- data/lib/license_manager/models/portal_link.rb +232 -0
- data/lib/license_manager/models/portal_not_found.rb +204 -0
- data/lib/license_manager/models/portal_settings.rb +304 -0
- data/lib/license_manager/models/price.rb +206 -0
- data/lib/license_manager/models/price_input.rb +224 -0
- data/lib/license_manager/models/product.rb +333 -0
- data/lib/license_manager/models/product_list.rb +206 -0
- data/lib/license_manager/models/product_stats.rb +682 -0
- data/lib/license_manager/models/product_stats_activations_by_version_inner.rb +193 -0
- data/lib/license_manager/models/product_stats_active_machines_by_platform_inner.rb +190 -0
- data/lib/license_manager/models/product_stats_active_machines_by_version_inner.rb +190 -0
- data/lib/license_manager/models/product_stats_new_licenses_by_policy_inner.rb +235 -0
- data/lib/license_manager/models/release.rb +308 -0
- data/lib/license_manager/models/release_list.rb +206 -0
- data/lib/license_manager/models/request_portal_link.rb +216 -0
- data/lib/license_manager/models/revenue.rb +401 -0
- data/lib/license_manager/models/send_license_keys.rb +198 -0
- data/lib/license_manager/models/send_portal_link.rb +187 -0
- data/lib/license_manager/models/signing_key.rb +282 -0
- data/lib/license_manager/models/stripe_integration.rb +276 -0
- data/lib/license_manager/models/stripe_permission.rb +253 -0
- data/lib/license_manager/models/stripe_price.rb +280 -0
- data/lib/license_manager/models/token.rb +274 -0
- data/lib/license_manager/models/update_customer.rb +215 -0
- data/lib/license_manager/models/update_integration_mapping.rb +186 -0
- data/lib/license_manager/models/update_license.rb +268 -0
- data/lib/license_manager/models/update_policy.rb +340 -0
- data/lib/license_manager/models/update_product.rb +246 -0
- data/lib/license_manager/models/update_product_portal.rb +274 -0
- data/lib/license_manager/models/update_release.rb +201 -0
- data/lib/license_manager/models/validate_key.rb +362 -0
- data/lib/license_manager/models/validate_key_error.rb +177 -0
- data/lib/license_manager/models/validate_key_error_error.rb +226 -0
- data/lib/license_manager/version.rb +15 -0
- data/lib/license_manager.rb +142 -0
- data/license_manager.gemspec +41 -0
- data/openapi.json +9825 -0
- data/spec/api/customers_api_spec.rb +102 -0
- data/spec/api/events_api_spec.rb +68 -0
- data/spec/api/integrations_api_spec.rb +134 -0
- data/spec/api/licenses_api_spec.rb +200 -0
- data/spec/api/machines_api_spec.rb +77 -0
- data/spec/api/policies_api_spec.rb +105 -0
- data/spec/api/portal_api_spec.rb +87 -0
- data/spec/api/products_api_spec.rb +148 -0
- data/spec/api/releases_api_spec.rb +105 -0
- data/spec/api/tokens_api_spec.rb +74 -0
- data/spec/models/connect_stripe_spec.rb +36 -0
- data/spec/models/create_customer_spec.rb +42 -0
- data/spec/models/create_integration_mapping_spec.rb +42 -0
- data/spec/models/create_license_spec.rb +90 -0
- data/spec/models/create_policy_spec.rb +72 -0
- data/spec/models/create_portal_link_spec.rb +36 -0
- data/spec/models/create_product_spec.rb +42 -0
- data/spec/models/create_product_with_policy_spec.rb +54 -0
- data/spec/models/create_release_spec.rb +42 -0
- data/spec/models/create_token_spec.rb +46 -0
- data/spec/models/customer_list_spec.rb +42 -0
- data/spec/models/customer_spec.rb +72 -0
- data/spec/models/error_error_issues_inner_path_inner_spec.rb +21 -0
- data/spec/models/error_error_issues_inner_spec.rb +42 -0
- data/spec/models/error_error_spec.rb +48 -0
- data/spec/models/error_spec.rb +36 -0
- data/spec/models/event_actor_one_of1_spec.rb +58 -0
- data/spec/models/event_actor_one_of2_spec.rb +56 -0
- data/spec/models/event_actor_one_of3_spec.rb +40 -0
- data/spec/models/event_actor_one_of4_spec.rb +56 -0
- data/spec/models/event_actor_one_of_spec.rb +64 -0
- data/spec/models/event_actor_spec.rb +32 -0
- data/spec/models/event_list_spec.rb +42 -0
- data/spec/models/event_machine_spec.rb +48 -0
- data/spec/models/event_spec.rb +84 -0
- data/spec/models/event_type_spec.rb +30 -0
- data/spec/models/fixed_max_version_spec.rb +46 -0
- data/spec/models/integration_mapping_spec.rb +100 -0
- data/spec/models/integration_spec.rb +100 -0
- data/spec/models/integration_status_spec.rb +30 -0
- data/spec/models/license_list_spec.rb +42 -0
- data/spec/models/license_max_version_input_spec.rb +48 -0
- data/spec/models/license_max_version_spec.rb +48 -0
- data/spec/models/license_spec.rb +132 -0
- data/spec/models/license_stats_activations_by_machine_inner_spec.rb +54 -0
- data/spec/models/license_stats_activations_by_version_inner_spec.rb +42 -0
- data/spec/models/license_stats_spec.rb +60 -0
- data/spec/models/license_status_spec.rb +30 -0
- data/spec/models/license_token_spec.rb +36 -0
- data/spec/models/list_policy_events_type_parameter_spec.rb +21 -0
- data/spec/models/list_stripe_prices200_response_spec.rb +36 -0
- data/spec/models/lock_max_version_major_after_one_of1_spec.rb +46 -0
- data/spec/models/lock_max_version_major_after_one_of_spec.rb +46 -0
- data/spec/models/lock_max_version_major_after_spec.rb +32 -0
- data/spec/models/lock_max_version_minor_after_spec.rb +21 -0
- data/spec/models/lock_max_version_spec.rb +52 -0
- data/spec/models/machine_list_spec.rb +42 -0
- data/spec/models/machine_spec.rb +94 -0
- data/spec/models/pagination_spec.rb +54 -0
- data/spec/models/policy_duration_spec.rb +21 -0
- data/spec/models/policy_list_spec.rb +42 -0
- data/spec/models/policy_max_version_spec.rb +21 -0
- data/spec/models/policy_settings_duration_any_of1_spec.rb +46 -0
- data/spec/models/policy_settings_duration_any_of_spec.rb +46 -0
- data/spec/models/policy_settings_duration_spec.rb +21 -0
- data/spec/models/policy_settings_max_version_spec.rb +21 -0
- data/spec/models/policy_settings_spec.rb +54 -0
- data/spec/models/policy_spec.rb +102 -0
- data/spec/models/portal_link_spec.rb +48 -0
- data/spec/models/portal_not_found_spec.rb +48 -0
- data/spec/models/portal_settings_spec.rb +60 -0
- data/spec/models/portal_spec.rb +72 -0
- data/spec/models/price_input_spec.rb +42 -0
- data/spec/models/price_spec.rb +42 -0
- data/spec/models/product_list_spec.rb +42 -0
- data/spec/models/product_spec.rb +78 -0
- data/spec/models/product_stats_activations_by_version_inner_spec.rb +42 -0
- data/spec/models/product_stats_active_machines_by_platform_inner_spec.rb +42 -0
- data/spec/models/product_stats_active_machines_by_version_inner_spec.rb +42 -0
- data/spec/models/product_stats_new_licenses_by_policy_inner_spec.rb +48 -0
- data/spec/models/product_stats_spec.rb +144 -0
- data/spec/models/release_list_spec.rb +42 -0
- data/spec/models/release_spec.rb +66 -0
- data/spec/models/request_portal_link_spec.rb +42 -0
- data/spec/models/revenue_spec.rb +84 -0
- data/spec/models/send_license_keys_spec.rb +36 -0
- data/spec/models/send_portal_link_spec.rb +36 -0
- data/spec/models/signing_key_spec.rb +58 -0
- data/spec/models/stripe_integration_spec.rb +60 -0
- data/spec/models/stripe_permission_spec.rb +52 -0
- data/spec/models/stripe_price_spec.rb +66 -0
- data/spec/models/token_spec.rb +62 -0
- data/spec/models/update_customer_spec.rb +42 -0
- data/spec/models/update_integration_mapping_spec.rb +36 -0
- data/spec/models/update_license_spec.rb +66 -0
- data/spec/models/update_policy_spec.rb +72 -0
- data/spec/models/update_product_portal_spec.rb +60 -0
- data/spec/models/update_product_spec.rb +48 -0
- data/spec/models/update_release_spec.rb +42 -0
- data/spec/models/validate_key_error_error_spec.rb +54 -0
- data/spec/models/validate_key_error_spec.rb +36 -0
- data/spec/models/validate_key_spec.rb +60 -0
- data/spec/spec_helper.rb +111 -0
- metadata +532 -0
data/docs/PortalApi.md
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# LicenseManager::PortalApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://api.licensemanager.dev*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
| ------ | ------------ | ----------- |
|
|
7
|
+
| [**create_portal_link**](PortalApi.md#create_portal_link) | **POST** /v1/customers/{id}/portal-links | Create a link to the customer portal |
|
|
8
|
+
| [**get_portal**](PortalApi.md#get_portal) | **GET** /v1/portal/{productId} | Get the customer portal of a product |
|
|
9
|
+
| [**request_portal_link**](PortalApi.md#request_portal_link) | **POST** /v1/portal/{productId}/request-link | Email a link to the customer portal |
|
|
10
|
+
| [**send_portal_link**](PortalApi.md#send_portal_link) | **POST** /v1/customers/{id}/portal-links/send | Email a link to the customer portal to the customer |
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## create_portal_link
|
|
14
|
+
|
|
15
|
+
> <PortalLink> create_portal_link(id, create_portal_link)
|
|
16
|
+
|
|
17
|
+
Create a link to the customer portal
|
|
18
|
+
|
|
19
|
+
Link letting the customer see their licenses and deactivate their machines in the customer portal, without signing in. Anyone with the link can, until it expires or the customer is deleted: it can't be revoked otherwise. The token also works with the API endpoints that accept customer tokens. Links can be created while the product's customer portal is disabled, but the portal answers `404` until it's enabled, and `sendPortalLink` refuses to email them. **Required role permission**: `portalLink:create` when called with a session, granted by the member's role. API keys aren't limited by roles.
|
|
20
|
+
|
|
21
|
+
### Examples
|
|
22
|
+
|
|
23
|
+
```ruby
|
|
24
|
+
require 'time'
|
|
25
|
+
require 'license_manager'
|
|
26
|
+
# setup authorization
|
|
27
|
+
LicenseManager.configure do |config|
|
|
28
|
+
# Configure API key authorization: apiKey
|
|
29
|
+
config.api_key['x-api-key'] = 'YOUR API KEY'
|
|
30
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
31
|
+
# config.api_key_prefix['x-api-key'] = 'Bearer'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
api_instance = LicenseManager::PortalApi.new
|
|
35
|
+
id = 'c9Wd3RtE' # String |
|
|
36
|
+
create_portal_link = LicenseManager::CreatePortalLink.new({expires_in_seconds: 604800}) # CreatePortalLink |
|
|
37
|
+
|
|
38
|
+
begin
|
|
39
|
+
# Create a link to the customer portal
|
|
40
|
+
result = api_instance.create_portal_link(id, create_portal_link)
|
|
41
|
+
p result
|
|
42
|
+
rescue LicenseManager::ApiError => e
|
|
43
|
+
puts "Error when calling PortalApi->create_portal_link: #{e}"
|
|
44
|
+
end
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Using the create_portal_link_with_http_info variant
|
|
48
|
+
|
|
49
|
+
This returns an Array which contains the response data, status code and headers.
|
|
50
|
+
|
|
51
|
+
> <Array(<PortalLink>, Integer, Hash)> create_portal_link_with_http_info(id, create_portal_link)
|
|
52
|
+
|
|
53
|
+
```ruby
|
|
54
|
+
begin
|
|
55
|
+
# Create a link to the customer portal
|
|
56
|
+
data, status_code, headers = api_instance.create_portal_link_with_http_info(id, create_portal_link)
|
|
57
|
+
p status_code # => 2xx
|
|
58
|
+
p headers # => { ... }
|
|
59
|
+
p data # => <PortalLink>
|
|
60
|
+
rescue LicenseManager::ApiError => e
|
|
61
|
+
puts "Error when calling PortalApi->create_portal_link_with_http_info: #{e}"
|
|
62
|
+
end
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Parameters
|
|
66
|
+
|
|
67
|
+
| Name | Type | Description | Notes |
|
|
68
|
+
| ---- | ---- | ----------- | ----- |
|
|
69
|
+
| **id** | **String** | | |
|
|
70
|
+
| **create_portal_link** | [**CreatePortalLink**](CreatePortalLink.md) | | |
|
|
71
|
+
|
|
72
|
+
### Return type
|
|
73
|
+
|
|
74
|
+
[**PortalLink**](PortalLink.md)
|
|
75
|
+
|
|
76
|
+
### Authorization
|
|
77
|
+
|
|
78
|
+
[apiKey](../README.md#apiKey)
|
|
79
|
+
|
|
80
|
+
### HTTP request headers
|
|
81
|
+
|
|
82
|
+
- **Content-Type**: application/json
|
|
83
|
+
- **Accept**: application/json
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## get_portal
|
|
87
|
+
|
|
88
|
+
> <Portal> get_portal(product_id, opts)
|
|
89
|
+
|
|
90
|
+
Get the customer portal of a product
|
|
91
|
+
|
|
92
|
+
Names of the product and of its organization, colors of the customer portal, and link back to the product's website. Answers `404` when the product's customer portal is disabled: with the `portal_disabled` code and the slugs of the product and its organization when signed in as a member of the organization, so they can enable it. Doesn't need authentication.
|
|
93
|
+
|
|
94
|
+
### Examples
|
|
95
|
+
|
|
96
|
+
```ruby
|
|
97
|
+
require 'time'
|
|
98
|
+
require 'license_manager'
|
|
99
|
+
|
|
100
|
+
api_instance = LicenseManager::PortalApi.new
|
|
101
|
+
product_id = 'x7Kp2QaZ' # String |
|
|
102
|
+
opts = {
|
|
103
|
+
return_url: 'https://example.com/account' # String | Link back to your website to show, used when its domain is one of the product's `returnDomains`.
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
begin
|
|
107
|
+
# Get the customer portal of a product
|
|
108
|
+
result = api_instance.get_portal(product_id, opts)
|
|
109
|
+
p result
|
|
110
|
+
rescue LicenseManager::ApiError => e
|
|
111
|
+
puts "Error when calling PortalApi->get_portal: #{e}"
|
|
112
|
+
end
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### Using the get_portal_with_http_info variant
|
|
116
|
+
|
|
117
|
+
This returns an Array which contains the response data, status code and headers.
|
|
118
|
+
|
|
119
|
+
> <Array(<Portal>, Integer, Hash)> get_portal_with_http_info(product_id, opts)
|
|
120
|
+
|
|
121
|
+
```ruby
|
|
122
|
+
begin
|
|
123
|
+
# Get the customer portal of a product
|
|
124
|
+
data, status_code, headers = api_instance.get_portal_with_http_info(product_id, opts)
|
|
125
|
+
p status_code # => 2xx
|
|
126
|
+
p headers # => { ... }
|
|
127
|
+
p data # => <Portal>
|
|
128
|
+
rescue LicenseManager::ApiError => e
|
|
129
|
+
puts "Error when calling PortalApi->get_portal_with_http_info: #{e}"
|
|
130
|
+
end
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Parameters
|
|
134
|
+
|
|
135
|
+
| Name | Type | Description | Notes |
|
|
136
|
+
| ---- | ---- | ----------- | ----- |
|
|
137
|
+
| **product_id** | **String** | | |
|
|
138
|
+
| **return_url** | **String** | Link back to your website to show, used when its domain is one of the product's `returnDomains`. | [optional] |
|
|
139
|
+
|
|
140
|
+
### Return type
|
|
141
|
+
|
|
142
|
+
[**Portal**](Portal.md)
|
|
143
|
+
|
|
144
|
+
### Authorization
|
|
145
|
+
|
|
146
|
+
No authorization required
|
|
147
|
+
|
|
148
|
+
### HTTP request headers
|
|
149
|
+
|
|
150
|
+
- **Content-Type**: Not defined
|
|
151
|
+
- **Accept**: application/json
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
## request_portal_link
|
|
155
|
+
|
|
156
|
+
> request_portal_link(product_id, request_portal_link)
|
|
157
|
+
|
|
158
|
+
Email a link to the customer portal
|
|
159
|
+
|
|
160
|
+
Emails the customer of the product with this email a link to the customer portal, working for 1 hour. Answers `404` when the product's customer portal is disabled. Answers the same whether the customer exists or not, so the API doesn't tell which emails are customers. Test products only email the members of the organization: the link isn't sent to other customers, with the same answer. Doesn't need authentication.
|
|
161
|
+
|
|
162
|
+
### Examples
|
|
163
|
+
|
|
164
|
+
```ruby
|
|
165
|
+
require 'time'
|
|
166
|
+
require 'license_manager'
|
|
167
|
+
|
|
168
|
+
api_instance = LicenseManager::PortalApi.new
|
|
169
|
+
product_id = 'x7Kp2QaZ' # String |
|
|
170
|
+
request_portal_link = LicenseManager::RequestPortalLink.new({email: 'jane@example.com'}) # RequestPortalLink |
|
|
171
|
+
|
|
172
|
+
begin
|
|
173
|
+
# Email a link to the customer portal
|
|
174
|
+
api_instance.request_portal_link(product_id, request_portal_link)
|
|
175
|
+
rescue LicenseManager::ApiError => e
|
|
176
|
+
puts "Error when calling PortalApi->request_portal_link: #{e}"
|
|
177
|
+
end
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Using the request_portal_link_with_http_info variant
|
|
181
|
+
|
|
182
|
+
This returns an Array which contains the response data (`nil` in this case), status code and headers.
|
|
183
|
+
|
|
184
|
+
> <Array(nil, Integer, Hash)> request_portal_link_with_http_info(product_id, request_portal_link)
|
|
185
|
+
|
|
186
|
+
```ruby
|
|
187
|
+
begin
|
|
188
|
+
# Email a link to the customer portal
|
|
189
|
+
data, status_code, headers = api_instance.request_portal_link_with_http_info(product_id, request_portal_link)
|
|
190
|
+
p status_code # => 2xx
|
|
191
|
+
p headers # => { ... }
|
|
192
|
+
p data # => nil
|
|
193
|
+
rescue LicenseManager::ApiError => e
|
|
194
|
+
puts "Error when calling PortalApi->request_portal_link_with_http_info: #{e}"
|
|
195
|
+
end
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Parameters
|
|
199
|
+
|
|
200
|
+
| Name | Type | Description | Notes |
|
|
201
|
+
| ---- | ---- | ----------- | ----- |
|
|
202
|
+
| **product_id** | **String** | | |
|
|
203
|
+
| **request_portal_link** | [**RequestPortalLink**](RequestPortalLink.md) | | |
|
|
204
|
+
|
|
205
|
+
### Return type
|
|
206
|
+
|
|
207
|
+
nil (empty response body)
|
|
208
|
+
|
|
209
|
+
### Authorization
|
|
210
|
+
|
|
211
|
+
No authorization required
|
|
212
|
+
|
|
213
|
+
### HTTP request headers
|
|
214
|
+
|
|
215
|
+
- **Content-Type**: application/json
|
|
216
|
+
- **Accept**: application/json
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
## send_portal_link
|
|
220
|
+
|
|
221
|
+
> send_portal_link(id, send_portal_link)
|
|
222
|
+
|
|
223
|
+
Email a link to the customer portal to the customer
|
|
224
|
+
|
|
225
|
+
Emails a link created with `createPortalLink` to the customer's email. Fails while the product's customer portal is disabled, and, in test products, when the customer's email isn't a member's of the organization: test products only email members, so testing never emails real customers. **Required role permission**: `portalLink:create` when called with a session, granted by the member's role. API keys aren't limited by roles.
|
|
226
|
+
|
|
227
|
+
### Examples
|
|
228
|
+
|
|
229
|
+
```ruby
|
|
230
|
+
require 'time'
|
|
231
|
+
require 'license_manager'
|
|
232
|
+
# setup authorization
|
|
233
|
+
LicenseManager.configure do |config|
|
|
234
|
+
# Configure API key authorization: apiKey
|
|
235
|
+
config.api_key['x-api-key'] = 'YOUR API KEY'
|
|
236
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
237
|
+
# config.api_key_prefix['x-api-key'] = 'Bearer'
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
api_instance = LicenseManager::PortalApi.new
|
|
241
|
+
id = 'c9Wd3RtE' # String |
|
|
242
|
+
send_portal_link = LicenseManager::SendPortalLink.new({token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…'}) # SendPortalLink |
|
|
243
|
+
|
|
244
|
+
begin
|
|
245
|
+
# Email a link to the customer portal to the customer
|
|
246
|
+
api_instance.send_portal_link(id, send_portal_link)
|
|
247
|
+
rescue LicenseManager::ApiError => e
|
|
248
|
+
puts "Error when calling PortalApi->send_portal_link: #{e}"
|
|
249
|
+
end
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### Using the send_portal_link_with_http_info variant
|
|
253
|
+
|
|
254
|
+
This returns an Array which contains the response data (`nil` in this case), status code and headers.
|
|
255
|
+
|
|
256
|
+
> <Array(nil, Integer, Hash)> send_portal_link_with_http_info(id, send_portal_link)
|
|
257
|
+
|
|
258
|
+
```ruby
|
|
259
|
+
begin
|
|
260
|
+
# Email a link to the customer portal to the customer
|
|
261
|
+
data, status_code, headers = api_instance.send_portal_link_with_http_info(id, send_portal_link)
|
|
262
|
+
p status_code # => 2xx
|
|
263
|
+
p headers # => { ... }
|
|
264
|
+
p data # => nil
|
|
265
|
+
rescue LicenseManager::ApiError => e
|
|
266
|
+
puts "Error when calling PortalApi->send_portal_link_with_http_info: #{e}"
|
|
267
|
+
end
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Parameters
|
|
271
|
+
|
|
272
|
+
| Name | Type | Description | Notes |
|
|
273
|
+
| ---- | ---- | ----------- | ----- |
|
|
274
|
+
| **id** | **String** | | |
|
|
275
|
+
| **send_portal_link** | [**SendPortalLink**](SendPortalLink.md) | | |
|
|
276
|
+
|
|
277
|
+
### Return type
|
|
278
|
+
|
|
279
|
+
nil (empty response body)
|
|
280
|
+
|
|
281
|
+
### Authorization
|
|
282
|
+
|
|
283
|
+
[apiKey](../README.md#apiKey)
|
|
284
|
+
|
|
285
|
+
### HTTP request headers
|
|
286
|
+
|
|
287
|
+
- **Content-Type**: application/json
|
|
288
|
+
- **Accept**: application/json
|
|
289
|
+
|
data/docs/PortalLink.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# LicenseManager::PortalLink
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **url** | **String** | Link to the customer portal, holding the token. | |
|
|
8
|
+
| **token** | **String** | Customer token in the link, with the `customer:read`, `license:read` and `machine:write` permissions. | |
|
|
9
|
+
| **expires_at** | **Time** | When the link stops working. | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'license_manager'
|
|
15
|
+
|
|
16
|
+
instance = LicenseManager::PortalLink.new(
|
|
17
|
+
url: https://app.example.com/portal/x7Kp2QaZ?token=eyJhbGciOi…,
|
|
18
|
+
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…,
|
|
19
|
+
expires_at: 2026-01-22T09:30:00.000Z
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# LicenseManager::PortalNotFound
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **error** | [**ErrorError**](ErrorError.md) | | |
|
|
8
|
+
| **organization_slug** | **String** | Slug of the product's organization. Present on `portal_disabled` errors. | [optional] |
|
|
9
|
+
| **product_slug** | **String** | Slug of the product. Present on `portal_disabled` errors. | [optional] |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'license_manager'
|
|
15
|
+
|
|
16
|
+
instance = LicenseManager::PortalNotFound.new(
|
|
17
|
+
error: null,
|
|
18
|
+
organization_slug: acme,
|
|
19
|
+
product_slug: acme-pro
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# LicenseManager::PortalSettings
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **enabled** | **Boolean** | Whether customers can use the customer portal. When disabled, it answers `404`. | |
|
|
8
|
+
| **brand_color** | **String** | Background of the portal's side panel, as `#rrggbb`, stored lower cased. `null` for the default color. | |
|
|
9
|
+
| **accent_color** | **String** | Color of the portal's inputs and buttons, as `#rrggbb`, stored lower cased. `null` for the default color. | |
|
|
10
|
+
| **return_url** | **String** | Link back to your website shown in the portal, when the portal's URL has no allowed `return_url`. `null` for no link. | |
|
|
11
|
+
| **return_domains** | **Array<String>** | Domains the portal's `return_url` query parameter may point to, their subdomains included. Other return URLs are ignored, in favor of `returnUrl`. | |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'license_manager'
|
|
17
|
+
|
|
18
|
+
instance = LicenseManager::PortalSettings.new(
|
|
19
|
+
enabled: true,
|
|
20
|
+
brand_color: #1e3a8a,
|
|
21
|
+
accent_color: #2563eb,
|
|
22
|
+
return_url: https://example.com/account,
|
|
23
|
+
return_domains: [example.com]
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
data/docs/Price.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::Price
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **amount** | **Float** | Amount in major units of the currency: `49.99` for $49.99, `5000` for ¥5,000. `0` for a free license. | |
|
|
8
|
+
| **currency** | **String** | ISO 4217 code of the currency, in upper case. | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::Price.new(
|
|
16
|
+
amount: 49.99,
|
|
17
|
+
currency: USD
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
data/docs/PriceInput.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::PriceInput
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **amount** | **Float** | Amount in major units of the currency: `49.99` for $49.99, `5000` for ¥5,000. `0` for a free license. At most as many decimals as the currency's minor unit: 2 for USD, 0 for JPY. | |
|
|
8
|
+
| **currency** | **String** | ISO 4217 code of the currency, in upper case. | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::PriceInput.new(
|
|
16
|
+
amount: 49.99,
|
|
17
|
+
currency: USD
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
data/docs/Product.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# LicenseManager::Product
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | | |
|
|
8
|
+
| **slug** | **String** | | |
|
|
9
|
+
| **name** | **String** | | |
|
|
10
|
+
| **is_test_from_product_id** | **String** | For test products, id of the live product they're a sandbox of. `null` for live products. | |
|
|
11
|
+
| **logo_url** | **String** | Public URL of the product's logo, shown in the web app and the customer portal. `null` without a logo. | |
|
|
12
|
+
| **portal** | [**PortalSettings**](PortalSettings.md) | | |
|
|
13
|
+
| **created_at** | **Time** | | |
|
|
14
|
+
| **updated_at** | **Time** | | |
|
|
15
|
+
|
|
16
|
+
## Example
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
require 'license_manager'
|
|
20
|
+
|
|
21
|
+
instance = LicenseManager::Product.new(
|
|
22
|
+
id: x7Kp2QaZ,
|
|
23
|
+
slug: acme-pro,
|
|
24
|
+
name: Acme Pro,
|
|
25
|
+
is_test_from_product_id: null,
|
|
26
|
+
logo_url: https://cdn.example.com/logos/x7Kp2QaZ/k3f9a2LpQ7xw.webp,
|
|
27
|
+
portal: null,
|
|
28
|
+
created_at: 2026-01-15T09:30:00.000Z,
|
|
29
|
+
updated_at: 2026-01-15T09:30:00.000Z
|
|
30
|
+
)
|
|
31
|
+
```
|
|
32
|
+
|
data/docs/ProductList.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::ProductList
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **data** | [**Array<Product>**](Product.md) | Items of the page, in the requested order. Empty past the last page. | |
|
|
8
|
+
| **pagination** | [**Pagination**](Pagination.md) | | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::ProductList.new(
|
|
16
|
+
data: null,
|
|
17
|
+
pagination: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# LicenseManager::ProductStats
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **license_count** | **Integer** | Number of licenses of the product. | |
|
|
8
|
+
| **active_license_count** | **Integer** | Number of licenses that haven't expired, and that a machine validated in the last 90 days. | |
|
|
9
|
+
| **new_license_count** | **Integer** | Number of licenses created in the last 30 days, today included, in UTC. | |
|
|
10
|
+
| **expiring_license_count** | **Integer** | Number of licenses expiring in the next 30 days. | |
|
|
11
|
+
| **expired_license_count** | **Integer** | Number of licenses that expired in the last 30 days. | |
|
|
12
|
+
| **active_machine_count** | **Integer** | Number of active machines of the licenses of the product. | |
|
|
13
|
+
| **in_use_license_count** | **Integer** | Number of licenses with at least one active machine. | |
|
|
14
|
+
| **seat_count** | **Integer** | Sum of the maximum numbers of machines of the licenses that haven't expired. Licenses without a maximum are left out. | |
|
|
15
|
+
| **used_seat_count** | **Integer** | Number of active machines of the licenses counted in `seatCount`, at most their maximum number of machines each. | |
|
|
16
|
+
| **full_license_count** | **Integer** | Number of licenses counted in `seatCount` active on their maximum number of machines. | |
|
|
17
|
+
| **days** | **Array<Date>** | The 30 days covered by the daily stats, from the oldest one, in UTC. | |
|
|
18
|
+
| **months** | **Array<String>** | The 12 months covered by the monthly stats, from the oldest one, in UTC. | |
|
|
19
|
+
| **new_licenses_by_day** | **Array<Integer>** | Number of licenses created each day, aligned on `days`. | |
|
|
20
|
+
| **new_licenses_by_month** | **Array<Integer>** | Number of licenses created each month, aligned on `months`. | |
|
|
21
|
+
| **new_licenses_by_policy** | [**Array<ProductStatsNewLicensesByPolicyInner>**](ProductStatsNewLicensesByPolicyInner.md) | Number of licenses of each policy created each day and each month, for the policies with licenses created over the covered months. | |
|
|
22
|
+
| **revenue** | [**Array<Revenue>**](Revenue.md) | Revenue in each currency licenses were sold in, from the one with the most licenses sold. Amounts aren't converted between currencies. | |
|
|
23
|
+
| **activations_by_version** | [**Array<ProductStatsActivationsByVersionInner>**](ProductStatsActivationsByVersionInner.md) | Successful activations of the licenses of the product each day, per version of the application, from the most recent one. | |
|
|
24
|
+
| **active_machines_by_version** | [**Array<ProductStatsActiveMachinesByVersionInner>**](ProductStatsActiveMachinesByVersionInner.md) | Number of active machines running each version of the application, from the most recent one. | |
|
|
25
|
+
| **active_machines_by_platform** | [**Array<ProductStatsActiveMachinesByPlatformInner>**](ProductStatsActiveMachinesByPlatformInner.md) | Number of active machines on each platform, from the one with the most machines. | |
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
|
|
29
|
+
```ruby
|
|
30
|
+
require 'license_manager'
|
|
31
|
+
|
|
32
|
+
instance = LicenseManager::ProductStats.new(
|
|
33
|
+
license_count: 120,
|
|
34
|
+
active_license_count: 87,
|
|
35
|
+
new_license_count: 14,
|
|
36
|
+
expiring_license_count: 3,
|
|
37
|
+
expired_license_count: 2,
|
|
38
|
+
active_machine_count: 154,
|
|
39
|
+
in_use_license_count: 80,
|
|
40
|
+
seat_count: 200,
|
|
41
|
+
used_seat_count: 130,
|
|
42
|
+
full_license_count: 12,
|
|
43
|
+
days: null,
|
|
44
|
+
months: null,
|
|
45
|
+
new_licenses_by_day: [0, 2, 1],
|
|
46
|
+
new_licenses_by_month: [4, 9, 12],
|
|
47
|
+
new_licenses_by_policy: null,
|
|
48
|
+
revenue: null,
|
|
49
|
+
activations_by_version: null,
|
|
50
|
+
active_machines_by_version: null,
|
|
51
|
+
active_machines_by_platform: null
|
|
52
|
+
)
|
|
53
|
+
```
|
|
54
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::ProductStatsActivationsByVersionInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **version** | **String** | `null` for the activations that didn't send a version. | |
|
|
8
|
+
| **counts** | **Array<Integer>** | Number of successful activations each day, aligned on `days`. | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::ProductStatsActivationsByVersionInner.new(
|
|
16
|
+
version: 1.10.0,
|
|
17
|
+
counts: [0, 3, 1]
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::ProductStatsActiveMachinesByPlatformInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **platform** | **String** | `null` for the machines that didn't send a platform. | |
|
|
8
|
+
| **count** | **Integer** | | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::ProductStatsActiveMachinesByPlatformInner.new(
|
|
16
|
+
platform: macOS,
|
|
17
|
+
count: 42
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# LicenseManager::ProductStatsActiveMachinesByVersionInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **version** | **String** | `null` for the machines that didn't send a version. | |
|
|
8
|
+
| **count** | **Integer** | | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'license_manager'
|
|
14
|
+
|
|
15
|
+
instance = LicenseManager::ProductStatsActiveMachinesByVersionInner.new(
|
|
16
|
+
version: 1.10.0,
|
|
17
|
+
count: 42
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# LicenseManager::ProductStatsNewLicensesByPolicyInner
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **policy_id** | **String** | | |
|
|
8
|
+
| **by_day** | **Array<Float>** | Value each day, aligned on `days`. | |
|
|
9
|
+
| **by_month** | **Array<Float>** | Value each month, aligned on `months`. | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'license_manager'
|
|
15
|
+
|
|
16
|
+
instance = LicenseManager::ProductStatsNewLicensesByPolicyInner.new(
|
|
17
|
+
policy_id: p4Rt8LmQ,
|
|
18
|
+
by_day: [0, 2, 1],
|
|
19
|
+
by_month: [4, 9, 12]
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|