ASTERIA
Platio

PlatioStartコンポーネントの使い方

概要

PlatioStartコンポーネントは、PlatioのWebhooksで呼び出されるフローのStartコンポーネントとして使用します。
Platioは新しいレコードが追加されたとき、既存のレコードが更新されたとき、既存のレコードが削除された時にHTTPリクエストをPOSTするように設定できますので、各イベントごとに送られてくるリクエストに含まれる情報から取得したい部分を取り出すためのコンポーネントとなります。

使用時の手順

  1. Platioでプレート、アプリを作成する
  2. アプリのAPIトークンを作成する
  3. WARP(フローサービス管理コンソール、フローデザイナー)でPlatioへのコネクションを作成する
  4. フローデザイナーで新規フローを作成する
  5. Startコンポーネントを右クリックして「開始コンポーネントの置き換え/PlatioStart」コンポーネントをPlatioStartコンポーネントへ置き換える
      de1.png

  6. PlatioStartコンポーネントをダブルクリックし、作成したPlatioコネクションを選択する
      de3.png

  7. WebHookを設定するアプリケーションから取得する情報を選択する
      de2.png

  8. 取得する情報を使いフローを完成させる(フローが正常終了した場合はフローの終了コンポーネントとしてHttpEndコンポーネントを使用し、「ステータスコード」として「200 OK」を設定)
      de4.png

  9. 作成したフローへURLトリガーを設定(※URLをコピーしておきます)
      de5.png

  10. Platio Studioでプレートを選択し「外部連携の管理」を選択する
      wh1.PNG

  11. Webhookを追加するアプリケーションを選択する
    wh2.PNG

  12. 「Webhookを追加」ボタンから、コピーしておいたURLを使いWebhookを追加する
      wh3.PNG
    ↓(※ここでコピーしておいたURLを入力します)
      wh4.PNG
    ↓(※3つのイベントすべてを選択しています)
      wh5.PNG

動作確認

Platio iOSアプリからレコードの追加、編集、削除を行い、それぞれのイベントごとにフローが実行されることを確認します。

レコードを追加したときのPlatioStartコンポーネントの出力ストリーム例
<?xml version="1.0" encoding="utf-8"?>
<RecordSet xmlns="http://www.infoteria.com/asteria/flowlibrary/record">
    <Record>
        <Field name="_Event" type="String">insertRecord</Field>
        <Field name="_RecordId" type="String">rgitws5ccenge7lh32oz3lkne7i</Field>
        <Field name="名前" type="String">Test a</Field>
        <Field name="画像 name" type="String">image.jpeg</Field>
        <Field name="画像 size" type="Integer">1768202</Field>
        <Field name="_CreatedAt" type="DateTime">2018-01-10T04:21:21.464 UTC</Field>
        <Field name="_UpdatedAt" type="DateTime">2018-01-10T04:21:21.464 UTC</Field>
    </Record>
</RecordSet>

追加時は_Eventの値が「insertRecord」になっています。

レコードを編集したときのPlatioStartコンポーネントの出力ストリーム例
<?xml version="1.0" encoding="utf-8"?>
<RecordSet xmlns="http://www.infoteria.com/asteria/flowlibrary/record">
    <Record>
        <Field name="_Event" type="String">updateRecord</Field>
        <Field name="_RecordId" type="String">rgitws5ccenge7lh32oz3lkne7i</Field>
        <Field name="名前" type="String">Test apple</Field>
        <Field name="画像 name" type="String">image.jpeg</Field>
        <Field name="画像 size" type="Integer">1768202</Field>
        <Field name="_CreatedAt" type="DateTime">2018-01-10T04:21:21.464 UTC</Field>
        <Field name="_UpdatedAt" type="DateTime">2018-01-10T04:21:40.208 UTC</Field>
    </Record>
</RecordSet>

更新時は_Eventの値が「updateRecord」になっています。

レコードを削除したときのPlatioStartコンポーネントの出力ストリーム例
<?xml version="1.0" encoding="utf-8"?>
<RecordSet xmlns="http://www.infoteria.com/asteria/flowlibrary/record">
    <Record>
        <Field name="_Event" type="String">deleteRecord</Field>
        <Field name="_RecordId" type="String">rgitws5ccenge7lh32oz3lkne7i</Field>
        <Field name="名前" null="true" type="String"/>
        <Field name="画像 name" null="true" type="String"/>
        <Field name="画像 size" null="true" type="Integer"/>
        <Field name="_CreatedAt" type="DateTime"></Field>
        <Field name="_UpdatedAt" type="DateTime"></Field>
    </Record>
</RecordSet>

削除時は_Eventの値が「deleteRecord」になっています。

1つのURLで3つのイベントを受けても_Eventの値で処理を分岐することができます。

注意

Platioから指定したURLへHTTPリクエストが届く必要がありますので、社内の閉じた環境では動作しません。