説明

アクションは、マイコネクタで実行する操作(APIの呼び出し1回分)です。編集画面の「アクション」で各アクションの「設定」ボタンをクリックすると、「アクション設定」が開きます。

アクション設定には次の4つのタブがあります。

タブ 設定する内容
入力項目の設定 ワークフローのノードで利用者が入力する項目
HTTPリクエスト 呼び出すAPIのURL・メソッド・ヘッダー・本文、テスト送信、レスポンスから取り出す変数
レスポンス処理 成功・エラーの判定と、エラー時のメッセージ
メモ 管理者向けのメモ

設定が終わったら「保存する」をクリックします。入力内容に問題がある場合は、該当するタブと項目が表示されます。「一時保存」との違いはマイコネクタの作成と公開をご覧ください。

入力項目の設定

ワークフローのノードに表示する入力項目を設定します。左側にはノードの設定画面のプレビューが表示されます。

「入力内容を追加」で項目を追加し(1つのアクションに20個まで)、追加した項目をクリックすると右側で詳細を設定できます。↑↓で並べ替え、ゴミ箱アイコンで削除します。

アクション設定の「入力項目の設定」タブ

  1. 入力項目の一覧(ノードでの表示のプレビュー)。クリックした項目の詳細が右側に表示される
  2. 選んだ項目の詳細

項目名(ラベル)

ノードに表示する項目名(必須・最大50文字)。

項目説明文

ノードの項目名の下に表示する説明文(最大255文字)。

項目ID

項目を識別する番号(自動で付与)。HTTPリクエストで入力値を使うときに ${項目ID} の形で指定します。

入力形式

次から選びます(必須)。

入力形式 ノードでの表示
テキスト 1行の入力欄
テキストエリア 複数行の入力欄
リスト プルダウン(1つ選択)
ラジオ ラジオボタン(1つ選択)
チェックボックス チェックボックス(複数選択)

必須項目有無

オンにすると、ノードで入力が必須になります。

変数対応有無

テキスト・テキストエリアのみ(初期値: オン)。オンにすると、前のノードの変数を入力値に使えます。

バリデーション

テキスト・テキストエリアのみ。入力値をチェックする正規表現を、Perl互換正規表現(PCRE)の /パターン/フラグ の形で指定します(例: /^[0-9]+$/)。フラグは i m s u が使えます。

  • 空の値はチェックしません。
  • 変数を使った値は、ワークフローの実行時にチェックします。

選択肢リスト

リスト・ラジオ・チェックボックスのみ。「追加する」で選択肢を追加します(1件以上必須・最大100件)。

列 説明
ラベル(キー) ノードに表示する選択肢の名前
value APIに送る値。選択肢の間で重複できない

HTTPリクエスト

呼び出すAPIを設定します。

Method

POST・PUT・GET・DELETE・OPTIONS・PATCHから選びます(初期値: GET)。

Endpoint

