概要
PlatioStartコンポーネントは、PlatioのWebhooksで呼び出されるフローのStartコンポーネントとして使用します。
Platioは新しいレコードが追加されたとき、既存のレコードが更新されたとき、既存のレコードが削除された時にHTTPリクエストをPOSTするように設定できますので、各イベントごとに送られてくるリクエストに含まれる情報から取得したい部分を取り出すためのコンポーネントとなります。
使用時の手順
- Platioでプレート、アプリを作成する
- アプリのAPIトークンを作成する
- WARP(フローサービス管理コンソール、フローデザイナー)でPlatioへのコネクションを作成する
- フローデザイナーで新規フローを作成する
Startコンポーネントを右クリックして「開始コンポーネントの置き換え/PlatioStart」コンポーネントをPlatioStartコンポーネントへ置き換える
取得する情報を使いフローを完成させる(フローが正常終了した場合はフローの終了コンポーネントとしてHttpEndコンポーネントを使用し、「ステータスコード」として「200 OK」を設定)
「Webhookを追加」ボタンから、コピーしておいたURLを使いWebhookを追加する
↓(※ここでコピーしておいたURLを入力します)
↓(※3つのイベントすべてを選択しています)
動作確認
Platio iOSアプリからレコードの追加、編集、削除を行い、それぞれのイベントごとにフローが実行されることを確認します。
<?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」になっています。
<?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」になっています。
<?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リクエストが届く必要がありますので、社内の閉じた環境では動作しません。