PieceJSON Keys

PieceJSON

JSON Key Type Req. Update Constraints / Notes
title titleObject ○ ○ Constraint: 30 characters or fewer.
-------
Note: Piece title. Can be set separately for different languages. English title is required. Give users a good idea of your Piece with an easy-to-understand name.
description description
Object
○ ○ Note: Piece description. Can be set separately for different languages. English description is required. Users will see this description. What does your Piece do? Let the user know, and be sure to include any restrictions or special notes. There are some rules on making a description to be referred.
vendorId string ○ × Constraint: ID number assigned when registering as a Vendor who will create PieceCore using the SDK.
-------
Note: The ID of the vendor or vendors which can use your Piece. If you want the Piece to be available to all vendors, please enter "none".
deviceId string ○ × Constraint: ID number assigned when registering a Device that will run your PieceCore using the Riiiver SDK.
-------
Note: The ID of the device or devices which can use your Piece. If you want the Piece to be available on all devices for your selected vendors, please enter "none".
categoryIds array ○ × Constraint: Choose 1 or 2 of the categories included on the master list.
-------
Note: This ID will place your Piece in the Riiiver category that you believe best fits its function.
osType string ○ × Constraint: Choose 1 of either: "iOS", "Android", or "none".
-------
Note: Specify the type of smartphone OS that is able to control your Piece. If all devices are supported, select "none".
version string ○ ○ Constraint: Set 1.0.0 as your first version. Increment upwards when you update your Piece. Major/Minor updates are defined by you.
-------
Note: Piece Version.
sdkVersion string ○ ○ Constraint: Choose from a list of public Riiiver SDK release versions.
-------
Note: Choose the minimum SDK version needed to operate your Piece. If not dependent on the Riiiver SDK, select 1.0.0.
blockType string ○ × Constraint: Choose 1 Piece type: "trigger", "service", or "action".
-------
Note: Specify whether your Piece will operate as a T (Trigger), S (Service), or A (Action) Piece.
executor string ○ × Note: The class (module) name of the client app that actually runs the Piece.
permissionList object × × Note: Permission list of items on the user’s device that they will need to grant your Piece access to in order for it to operate.
preferences preference
Object
× △ Note: Settings to be set or selected by the User. Piece operation will vary based on these user specifications.
input inputObject × △ Constraint: Only 1 input can be specified.
-------
Note: Specify the type, format, etc. of data that your Piece can receive as input. This information is received from the previous Piece or the device.
output outputObject × △ Constraint: Only 1 output can be specified.
-------
Note: Specify the type, format, etc. of the date your Piece outputs. Your output will be sent to the next Piece or device.
serviceProxy serviceProxy
Object
× × Note: Please include PieceCore specifications here when making Pieces that utilize a service proxy. If specifications are needed but not included here, the PieceCore will not be able to execute properly.
pieceCapability string ○ × Constraint : Choose 1 of either : "notUse", "background" or "alwaysOnBackground".
--------
Note : A key representing whether using the location information when the app is on the background.
"notUse": no background operation.
"background": Temporary use the location information even if app is the background when the Piece is executed (e.g. weather forecast for the current location).
"alwaysOnBackground": Continuously use the location information even if app is the background (e.g. area trigger)
personalInfoList personalInfoList × ○ Note : Make a description when using external services. If there is no description, our Riiiver support team may contact you.


titleObject

JSON Key Type Req. Update Notes
en string ○ ○ The English title of the Piece
ja string × ○ The Japanese title of the Piece
it string × ○ The Italian title of the Piece
fr string × ○ The French title of the Piece
es string × ○ The Spanish title of the Piece
de string × ○ The German title of the Piece
pt-PT string × ○ The Portuguese title of the Piece
zh-Hans string × ○ The simplified Chinese title of the Piece
zh-Hant string × ○ The traditional Chinese title of the Piece


descriptionObject

There are some rules on making a description to be referred.

JSON Key Type Req. Update Notes
en string ○ ○ The English description of the Piece
ja string × ○ The Japanese description of the Piece
it string × ○ The Italian description of the Piece
fr string × ○ The French description of the Piece
es string × ○ The Spanish description of the Piece
de string × ○ The German description of the Piece
pt-PT string × ○ The Portuguese description of the Piece
zh-Hans string × ○ The simplified Chinese description of the Piece
zh-Hant string × ○ The traditional Chinese description of the Piece