呼び出すAPIのURL(必須・最大2000文字)。${項目ID} で入力項目の値を埋め込めます(例: https://api.example.com/users/${1})。値はURLエンコードされずにそのまま埋め込まれます。

Authorization

認証設定で選んだ認証方式が表示されます。ここで入力した値はテスト送信だけに使われ、保存されません。

  • OAuth認証: 「Bearer Token」にアクセストークンを入力します。「Bearer Tokenを取得」ボタンをクリックすると、OAuth認証の画面が開き、取得したトークンが入力されます。
  • Basic認証・Bearer Token・任意の認証キー: 認証設定で設定した項目に、テスト用の値を入力します。

ワークフローの実行時は、利用者が認証で入力した値が自動で付与されます(マイコネクタの認証設定)。

Headers

リクエストヘッダー。「追加する」で行を追加し、KeyとValueを入力します(どちらも必須)。Valueには ${項目ID} を使えます。

Body

リクエストの本文。「JSON」または「x-www-form-urlencoded」を選びます。

  • JSON: JSONを入力します(最大10000文字)。${項目ID} を使えます。
  • x-www-form-urlencoded: KeyとValueの組を入力します(どちらも必須)。Valueには ${項目ID} を使えます。

Params

URLのクエリパラメータ。KeyとValueを入力します(どちらも必須)。Valueには ${項目ID} を使えます。

引用可能なデータ(変数)

画面右側に、入力項目の一覧(入力形式・ラベル・項目ID)が表示されます。項目を選んで「追加」をクリックするかダブルクリックすると、入力中の欄のカーソル位置に ${項目ID} が挿入されます。

入力値の埋め込み方

HTTPリクエストのBodyに入力値を埋め込んだ例

  1. ${項目ID} の部分に、ノードで入力された値が入る(この例では、1: 顧客名、2: 区分、3: 通知先(チェックボックス))
  2. 引用可能なデータ(変数)。選んで「追加」をクリックすると、カーソルの位置に ${項目ID} が入る
場所 埋め込まれ方
Endpoint・Headers・Params・x-www-form-urlencoded 入力値がそのまま埋め込まれる
JSON 文字列はJSONの文字列としてエスケープされて埋め込まれる。"name": "${1}" のように " の中に書く
JSON(チェックボックス) 選択した値の配列(例: ["a","b"])が埋め込まれる。"notify": ${3} のように " で囲まずに書く

存在しない項目IDを指定した場合は、${項目ID} の文字のまま送信されます。

テスト送信

「テスト送信」ボタンをクリックすると、送信内容(Endpoint・Headers・Body・Params)を確認するダイアログが開きます。${項目ID} はそのまま表示されるので、テスト用の値に書き換えて「送信」をクリックします。

送信すると、結果が次の欄に表示されます。

  • ステータスコード: レスポンスのステータスコード
  • Response: レスポンスの本文(JSONの場合は整形して表示)

テスト送信では、レスポンス処理の成功・エラーの判定は行いません。

変数名を指定

レスポンスの本文から値を取り出し、後続のノードで使える変数にします。「keyと変数名を以下で指定してください。後続のワークフローで変数として利用できます。」の表に行を追加します。

列 説明
Key 取り出す値の場所(必須)。JSONのキーをドット区切りで指定する
変数名 後続のノードで表示する変数名。同じアクションの中で重複できない
リスト型 チェックすると、一致したすべての値をリスト型の変数にする。チェックしない場合は最初に一致した1件を使う

Keyの書き方の例(レスポンスが次のJSONの場合):

{
  "user": { "name": "山田" },
  "items": [ { "id": 1 }, { "id": 2 } ]
}
Key 取り出される値
user.name 山田
items[0].id 1
items[*].id 1(「リスト型」にチェックすると 1, 2 のリスト)
  • 取り出せるのは、レスポンスの本文がJSONの場合だけです。レスポンスヘッダーからは取り出せません。
  • オブジェクトや配列はJSONの文字列、true・false はそのままの文字、null は空の値になります。
  • 変数名には ' " < > . [ ] ( ) { } ` と空白は使えません。

レスポンス処理

レスポンスを成功とするかエラーとするかの判定と、エラー時のメッセージを設定します。「成功のレスポンス」に当てはまらないレスポンスはエラーになります。

成功のレスポンス

成功とするレスポンスの条件(1行以上必須)。

列 説明
レスポンスコード ステータスコード(100〜599の数値)
判定する位置 「指定しない」「Header」「Body」から選ぶ
判定するキー 判定する位置が「Header」のときはヘッダー名、「Body」のときはJSONのキー(「指定しない」以外では必須)
判定するキーに対する値 キーの値がこの値と一致するときに当てはまる。空欄の場合はキーがあれば当てはまる

エラーメッセージ

エラーとするレスポンスの条件と、そのときに表示するメッセージ。列は「成功のレスポンス」と同じ4つに「指定するメッセージ」が加わります。

それ以外のエラーメッセージ

どの条件にも当てはまらないときのメッセージ(最大255文字)。空欄の場合は「不明なエラーが発生しました。」になります。通信エラーやタイムアウトのときも、このメッセージになります。

判定の順番

  1. 「エラーメッセージ」の条件に当てはまるかを判定する
  2. 「成功のレスポンス」の条件に当てはまるかを判定する
  3. どちらにも当てはまらなければ、「それ以外のエラーメッセージ」でエラーにする

それぞれの表の中では、「キーと値が一致する条件」→「キーがあるだけの条件」→「レスポンスコードだけの条件」の順に優先されます。同じ優先度の場合は上の行が優先されます。

  • 判定する位置に「Body」を指定した条件は、レスポンスの本文がJSONの場合だけ判定できます。
  • ヘッダー名は大文字・小文字を区別しません。
  • 「エラーメッセージ」の条件に当てはまり、「指定するメッセージ」が空欄の場合は、「それ以外のエラーメッセージ」が使われます。

設定例:

レスポンス処理の設定例

  1. 成功のレスポンス。ステータスコードが200か201なら成功
  2. エラーメッセージ。404のとき、またはステータスコードが400で本文の error.code が invalid_param のときに、指定したメッセージでエラーにする
表 レスポンスコード 判定する位置 判定するキー 判定するキーに対する値 指定するメッセージ
成功のレスポンス 200 指定しない
成功のレスポンス 201 指定しない
エラーメッセージ 404 指定しない データが見つかりません
エラーメッセージ 400 Body error.code invalid_param パラメータが正しくありません

メモ

アクションについてのメモ(最大5000文字)。管理者だけが確認でき、利用者には表示されません。

注意事項(仕様など)

  • Content-Typeヘッダーは自動では付きません。APIが必要とする場合は、Headersに指定してください(例: Key Content-Type、Value application/json)。
  • 送信できるのはインターネット上の http・https のURLだけです。社内ネットワークやプライベートアドレスには送信できません。
  • タイムアウトは、接続30秒、レスポンス180秒です。
  • 処理できるレスポンスの本文は5MBまでです。超えた場合は「外部APIのレスポンスが大きすぎるため処理できません(上限5MB)。」になります。
  • GET・PUT・OPTIONSは、一時的なエラー(ステータスコード429・500・502・503・504)のときに最大3回まで自動で再送信します。POST・PATCH・DELETEは再送信しません。
  • リダイレクトは5回までたどります。別のホストにリダイレクトされた場合は、認証のヘッダーとHeadersで指定したヘッダーを外して送信します。
  • レスポンスの文字コードの指定がない場合は、UTF-8として読み込みます。