Register your piece

In Tools

When you finish debugging your pieces, it’s time to share them with the world. You can upload your piece using the developer portal site.

Preparing items before uploading

You might have created your piece in one of the ways listed below:

  • Make S/A piece using Lambda that Riiiver readies.
  • Make Piece Core with native code with the Riiiver SDK.

In case you made an S/A piece using Lambda that Riiiver readies.

The folder you created must be like followings:

├── PieceDebugger
│   ....
│   ├── kicker_on_lambda.js
│   ....
│   └── start.js
└── YourCode
    ├── JSON
    │   └── pieceJson_Sample.json
    ├── ProxyCore
    │   ├── pieceCore_Sample.js      ☆
    │   ├── pieceCore_divieded_A.js  ☆
    │   ├── pieceCore_divieded_B.js  ☆
    │   ├── node_modules             ☆ (including all files under this folder)
    │      .... tons of module files ....
    │   │   
    │   └── package-lock.json
    └── event.json

You have to zip your source files before uploading them. The target files that you need to zip are crucial, so please check which are the target for them. The files you have to zip are the files/folders marked as “☆.”
You do not need to zip the PieceJSON. But do not forget to add the node_modules folder as targets to zip.
IMPORTANT: Do not include the “ProxyCore” folder as a target for zipping. You must select the files/folders marked as “☆,” and zip them. If the hierarchical relationship of these target files/folders is wrong, your piece does not work well on the Lambda.

Now you are ready to update! Go to [Upload your piece via PieceBuilder](#Upload your piece via PieceBuilder) section.

In case you made a Piece Core with native code with the Riiiver SDK

You do not need to zip any files to upload your piece.

Upload your piece via PieceBuilder

“PieceBuilder” is a system that provides the way to upload in the developer portal site. First, log in to the developer site from here and click “Piece List.”

Top Page

Then, you can see the following page.


This a page that you can manage your pieces. It might be a clear view if you have not uploaded any pieces before. Click the “Register a piece JSON” button to upload your piece.

Now you are facing the empty page, but it’s proper. Click the “Upload” button:

Upload JSON

Select your pieceJSON file now. As an example, we use the following pieceJSON file:

    "title": {
        "en": "Current Temperature (celsius)",
        "ja": "現在の気温 (摂氏)"
    "version": "1.0.0",
    "sdkVersion": "1.0.0",
    "deviceId": "none",
    "vendorId": "none",
    "description": {
        "en": "Current temperature in the setting area",
        "ja": "指定した地域の現在の気温を取得します。うまく取得できなかった場合は値が -1 となります。"
    "blockType": "service",
    "executor": "RBCCommonWebServiceExecutor",
    "serviceProxy": {
        "service": "pieceCore_Sample"
    "preferences": {
        "type": "object",
        "properties": {
            "cityName": {
                "type": "string",
                "format" : "text",
                "enum": [
                "default": "Tokyo",
                "x-input-type": "drumroll",
                "x-title": {
                    "ja": "地域",
                    "en": "Area setting"
                "x-description": {
                    "en": "Set the area from which to get the temperature.",
                    "ja": "気温を取得する地域を指定します。"
                "x-enum-titles": {
                    "Sapporo-shi": {
                        "ja": "札幌市",
                        "en": "Sapporo"
                    "Tokyo": {
                        "ja": "東京都",
                        "en": "Tokyo"
                    "Osaka": {
                        "ja": "大阪府",
                        "en": "Osaka"
                    "Fukuoka-ken": {
                        "ja": "福岡県",
                        "en": "Fukuoka"
                    "Okinawa-ken": {
                        "ja": "沖縄県",
                        "en": "Okinawa"
    "output": {
        "type": "object",
        "properties": {
            "celsiusTemperature": {
                "type": "number",
                "x-title" : {
                "en" : "Output the selected city's temperature in celsius.",
                "ja" : "指定した都市の温度を摂氏で出力します。"
                "minimum" : -50,
                "maximum" : 50 
    "osType": "none",
    "categoryIds": ["cat_0007"]

If you are using the sample project, the pieceJSON file must locate at the SampleCode/YoueCode/JSON folder. If you could upload the correct format pieceJSON file, you can see the page like below:

Check JSON

The pieceBuilder analyzes your pieceJSON file and displays the result. If you can see some errors, your pieceJSON file has some problems in it. Some required information may lack, or JSON format may break. Please refer to this specification document and update the pieceJSON.
This page is pieceBuilder. You can upload some additional files via four buttons at the bottom of the view.

Choose ServiceProxyCore (Zip file) button

You can upload a zipped file made in [Preparing items before uploading](#Preparing items before uploading) section. If you are creating the piece with Riiiver SDK, this zip file is not needed.

To upload your zip file, click the orange button. The Riiiver system will load and deploy your zip file as AWS Lambda functions on the Riiiver server.

Choose an icon file button (Required item)

You can upload the icon file here. You have two choices to set your icon as followings:

  1. You prepare the icon file by yourself in png format and upload it.
  2. You make a simple icon using pieceBuilder with FontAwesome.

Upload your prepared file

The format that you can upload as an icon file is:

  • PNG format
  • The size of an image file must be larger than 512 x 512 px.

Push the “Upload” button to upload your image file for an icon in Choose an icon file section. (The light blue circle one in the next figure.)

Create your icon image using pieceBuilder

You can also make a modest icon for your piece. The figure is simple, change the color of a particular font from FontAwesome, but you can create it on the web and use it as your piece’s icon:

  1. Type the keyword for searching your image in the “Select icon” section. (The yellow boxed one)
    Search Icon

    In this time, we use “temp” as a keyword to look for a suitable image for sample pieceJSON – Current Temperature. Now you can see followings:
    Choose icon

  2. You can see the candidate icons by clicking the yellow circled icon aside. And you can check the preview by clicking one of them. You can also change the color of the figure. When you finish adjusting your icon, click OK.

    1. When uploaded, you can confirm the name of the icon file.
      Icon Uploaded

Choose an illustration file

An illustration file is a picture that appears on the description of a piece in the Riiiver App. For example, in the explanation of Action Piece of CITIZEN’s Eco-drive Riiiver watch, the screen is as follows. (It is different from an icon for the piece.)


The “clock illustration” pointed by the pink arrow is called an illustration file. Only one picture can be specified.

You can upload an illustration file that format type must be as follows:

  • PNG format only
  • 512x512px ~ 1200x1200px size

When creating the iiidea via the Riiiver App, the user reads the piece description and assembles the iiidea. If there is a picture that makes the user understood at a glance, it will lead to understanding and various ideas. (Explanation + illustration may be excellent!)
Please consider the layout because users see your picture from the smartphone.

Set OAuth file

This file is optional. If you need the O-Auth authentication function, you can use this.
Note: The detailed explanation page is under construction. Please wait a moment now.

Upload Completed

When you have finished specifying or uploading the necessary files, click the “Confirm” button at the bottom right of the PieceBuilder screen. If all settings such as pieceJSON and icon file specification are correct, the following screen will be displayed.

Register Completed

If an error occurs at this time, the cause is displayed. Please check again and try it again.

Once uploaded, the Riiiver team will review your Piece. As shown in the following screen, the screening status of the “piece list” screen is “waiting for screening” immediately after uploading. Please wait for a few days on the business day until the review finishes.


Up to this point, the uploading of the Piece is complete. Once approved, you will receive an email, so please look forward to it!