PlatioStart - PlatioのWebhooksから実行するフローの開始

PlatioのWebhooksで実行するフローのための開始コンポーネントです。
このコンポーネントで開始したフローは、3秒以内にPlatioサーバーへレスポンスを返す必要があります。
フローが正常終了した場合はフローの終了コンポーネントとしてHttpEndコンポーネントを使用し、「ステータスコード」として「200 OK」を設定してください。
PlatioのWebhooksについての詳細は「Webhooks プログラミングガイド」を参照してください。

■ストリーム情報

入力フォーマットNONE
接続数0
説明 入力ストリームは定義されません。
出力フォーマットRecord
説明 Platioアプリケーションのコレクションからあらかじめ取得したいカラムなどを選択し、WebhooksのHTTPリクエストからその値を取得します。
カラム以外に以下の項目を取得することができます。
  • 「_ApplicationId」:アプリケーションのID
  • 「_CollectionId」:コレクションのID
  • 「_Event」:イベントの名前(insertRecord、updateRecord、deleteRecord)
  • 「_RecordId」:レコードのID
  • 「_CreatedAt」:レコードの作成時刻
  • 「_UpdatedAt」:レコードの更新時刻
  • 「_CreatedByID」:作成ユーザーのID
  • 「_CreatedByName」:作成ユーザーの名前
  • 「_UpdatedByID」:更新ユーザーのID
  • 「_UpdatedByName」:更新ユーザーの名前
  • 「_Hash」:レコードのハッシュ値
  • 「_Timestamp」:レコードのタイムスタンプ
取得したいカラムなどはPlatioビルダーを使って選択します。詳細については下記トピック「Platioビルダーの使い方」を参照してください。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
トランザクション化boolean- フロー内の各コンポーネントのトランザクション処理をいつ実行するかを指定します。
処理方法によってアイコンが切り替わります。
はい [true] - フロー終了時にすべてのトランザクションがまとめてコミットまたはロールバックします。
いいえ [false] - フロー内の各コンポーネントの実行後にコミットします。
大容量ストリームを使用boolean- フロー内のデータを処理するために大容量ストリームを使用するかどうかを指定します。
フローが大容量のデータを処理することが予想される場合、このプロパティを「はい」に設定するとメモリ使用量が軽減されます。特にFileGetコンポーネントなどのファイル操作コンポーネント、および、RDBGetコンポーネントなどのデータベース操作コンポーネントでの大容量データ処理に対して、大容量ストリームは効果を発揮します。
はい [true] - 大容量ストリームを使用します
いいえ [false] - 大容量ストリームを使用しません
コレクションstring入力&出力 コレクションのIDかコレクションの名前を指定します。
Platioビルダーで選択することができます。
指定するコレクションは、Platioビルダーで出力ストリームのフィールド情報を選択するときにのみ使用されます。
区切り文字choice入力&出力 取得したカラムの型がArray型だった場合に使用する、値を区切る文字列を指定します。
Cookiecategory入力&出力 HTTPリクエストのCookieの値を取得します。
名前のフィールドにCookieの名前を定義しておくと、フローの実行時に値を取得します。 このプロパティは自動的にストリーム変数になります。本コンポーネントの後に連結したマッパーで、ストリーム変数として見えるようになっています。ストリーム変数については、フローサービスマニュアル「はじめに」-「詳細なトピック」-「フローの構成要素」-「変数」-「ストリーム変数」の「コンポーネント定義のストリーム変数」を参照してください。
Headercategory入力&出力 HTTPリクエストのヘッダーの値を取得します。
名前のフィールドにヘッダーの名前を定義しておくと、フローの実行時に値を取得します。 このプロパティは自動的にストリーム変数になります。本コンポーネントの後に連結したマッパーで、ストリーム変数として見えるようになっています。ストリーム変数については、フローサービスマニュアル「はじめに」-「詳細なトピック」-「フローの構成要素」-「変数」-「ストリーム変数」の「コンポーネント定義のストリーム変数」を参照してください。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム1PlatioのWebhooksリクエストを解析できない場合

■Platioのフィールドへのマッピングについて

Platioのカラム型とデータ型

Platioから取得した値、設定する値と、フィールド定義のデータ型の対応を以下に示します。

Platio型データ型
String型String
※複数行テキストのカラムに設定する場合の改行コードはLFを指定してください。
Number型Decimal
Boolean型Boolean
DateTime型DateTime
Date型String
Time型String
Location型
  • 緯度(latitude):Decimal
  • 経度(longitude):Decimal
  • 高度(altitude):Decimal
Attachment型
  • ID(id):String
  • 名前(name):String
  • 内容の形式(contentType):String
  • サイズ(size):Integer
User型
  • ID(id):String
  • 名前(name):String
