ハウツーガイド: JSONデータ形式

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workato SDKのデフォルトの想定データ形式はJSONです。 データ形式が指定されていない場合、アクションとトリガーの入力はJSONペイロードとして渡されます。 SDKがJSONを想定しているにもかかわらず別のデータ形式を受け取った場合、JSONパーサーエラーが表示されます。

HTTPリクエストを宣言すると、Workatoは送信リクエストと受信レスポンスがJSONであると見なします。 送信リクエストに適切なヘッダーAccept: application/jsonおよびContent-Type: application/jsonを追加する処理を支援します。

以下に、post_messageというタイトルのアクションの例を示します。 このシンプルなアクションは、post_messageアクションのinput_fieldsキーで定義されたフィールドに基づいてユーザーから入力を収集します。また、アクションがレシピで実行されると、executeキーが実行され、inputを本文としてhttps://api.ciscospark.com/v1/messagesに対するPOST HTTP呼び出しが作成されます。

サンプルコードスニペット

ruby
{
  title: 'My cisco connector',

  connection: {
    # Some code here
  },
  test: {
    # Some code here
  },

  actions: {
    post_message: {
      input_fields: lambda do
        [
          {
            name: "roomId"
          },
          {
            name: "text"
          }
        ]
      end,

      execute: lambda do |connection,input|
        post("https://api.ciscospark.com/v1/messages", input)
      end,

      output_fields: lambda do
        [
          {
            name: "id"
          },
          {
            name: "roomId"
          },
          {
            name: "roomType"
          },
          {
            name: "text"
          },
          {
            name: "personId"
          },
          {
            name: "personEmail"
          },
          {
            name: "created"
          }
        ]
      end
    }
  },

  triggers: {
    # Some code here
  },
  object_definitions: {
    # Some code here
  },
  pick_lists: {
    # Some code here
  },
  methods: {
    # Some code here
  },
}

ここでは、上記のexecuteキーが実行されたときに送信される結果のリクエストを示します。 デフォルトではContent-Typeヘッダーをapplication/jsonに設定し、入力をJSON形式の文字列内のキーと値のペアとしてフォーマットします。 これにより、実行する必要があるリクエスト前後の処理量を最小限に抑えられます。

リクエスト

それでは、先ほど定義したpost_messageアクションを実行すると何が起こるかを見ていきます。 以下では、https://api.ciscospark.com/v1/messagesに送信するPOST HTTPリクエストについて説明します

ヘッダーと本文セクション

POST HTTPリクエストは通常、HeadersBodyの2つのセクションに分かれています。 リクエストヘッダーはHTTPメソッドを定義し、リクエストに関連するメタデータを含みます。 リクエスト本文には実際のコンテンツまたはペイロードが含まれます。

リクエストヘッダー

アクションでデータ形式が宣言されていないため、WorkatoはデフォルトでJSONを使用し、Content-Typeapplication/jsonを割り当てます。 これにより、リクエストの送信先APIに、リクエスト本文がJSONデータ形式であることを伝えます。

http
POST https://api.ciscospark.com/v1/messages
Accept  application/json
Content-Type  application/json
Authorization Bearer ---

リクエスト本文:

このリクエスト本文は、ユーザーの入力に基づいて生成され、WorkatoによってJSON形式に変換されます。 このリクエスト本文は、roomIdフィールドが1234textフィールドがtestingであるユーザーの入力に対応します。

json
{
  "roomId":"1234",
  "text":"testing"
}

レスポンス

HTTPリクエストを送信すると、いくつかのコンポーネントを含むレスポンスが返されることを想定します

レスポンスステータスコード

レスポンスステータスコードは、APIへのリクエストが成功したかどうかを知るための重要な手段です。 HTTP/1.1 200 OK

レスポンスヘッダー

これはリクエストヘッダーに似ており、レスポンス本文に関するメタデータを含みます。

レスポンス本文:

レスポンス本文は、APIがリクエストへの応答として情報の大部分を送信する場所です。

json
{
  "id":"1",
  "roomId":"1234",
  "roomType":"group",
  "text":"testing",
  "personId":"101",
  "personEmail":"[email protected]",
  "created":"2017-03-26T13:28:22.131Z"
}

Last updated: