Anyflow Embed Docs
管理画面を開く
  • 👋イントロダクション
    • はじめに
    • 初期セットアップ
    • 用語集
  • 🔰トライアルツアー
    • トライアルツアー初級編
      • STEP1|アカウント作成 〜 ソリューション作成
      • STEP2|エンドユーザー変数
      • STEP3|ifステップ
      • STEP4|変数の活用、デバッグ
      • 動画チュートリアル
    • トライアルツアー中級編
      • STEP1 | 独自のアクションを追加する
      • STEP2 | My Event を理解する
      • STEP3 | My Event を実装する
    • トライアルツアーが終わったら
  • 🍳レシピ
    • CRM
      • SalesforceのToDoデータを取得する
      • Salesforceの取引先データを取得する
      • Salesforceの取引先データを登録する
      • Salesforceの商談を取得する
      • Salesforceのリードを取得する
      • HubSpotのコンタクトデータを取得する
      • HubSpotの会社データを取得する
      • HubSpotの取引データを取得する
    • コミュニケーション
      • Slack チャンネルにファイルをアップロードする
      • Slack チャンネルのメンバー情報一覧を取得する
      • 独自のSlackBotを設定する
    • 人事労務
      • SmartHRの部署データを取得する
      • SmartHRの従業員データを取得する
      • freee人事労務の従業員データを取得する
      • freee人事労務の勤怠データを取得する
    • 会計
      • freee会計の事業所データを取得する
      • freee会計の取引先データを取得する
      • freee会計の取引データを取得する
      • freeeコネクタのスコープを変更する
    • グループウェア
      • Google DriveのOAuthアプリを作成する
  • 🎨ソリューションエディタ
    • ソリューションエディタとは
    • トリガー
      • 自社プロダクト起点
        • Clickトリガー
        • Requestトリガー
          • Responseステップ
        • My Eventトリガー
          • アクセストークンの発行
        • Webhookトリガー
        • Request / My Event / Webhook トリガーの違い
      • 外部プロダクト起点
        • ポーリングトリガー
        • リアルタイムトリガー
      • スケジューラートリガー
      • トリガー条件
    • アクション
      • APIの呼び出し
        • 専用アクション
        • カスタムアクション
        • HTTPアクション
      • データの変換
        • Pythonアクション
        • 変数アクション
        • リストアクション
        • 日付と時刻アクション
        • CSVアクション
      • データの記録
        • キーバリューストア(KVS)アクション
        • ログアクション
        • メールアクション
    • ロジック
      • if
      • 繰り返し
      • エラー監視
      • 停止
    • 変数
      • 標準変数
      • エンドユーザー変数
    • 共通仕様
      • スキーマ定義
      • 固定リストと動的リスト
      • Formula
  • 🖼️ウィザードエディタ
    • ウィザードエディタとは
    • ウィジェット
      • アシスト
      • 複数選択アシスト
      • テーブルアシスト
      • チェックボックス
      • マッピング
      • コンディション
      • CSV(ファイル全体)
      • CSV項目(ヘッダーのみ)
    • ウィザードの仕様
    • 詳細設定
      • Markdown記法
      • テキストの入力パターンを指定する
      • デフォルト値を指定する
  • 🔌コネクタ
    • 対応コネクタ一覧
    • SaaSコネクタ固有の注意点
      • SaaS側でIPアドレス制限をしている場合
      • 自社独自のOAuthクライアントが必須のSaaS
      • cybozu.com製品で認証エラーとなる場合
      • kintoneコネクタとkintone(OAuth)コネクタの違い
      • ZoomコネクタとZoom(カスタム)コネクタの違い
      • SlackBotコネクタの違い
      • 2種類のSmartHRコネクタについて
    • OAuth画面をカスタムする
  • 🚀リリース
    • テスト
    • デプロイ
    • デプロイ環境
    • エンドユーザーへの提供方法
    • 自社プロダクトへの組み込み
      • JWTや公開鍵を生成する
      • SDK組み込みツアー
    • Anyflowドメインでの提供
  • 🧰運用/保守
    • 実行履歴
      • エンドユーザー向け実行履歴
      • ベンダー向け実行履歴
    • エラーへの対応
      • 連携先アプリの認証エラー
      • アクションの自動リトライ
      • ソリューションの再実行
    • イベント通知
    • ソリューション実行の上限値
    • ソリューションの削除
  • 📄ポリシー
    • 障害時の対応
    • エンドユーザーの問い合わせ
    • サービスレベル/稼働率
    • サービスの責任範囲
    • セキュリティポリシー
  • ⚙️Anyflow SDK
    • Anyflow SDK v0.13.0
      • エラータイプ
      • リファレンス
      • マイグレーションガイド
      • よくあるご質問
  • ⚙️Anyflow API
    • Vender Server API
      • Open API Specification
    • End User API
      • Open API Specification
    • Webhook
      • Open API Specification
GitBook提供
このページ内
  • 概要
  • 1.My Event を作成する
  • 2. My Event をソリューションに適用する
  • 2-1. トリガーをMy Eventに変更する
  • 2-2. HTTPコネクタの設定を変更する
  • 2-3. ウィザードからGoogle Driveを解除する
  • 2-4. ソリューションをテストする
  • 3. ソリューションを提供する
  • 3-1. JWTを発行する
  • 3-2. SDKを実装する
  • 4. My Event を実行する
  • TIPS : トークン入力を省く方法
  • まとめ
  • 👉いよいよ、本番向けソリューションの構築へ
  1. トライアルツアー
  2. トライアルツアー中級編

STEP3 | My Event を実装する