Object型Object型に含まれるValueのタイプに合わせて設定されます。
Array型String
複数の値を区切り文字で繋げた値になります。
※Array型のvalueがObject型のような複雑なカラムを作成・更新する場合は入力ストリームにText,JSONストリームのJSON文字列を使用する必要があります。
ReferenceString型String
参照先のレコードのカラムの値になります。
作成・更新する場合はカラム値を設定します。その値から検索して得られた1つ目のレコードのIDを参照先とします。
  • レコードID(recordId):String
    レコードIDを指定した場合、指定されたレコードを参照先とし値による検索は行われません。
ReferenceNumber型Decimal
参照先のレコードのカラムの値になります。
作成・更新する場合はカラム値を設定します。その値から検索して得られた1つ目のレコードのIDを参照先とします。
  • レコードID(recordId):String
    レコードIDを指定した場合、指定されたレコードを参照先とし値による検索は行われません。
ReferenceUser型String
参照先のレコードのカラムの値(名前、ID)になります。
作成・更新する場合は名前を設定します。その値から検索して得られた1つ目のレコードのIDを参照先とします。
  • レコードID(recordId):String
    レコードIDを指定した場合、指定されたレコードを参照先とし値による検索は行われません。

■Platioビルダーの使い方

Platioビルダーは、起動時に選択するPlatioコネクションで接続できるPlatioアプリケーションからコレクション一覧を取得し、そのコレクションのカラムを出力ストリームのフィールドとして設定する専用ツールです。

●Platioビルダーを起動する

以下のいずれかの操作でPlatioビルダーを起動します。

●コネクションの選択

Platioビルダー起動時にコネクションダイアログが表示されます。
新規にコネクションを作成する場合は「新規コネクション」を選択してください。
既存のコネクションを使用する場合は「名前」のプルダウンリストより使用するコネクション名を選択してください。選択したコネクションを使用してPlatioアプリケーションへ接続します。

●新規コネクションの作成

「新規コネクション」を選択した場合「コネクションの作成」ダイアログが表示されますので、作成するコネクション名を入力し「OK」ボタンをクリックしてください。



コネクションのプロパティ入力するダイアログが表示されますので、コネクションの各プロパティを設定し「保存」ボタンをクリックしてください。

注意

この時点で新規コネクションが保存されます。

作成したコネクションでPlatioアプリケーションへ接続します。


Platioアプリケーションへの接続が成功すると以下のようなダイアログが表示されます。

●Webhooksリクエストから取得するフィールドを指定する

(2)のコレクション一覧からコレクションを選択すると(3)に選択したコレクションから取得できるフィールド一覧が表示されます。 フィールド一覧でフィールド名の左にあるチェックボックスをオンにします。指定したフィールドを取り消すには、チェックボックスをオフにします。

●取得条件オプション

Arrayセパレーターを指定もしくは入力する

Array型のセパレーターをプルダウンリストから選択します。

他の文字列をセパレーターとして使用したい場合は、文字列を入力します。

■リクエストの取得例

PlatioのWebhooksにより送信されたHTTPリクエストのボディが次のJSONだった場合に、本コンポーネントの出力ストリームとなるRecordの内容を示します。

HTTPリクエストのJSONボディー

{
  "applicationId": "pkyfjjjmlyffnlgeb5oh2eqs2aa",
  "collectionId": "tf71dbb9",
  "event": "insertRecord",
  "record": {
    "id": "rint7fzi2dnhdbezupqgla23eby",
    "createdAt": "2017-07-07T01:45:01.612Z",
    "updatedAt": "2017-07-07T01:45:01.612Z",
    "createdBy": {
      "id": "uf598c3f",
      "name": "user1"
    },
    "updatedBy": {
      "id": "uf598c3f",
      "name": "user1"
    },
    "values": {
      "c002c2c0": {
        "type": "String",
        "value": "Jeff Scott"
      },
      "c915a0bc": {
        "type": "Number",
        "value": 40
      }
    },
    "hash": "cafe99c53ad2e430066d861f40e098a1c02a297a",
    "timestamp": "2017-07-07T01:45:01.624Z"
  }
}
		

出力ストリーム(Record)の例

※上記のJSONでvalues[c002c2c0] が「名前」、values[c915a0bc] が「年齢」というカラム名である場合

フィールド名データ型
_ApplicationIdStringpkyfjjjmlyffnlgeb5oh2eqs2aa
_CollectionIdStringtf71dbb9
_EventStringinsertRecord
_RecordIdStringrint7fzi2dnhdbezupqgla23eby
_CreatedAtDateTime2017-07-07T01:45:01.612Z
_UpdatedAtDateTime2017-07-07T01:45:01.612Z
_CreatedByIdStringuf598c3f
_CreatedByNameStringuser1
_UpdatedByIdStringuf598c3f
_UpdatedByNameStringuser1
名前StringJeff Scott
年齢Decimal40
_HashStringcafe99c53ad2e430066d861f40e098a1c02a297a
_TimestampDateTime2017-07-07T10:45:01.624 JST