permissionList

JSON Key Type Req. Constraints / Notes
ios array ○ Constraint:
"location": Specify when accessing location information from the user's smartphone. Choose from among: "location_normal", "location_rough", "location_accurate", or simply "location".
"mediaLibrary": Must be specified when accessing device (smartphone) media libraries.
"notification": Specify when accessing the notification on the user’s device.
-------
Note: Permissions required when the user has an iOS device.
android array ○ Constraint:
"location": Specify when accessing location information from the user's smartphone. Choose from among: "location_normal", "location_rough", "location_accurate", or simply "location".
"mediaLibrary": Must be specified when accessing device (smartphone) media libraries.
"notification": Specify when accessing the notification on the user’s device.
-------
Note: Permissions required when the user has an Android device.


preferences

Note: JSON Keys that start with "--" indicate that they are located two levels below the previous JSON Key. For instance, the "--type" donation could be used in the following case:

"properties": {
   "cityName": {          // Key that a developer sets as a name. 
      "type": "string",   // This level is "--type" from a "properties" point of view, .
      "x-description": {
        "en": "Set the location from which to get temperature data.",
        "ja": "気温を取得する地域を指定します。"
      }
   }
},

In the following table, "--type", "-- format", "-- x-unit", and "-- default" all exist at the same level, two steps down the "properties" hierarchy:

JSON Key Type Req. Update Constraints / Notes
type string ○ × Constraint: Must be specified as an "object".
-------
Note: JSON schema type.
properties object ○ × Note: Preference you can name at your discretion for data reference.
-- type string ○ × Constraint: Choose 1 from the below list: "boolean", "number","string", "array".
-------
Note: Set preference data type.
-- maximum number × × Note: Use with Pieces that have text data input to set the "maximum" possible input limited.
△ × Constraint: Must be specified as "minimum","maximum","multipleOf"
-------
Note: --type detail. Use with Pieces that have number data input to set the maximum possible number value. enum overrides "maximum" if enum is set.
-- minimum number △ × Constraint: Must be specified as "minimum","maximum","multipleOf"
-------
Note: --type detail. Use with Pieces that have number data input to set the minimum possible number value. enum overrides "minimum" if enum is set.
-- multipleOf number △ × Constraint: Must be specified as "minimum","maximum","multipleOf"
-------
Note: --type detail. Use with Pieces that have number data input to set the interval number value. enum overrides "multipleOf" if enum is set.
-- enum Enum × × Note: Specify when you want to limit the value set in the Preferences. Please note there are unavailable characters.
Unavailable characters: (space),',",<,>,`
-- x-enum-titles object × ○ Note: Used when specifying a name easy to identify for the values you have set in the enum preferences. For example, names such as “Steve”, “Mark”, and so on, in place of their raw data id (data_001, data_002, and so on).
-- x-title titleObject ○ ○ Note: The title of the value to be set by the user in the Preferences.
-- x-description description
Object
○ ○ Note: The description of the value to be set in the Preferences.
-- x-input-type string ○ ○† Constraint: Choose a Preference type: "drumroll", "calendar", "slider", "radio", "map", "text", "textarea", "switch", "time".
-- default object × × Constraint: Should match the set value type.
-------
Note: Default value set in the Preferences, i.e, the value that will be used if the Riiiver user does not make any adjustments.
-- x-hidden boolean × ○ Constraint: true: non-display, false: display
-------
Note: Preference display settings. Default: true
-- x-optional boolean × ○ Constraint : true: Specify when the value is optional, false: Specify when the value is required.
--------
Note : Use to set items in the Preference to either optional or required. The value will be required when this key is not specified.
x-field-order array × ○ Note: Specify the order in which the items defined under properties are displayed to the user.

† Making modifications to x-input-type that would expand or change the nature of the --type of data to be retrieved is not possible. For example, when a "drumroll" x-input-type is used to retrieve number data, you cannot revise to a "switch" method that would produce "boolean" data instead, because this does not match the --type of data sought by the Piece.