前へSTEP2 | My Event を理解する次へトライアルツアーが終わったら

最終更新 1 か月前

概要

STEP2ではMy Event の仕組みについて、デモ環境を使って学びました。

STEP3では、実際に自身の環境でMy Event を実装していきましょう。

コード実装が必要な内容です

JWTの発行やなどの内容が登場するため、コードの実装を行うことができる開発者の方とともに進めてください。

1.My Event を作成する

My Event の作成は から行います。

今回は「画像がアップロードされた時」というイベントを作成します。

名前:画像がアップロードされた時

キー:image_uploaded

スキーマ:

JSON
{
    "file_name": "business-card.png",
    "file_content": "iVBORw0KGgoAAAANSUhEUgAAATYAAACjCAMAAAA3vs..."
}

2. My Event をソリューションに適用する

2-1. トリガーをMy Eventに変更する

Google Driveトリガーを My Event に変更します。

My Event の設定で「画像がアップロードされた時(image_uploaded)」を選択します。

2-2. HTTPコネクタの設定を変更する

トリガーが変更されたことで、HTTPコネクタの設定を変更する必要があるため、修正していきます。

リクエストボディに指定する値を、Google Drive の値からMy Event の値に変更します。

  • file_name:My Event の file_name

  • file_content:My Event の file_content

2-3. ウィザードからGoogle Driveを解除する

Google Driveの認証は使わないため、ウィザードから解除します。


2-4. ソリューションをテストする

管理画面にて My Event を利用したソリューションをテストする場合、擬似的にMy Event が実行された扱いとなり、My Event のAPI をリクエストしなくてもテストが動きます。

My Event のペイロードで渡される値は、My Event 作成時に入力したサンプル値となります。

これまでと同様にSlackメッセージが投稿されれば、ソリューションの設定は完了です。

次のステップで必要となるため、ソリューションのデプロイを行います。

保存ボタンの隣にある矢印からデプロイを選択します。

ヒント

ここでデプロイしたソリューションは、次のステップを実装しない限りエンドユーザーは利用できません。


3. ソリューションを提供する

実際にMy Event のAPI をリクエストする形でソリューションを実行していきます。

方法は二通りありますが、今回はSDKを用いる方法について説明していきます。

3-1. JWTを発行する

STEP2ではデモ環境を使ったため、JWTの発行はスキップされました。

今回はスキップできないため、自身の環境で処理を作成してください。

事前にAnyflow CS とやり取りが必要な部分があります。

手順

3-2. SDKを実装する

手順

  1. SDKをインストールする

  2. JWTを使ってSDKを初期化、SDKインスタンスを取得する

  3. 今回作成したソリューションのIDを取得する

  4. 取得したIDを使ってウィザードを読み込む

ウィザードが開き、以下の様な画面が表示されれば成功です🎉

エンドユーザーとして認証を行えば、My Event を受け取る準備ができました。


4. My Event を実行する

STEP2と同様に進めていきます。

  1. “”の部分をJWT(signature)の値に置き換えてリクエストを行います

    curl --location --request POST 'https://for-product-api.anyflow.jp/sdk/token' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "jwt":"<Your JWT>",
        "env": null
    }'
  2. ”<アクセストークン>”の部分は先程取得したアクセストークンの値に置き換えてください。

    curl https://for-product-api.anyflow.jp/sdk/send_my_event \
      --request POST \
      --header "Authorization: Bearer <アクセストークン>" \
      --header "Content-Type: application/json" \
      --data '{
        "key": "image_uploaded",
        "payload": {
            "file_name": "business-card.png",
            "file_content": "iVBORw0KGgoAAAANSUhEUgAAATYAAACjCAMAAAA3vs..."
        }
      }'

    上記のcurlコマンドは My Event の詳細画面からも取得できます。

これまでと同様にSlackメッセージが投稿されれば成功です🎉


TIPS : トークン入力を省く方法

今回はソリューションの中で架空の名刺サービスAPIを利用しています。

この認証では、エンドユーザーが初回の認証時にウィザードでTokenの値を入力する必要があります。

しかし、もしこのAPIが自社プロダクトのAPIの場合、自社プロダクトにログインしているエンドユーザーが、再度自社プロダクトの認証を行うのは手間に感じるかもしれません。

この場合、Tokenの値をエンドユーザー変数で取得するのではなく、My Event のペイロードに含めてしまえば、エンドユーザーの入力は不要になります。

My Event は自社プロダクトの内部処理からリクエストできるため、tokenの存在をエンドユーザーが意識することなくソリューションを実行することが可能です。


まとめ

今回のセクションでは、My Event やSDKの実装について学ぶことができました。

STEP1の通り、HTTPコネクタを使えば独自のアクションを実現でき、

STEP2~3の通り、My Eventを使えば独自のトリガーを実現できます。

これらを活用してさらに自由度の高いソリューション作成を進めていきましょう!!

👉いよいよ、本番向けソリューションの構築へ

に移動し、STEP1で作成したソリューションを開きます。

作成したソリューションを必要があります。

こちらのを参考に進めていきます。

🔰
連携ソリューション一覧
エンドユーザー向けの環境で提供する
SDKドキュメント
アクセストークンの発行
トライアルツアーが終わったら
SDKの組み込み
My Event 一覧画面
My Event の API 実行
SDKを埋め込むサイトのオリジン(URL)をAnyflow CS に共有する
署名を行うための鍵ペアを生成し、公開鍵を管理画面から登録する
iss(ベンダーID)の値を管理画面から取得する
指定されたJWTの仕様に基づき、JWTを発行する