ARTIK Cloud Ruby SDK ================ [![Build Status](https://travis-ci.org/artikcloud/artikcloud-ruby.svg?branch=master)](https://travis-ci.org/artikcloud/artikcloud-ruby) [![Gem Version](https://badge.fury.io/rb/artikcloud.svg)](https://badge.fury.io/rb/artikcloud) This SDK helps you connect your Ruby scripts to ARTIK Cloud. The SDK exposes a number of methods to easily execute REST API calls to ARTIK Cloud. ## Installation ### Build a gem To build the Ruby code into a gem: ```shell gem build artikcloud.gemspec ``` Then either install the gem locally: ```shell gem install ./artikcloud-2.0.5.gem ``` (for development, run `gem install --dev ./artikcloud-2.0.5.gem` to install the development dependencies) or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/). Finally add this to the Gemfile: gem 'artikcloud', '~> 2.0.5' ### Install from Git If the Ruby gem is hosted at a git repository: https://github.com/YOUR_GIT_USERNAME/YOUR_GIT_REPO, then add the following in the Gemfile: gem 'artikcloud', :git => 'https://github.com/YOUR_GIT_USERNAME/YOUR_GIT_REPO.git' ### Include the Ruby code directly Include the Ruby code directly using `-I` as follows: ```shell ruby -Ilib script.rb ``` ## Getting Started Please follow the [installation](#installation) procedure and then run the following code: ```ruby # Load the gem require 'artikcloud' # Setup authorization ArtikCloud.configure do |config| # Configure OAuth2 access token for authorization: artikcloud_oauth config.access_token = 'YOUR ACCESS TOKEN' end api_instance = ArtikCloud::DeviceTypesApi.new device_type_id = "device_type_id_example" # String | deviceTypeId begin #Get Available Manifest Versions result = api_instance.get_available_manifest_versions(device_type_id) p result rescue ArtikCloud::ApiError => e puts "Exception when calling DeviceTypesApi->get_available_manifest_versions: #{e}" end ``` ## Documentation for API Endpoints All URIs are relative to *https://api.artik.cloud/v1.1* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *ArtikCloud::DeviceTypesApi* | [**get_available_manifest_versions**](docs/DeviceTypesApi.md#get_available_manifest_versions) | **GET** /devicetypes/{deviceTypeId}/availablemanifestversions | Get Available Manifest Versions *ArtikCloud::DeviceTypesApi* | [**get_device_type**](docs/DeviceTypesApi.md#get_device_type) | **GET** /devicetypes/{deviceTypeId} | Get Device Type *ArtikCloud::DeviceTypesApi* | [**get_device_types**](docs/DeviceTypesApi.md#get_device_types) | **GET** /devicetypes | Get Device Types *ArtikCloud::DeviceTypesApi* | [**get_latest_manifest_properties**](docs/DeviceTypesApi.md#get_latest_manifest_properties) | **GET** /devicetypes/{deviceTypeId}/manifests/latest/properties | Get Latest Manifest Properties *ArtikCloud::DeviceTypesApi* | [**get_manifest_properties**](docs/DeviceTypesApi.md#get_manifest_properties) | **GET** /devicetypes/{deviceTypeId}/manifests/{version}/properties | Get manifest properties *ArtikCloud::DevicesApi* | [**add_device**](docs/DevicesApi.md#add_device) | **POST** /devices | Add Device *ArtikCloud::DevicesApi* | [**delete_device**](docs/DevicesApi.md#delete_device) | **DELETE** /devices/{deviceId} | Delete Device *ArtikCloud::DevicesApi* | [**delete_device_token**](docs/DevicesApi.md#delete_device_token) | **DELETE** /devices/{deviceId}/tokens | Delete Device Token *ArtikCloud::DevicesApi* | [**get_device**](docs/DevicesApi.md#get_device) | **GET** /devices/{deviceId} | Get Device *ArtikCloud::DevicesApi* | [**get_device_presence**](docs/DevicesApi.md#get_device_presence) | **GET** /devices/{deviceId}/presence | Get device presence information *ArtikCloud::DevicesApi* | [**get_device_token**](docs/DevicesApi.md#get_device_token) | **GET** /devices/{deviceId}/tokens | Get Device Token *ArtikCloud::DevicesApi* | [**update_device**](docs/DevicesApi.md#update_device) | **PUT** /devices/{deviceId} | Update Device *ArtikCloud::DevicesApi* | [**update_device_token**](docs/DevicesApi.md#update_device_token) | **PUT** /devices/{deviceId}/tokens | Update Device Token *ArtikCloud::ExportApi* | [**export_request**](docs/ExportApi.md#export_request) | **POST** /messages/export | Create Export Request *ArtikCloud::ExportApi* | [**get_export_history**](docs/ExportApi.md#get_export_history) | **GET** /messages/export/history | Get Export History *ArtikCloud::ExportApi* | [**get_export_result**](docs/ExportApi.md#get_export_result) | **GET** /messages/export/{exportId}/result | Get Export Result *ArtikCloud::ExportApi* | [**get_export_status**](docs/ExportApi.md#get_export_status) | **GET** /messages/export/{exportId}/status | Check Export Status *ArtikCloud::MessagesApi* | [**get_aggregates_histogram**](docs/MessagesApi.md#get_aggregates_histogram) | **GET** /messages/analytics/histogram | Get Normalized Message Histogram *ArtikCloud::MessagesApi* | [**get_field_presence**](docs/MessagesApi.md#get_field_presence) | **GET** /messages/presence | Get normalized message presence *ArtikCloud::MessagesApi* | [**get_last_normalized_messages**](docs/MessagesApi.md#get_last_normalized_messages) | **GET** /messages/last | Get Last Normalized Message *ArtikCloud::MessagesApi* | [**get_message_aggregates**](docs/MessagesApi.md#get_message_aggregates) | **GET** /messages/analytics/aggregates | Get Normalized Message Aggregates *ArtikCloud::MessagesApi* | [**get_message_snapshots**](docs/MessagesApi.md#get_message_snapshots) | **GET** /messages/snapshots | Get Message Snapshots *ArtikCloud::MessagesApi* | [**get_normalized_actions**](docs/MessagesApi.md#get_normalized_actions) | **GET** /actions | Get Normalized Actions *ArtikCloud::MessagesApi* | [**get_normalized_messages**](docs/MessagesApi.md#get_normalized_messages) | **GET** /messages | Get Normalized Messages *ArtikCloud::MessagesApi* | [**send_actions**](docs/MessagesApi.md#send_actions) | **POST** /actions | Send Actions *ArtikCloud::MessagesApi* | [**send_message**](docs/MessagesApi.md#send_message) | **POST** /messages | Send Message *ArtikCloud::RegistrationsApi* | [**confirm_user**](docs/RegistrationsApi.md#confirm_user) | **PUT** /devices/registrations/pin | Confirm User *ArtikCloud::RegistrationsApi* | [**get_request_status_for_user**](docs/RegistrationsApi.md#get_request_status_for_user) | **GET** /devices/registrations/{requestId}/status | Get Request Status For User *ArtikCloud::RegistrationsApi* | [**unregister_device**](docs/RegistrationsApi.md#unregister_device) | **DELETE** /devices/{deviceId}/registrations | Unregister Device *ArtikCloud::RulesApi* | [**create_rule**](docs/RulesApi.md#create_rule) | **POST** /rules | Create Rule *ArtikCloud::RulesApi* | [**delete_rule**](docs/RulesApi.md#delete_rule) | **DELETE** /rules/{ruleId} | Delete Rule *ArtikCloud::RulesApi* | [**get_rule**](docs/RulesApi.md#get_rule) | **GET** /rules/{ruleId} | Get Rule *ArtikCloud::RulesApi* | [**update_rule**](docs/RulesApi.md#update_rule) | **PUT** /rules/{ruleId} | Update Rule *ArtikCloud::TagsApi* | [**get_tag_categories**](docs/TagsApi.md#get_tag_categories) | **GET** /tags/categories | Get all categories *ArtikCloud::TagsApi* | [**get_tag_suggestions**](docs/TagsApi.md#get_tag_suggestions) | **GET** /tags/suggestions | Get tag suggestions *ArtikCloud::TagsApi* | [**get_tags_by_categories**](docs/TagsApi.md#get_tags_by_categories) | **GET** /tags | Get all tags of categories *ArtikCloud::TokensApi* | [**check_token**](docs/TokensApi.md#check_token) | **POST** /accounts/checkToken | Check Token *ArtikCloud::TokensApi* | [**refresh_token**](docs/TokensApi.md#refresh_token) | **POST** /accounts/token | Refresh Token *ArtikCloud::TokensApi* | [**token_info**](docs/TokensApi.md#token_info) | **GET** /accounts/tokenInfo | Token Info *ArtikCloud::UsersApi* | [**create_user_properties**](docs/UsersApi.md#create_user_properties) | **POST** /users/{userId}/properties | Create User Application Properties *ArtikCloud::UsersApi* | [**delete_user_properties**](docs/UsersApi.md#delete_user_properties) | **DELETE** /users/{userId}/properties | Delete User Application Properties *ArtikCloud::UsersApi* | [**get_self**](docs/UsersApi.md#get_self) | **GET** /users/self | Get Current User Profile *ArtikCloud::UsersApi* | [**get_user_device_types**](docs/UsersApi.md#get_user_device_types) | **GET** /users/{userId}/devicetypes | Get User Device Types *ArtikCloud::UsersApi* | [**get_user_devices**](docs/UsersApi.md#get_user_devices) | **GET** /users/{userId}/devices | Get User Devices *ArtikCloud::UsersApi* | [**get_user_properties**](docs/UsersApi.md#get_user_properties) | **GET** /users/{userId}/properties | Get User application properties *ArtikCloud::UsersApi* | [**get_user_rules**](docs/UsersApi.md#get_user_rules) | **GET** /users/{userId}/rules | Get User Rules *ArtikCloud::UsersApi* | [**update_user_properties**](docs/UsersApi.md#update_user_properties) | **PUT** /users/{userId}/properties | Update User Application Properties ## Documentation for Models - [ArtikCloud::AckEnvelope](docs/AckEnvelope.md) - [ArtikCloud::Acknowledgement](docs/Acknowledgement.md) - [ArtikCloud::Action](docs/Action.md) - [ArtikCloud::ActionArray](docs/ActionArray.md) - [ArtikCloud::ActionDetails](docs/ActionDetails.md) - [ArtikCloud::ActionDetailsArray](docs/ActionDetailsArray.md) - [ArtikCloud::ActionIn](docs/ActionIn.md) - [ArtikCloud::ActionOut](docs/ActionOut.md) - [ArtikCloud::Actions](docs/Actions.md) - [ArtikCloud::AggregateData](docs/AggregateData.md) - [ArtikCloud::AggregatesHistogramData](docs/AggregatesHistogramData.md) - [ArtikCloud::AggregatesHistogramResponse](docs/AggregatesHistogramResponse.md) - [ArtikCloud::AggregatesResponse](docs/AggregatesResponse.md) - [ArtikCloud::AppProperties](docs/AppProperties.md) - [ArtikCloud::CheckTokenMessage](docs/CheckTokenMessage.md) - [ArtikCloud::CheckTokenResponse](docs/CheckTokenResponse.md) - [ArtikCloud::Device](docs/Device.md) - [ArtikCloud::DeviceArray](docs/DeviceArray.md) - [ArtikCloud::DeviceEnvelope](docs/DeviceEnvelope.md) - [ArtikCloud::DeviceRegCompleteRequest](docs/DeviceRegCompleteRequest.md) - [ArtikCloud::DeviceRegConfirmUserRequest](docs/DeviceRegConfirmUserRequest.md) - [ArtikCloud::DeviceRegConfirmUserResponse](docs/DeviceRegConfirmUserResponse.md) - [ArtikCloud::DeviceRegConfirmUserResponseEnvelope](docs/DeviceRegConfirmUserResponseEnvelope.md) - [ArtikCloud::DeviceRegStatusResponse](docs/DeviceRegStatusResponse.md) - [ArtikCloud::DeviceRegStatusResponseEnvelope](docs/DeviceRegStatusResponseEnvelope.md) - [ArtikCloud::DeviceToken](docs/DeviceToken.md) - [ArtikCloud::DeviceTokenEnvelope](docs/DeviceTokenEnvelope.md) - [ArtikCloud::DeviceType](docs/DeviceType.md) - [ArtikCloud::DeviceTypeArray](docs/DeviceTypeArray.md) - [ArtikCloud::DeviceTypeEnvelope](docs/DeviceTypeEnvelope.md) - [ArtikCloud::DeviceTypesEnvelope](docs/DeviceTypesEnvelope.md) - [ArtikCloud::DevicesEnvelope](docs/DevicesEnvelope.md) - [ArtikCloud::ErrorEnvelope](docs/ErrorEnvelope.md) - [ArtikCloud::ExportData](docs/ExportData.md) - [ArtikCloud::ExportDataArray](docs/ExportDataArray.md) - [ArtikCloud::ExportHistoryResponse](docs/ExportHistoryResponse.md) - [ArtikCloud::ExportNormalizedMessagesResponse](docs/ExportNormalizedMessagesResponse.md) - [ArtikCloud::ExportRequest](docs/ExportRequest.md) - [ArtikCloud::ExportRequestData](docs/ExportRequestData.md) - [ArtikCloud::ExportRequestInfo](docs/ExportRequestInfo.md) - [ArtikCloud::ExportRequestResponse](docs/ExportRequestResponse.md) - [ArtikCloud::ExportResponse](docs/ExportResponse.md) - [ArtikCloud::ExportStatusResponse](docs/ExportStatusResponse.md) - [ArtikCloud::FieldPath](docs/FieldPath.md) - [ArtikCloud::FieldPresence](docs/FieldPresence.md) - [ArtikCloud::FieldPresenceEnvelope](docs/FieldPresenceEnvelope.md) - [ArtikCloud::FieldsActions](docs/FieldsActions.md) - [ArtikCloud::ManifestProperties](docs/ManifestProperties.md) - [ArtikCloud::ManifestPropertiesEnvelope](docs/ManifestPropertiesEnvelope.md) - [ArtikCloud::ManifestVersions](docs/ManifestVersions.md) - [ArtikCloud::ManifestVersionsEnvelope](docs/ManifestVersionsEnvelope.md) - [ArtikCloud::Message](docs/Message.md) - [ArtikCloud::MessageAction](docs/MessageAction.md) - [ArtikCloud::MessageID](docs/MessageID.md) - [ArtikCloud::MessageIDEnvelope](docs/MessageIDEnvelope.md) - [ArtikCloud::MessageIn](docs/MessageIn.md) - [ArtikCloud::MessageOut](docs/MessageOut.md) - [ArtikCloud::NonEmptyString](docs/NonEmptyString.md) - [ArtikCloud::NormalizedAction](docs/NormalizedAction.md) - [ArtikCloud::NormalizedActionsEnvelope](docs/NormalizedActionsEnvelope.md) - [ArtikCloud::NormalizedMessage](docs/NormalizedMessage.md) - [ArtikCloud::NormalizedMessagesEnvelope](docs/NormalizedMessagesEnvelope.md) - [ArtikCloud::OutputRule](docs/OutputRule.md) - [ArtikCloud::PresenceEnvelope](docs/PresenceEnvelope.md) - [ArtikCloud::PresenceModel](docs/PresenceModel.md) - [ArtikCloud::PropertiesEnvelope](docs/PropertiesEnvelope.md) - [ArtikCloud::RefreshTokenResponse](docs/RefreshTokenResponse.md) - [ArtikCloud::RegisterMessage](docs/RegisterMessage.md) - [ArtikCloud::RuleArray](docs/RuleArray.md) - [ArtikCloud::RuleCreationInfo](docs/RuleCreationInfo.md) - [ArtikCloud::RuleEnvelope](docs/RuleEnvelope.md) - [ArtikCloud::RuleError](docs/RuleError.md) - [ArtikCloud::RuleUpdateInfo](docs/RuleUpdateInfo.md) - [ArtikCloud::RuleWarningOutput](docs/RuleWarningOutput.md) - [ArtikCloud::RulesEnvelope](docs/RulesEnvelope.md) - [ArtikCloud::SnapshotResponse](docs/SnapshotResponse.md) - [ArtikCloud::SnapshotResponses](docs/SnapshotResponses.md) - [ArtikCloud::SnapshotsResponseEnvelope](docs/SnapshotsResponseEnvelope.md) - [ArtikCloud::Tag](docs/Tag.md) - [ArtikCloud::TagArray](docs/TagArray.md) - [ArtikCloud::TagsEnvelope](docs/TagsEnvelope.md) - [ArtikCloud::Token](docs/Token.md) - [ArtikCloud::TokenInfo](docs/TokenInfo.md) - [ArtikCloud::TokenInfoSuccessResponse](docs/TokenInfoSuccessResponse.md) - [ArtikCloud::TokenRequest](docs/TokenRequest.md) - [ArtikCloud::TokenResponse](docs/TokenResponse.md) - [ArtikCloud::UnregisterDeviceResponse](docs/UnregisterDeviceResponse.md) - [ArtikCloud::UnregisterDeviceResponseEnvelope](docs/UnregisterDeviceResponseEnvelope.md) - [ArtikCloud::User](docs/User.md) - [ArtikCloud::UserEnvelope](docs/UserEnvelope.md) - [ArtikCloud::WebSocketError](docs/WebSocketError.md) ## Documentation for Authorization ### artikcloud_oauth - **Type**: OAuth - **Flow**: implicit - **Authorization URL**: https://accounts.artik.cloud/authorize - **Scopes**: - read:artikcloud: Read from ARTIK Cloud - write:artikcloud: Write from ARTIK Cloud More about ARTIK Cloud ------------------------- If you are not familiar with ARTIK Cloud, we have extensive documentation at https://developer.artik.cloud/documentation The full ARTIK Cloud API specification can be found at https://developer.artik.cloud/documentation/api-reference/ Check out advanced sample applications at https://developer.artik.cloud/documentation/samples/ To create and manage your services and devices on ARTIK Cloud, create an account at https://developer.artik.cloud Also see the ARTIK Cloud blog for tutorials, updates, and more: http://artik.io/blog License and Copyright --------------------- Licensed under the Apache License. See [LICENSE](https://github.com/artikcloud/artikcloud-ruby/blob/master/LICENSE). Copyright (c) 2016 Samsung Electronics Co., Ltd.