inputObject

JSON Key Type Req. Update Constraints / Notes
type string ○ × Constraint: Must be specified as an "object".
-------
Note: The type of the JSON Schema.
properties object ○ × Note: Field you can name at your discretion for data reference.
-- type string ○ × Constraint: Choose 1 from the below list: "boolean", "number", "string","object",array.
-------
Note: Set input data type.
-- x-title titleObject × ○ Note: The title of the input data.
-- x-description description
Object
× ○ Note: The description of the input data.
-- format string string
type: ○
Other: ×
× Note: Additional, required information that only applies to Pieces which accept string data as input.
-- x-unit string × × Note: Use with Pieces that have number data input to set the unit measurement of the number. If no unit needs to be specified, this does not need to be set.
-- minimum number number
type: ○
Other: ×
× Note: --type detail. Use with Pieces that have number data input to set the minimum possible number value. Select a value between -1,000,000 and 1,000,000 which is lower than the maximum value. Required setting for number input.
-- maximum number number
type: ○
Other: ×
× Note: --type detail. Use with Pieces that have number data input to set the maximum possible number value. Select a value between -1,000,000 and 1,000,000 which is higher than the minimum value. Required setting for number input.


outputObject

JSON Key Type Req. Update Constraints / Notes
type string ○ × Constraint: Must be specified as an "object".The type of the JSON Schema.
properties object ○ × Note: Field you can name at your discretion for data reference.
-- type string ○ × Constraint: Choose 1 from the below list:: "boolean", "number", "string","object","array".
-------
Note: Set output data type.
-- x-title titleObject × ○ Note: The title of the output data.
-- x-description description
Object
× ○ Note: The description of the output data.
-- format string string
type: ○
Other: ×
× Note: Additional, required information that only applies to Pieces which output string data.
-- x-unit string × × Note: Use with Pieces that output number data to set the unit measurement of the number. If no unit needs to be specified, this does not need to be set.
-- minimum number number
type: ○
Other: ×
× Note: --type detail. Use with Pieces that have number data input to set the minimum possible number value. Select a value between -1,000,000 and 1,000,000 which is lower than the maximum value. Required setting for number input.
-- maximum number number
type: ○
Other: ×
× Note: --type detail. Use with Pieces that have number data input to set the maximum possible number value. Select a value between -1,000,000 and 1,000,000 which is higher than the minimum value. Required setting for number input.


serviceProxyObject

JSON Key Type Req. Constraints / Notes
service string ○ Note: The name of the ServiceProxyCore to be used on Lambda.
parameters array × Constraint: "location": Specify when accessing location information from the user's smartphone.
-------
Note: Required if you need device location information in order to execute the ProxyCore.
authType array × Constraint: You can choose a type from the list below: "apiKey", "oauth2", "other" Note that the RiiiverSDK only supports "OAuth2" for authentication. When processing via any method other than "OAuth2", you will need to implement the authentication process independently on your app side.
-------
Note: Specify when using an external service in ProxyCore that requires authorization. Specify the authentication process type.

personalInfoList

For more detailed description, click here.

JSON Key Type Req. Constraints / Notes
description descriptionObject ○ Describe how to use personal information.
privacyPolicy privacyPolicyObject ○ Make a description on the Privacy Policy and its URL of the external service used for the Piece.
serviceCompanyName string ○ Put the name of the external service provider.
typeList typeListObject ○ Constraint : typeListObject must be Array type.
--------
Note : Specify the type of personal information to be used.

privacyPolicyObject
JSON Key Type Req. Constraints / Notes
label descriptionObject ○ Note : Set a label for Privacy Policy of the external service. Write the statement as follows.
Japanese: "プライバシーポリシーはこちら",
English: "Link to the privacy policy"
url descriptionObject ○ Note : Put the URL of the Privacy Policy.

typeListObject
JSON Key Type Req. Constraints / Notes
description descriptionObject ○ Describe the purpose of using the personal information.
type string ○ Constraint : Choose 1 of either: location, vital, id, demographic, userLog, diagnose.
--------
Note : Specify a type of the personal information.