https://d226lax1qjow5r.cloudfront.net/blog/blogposts/understanding-api-and-json-in-vonage-ai-studio-with-burger-examples/ai-studio-json-burger-order.png

Vonage AI StudioでAPIとJSONを理解する。

最終更新日 February 12, 2024

所要時間:2 分

グリル料理の基本

このブログでは、Vonage AI StudioのJSONオブジェクト、APIレスポンス、レスポンスマッピングの概念を簡単に説明します。これらのトピックについて、わかりやすく、親しみやすいハンバーガーの例(Bob's Burgersにインスパイアされた)を使って説明します。 Bob's Burgers).経験豊富な開発者であれ、API統合の初心者であれ、このガイドはVonage AI Studioの機能を最大限に活用するための貴重な洞察を提供します。リンダ・ベルチャーが言うように、「本当の悲劇は、始める前にナチョスを食べる時間がないことだ!

Vonage AI StudioでWebhookを使用する方法

Webhookは最新のWebアプリケーションに不可欠であり、リアルタイムのデータ伝送チャネルとして機能します。Vonage AI Studioでは ウェブフックノードは極めて重要な役割を果たし、外部サービスやAPIとのインタラクションを可能にします。AI Studioでは、webhookは外部サービスからのイベントのリスナーとして機能し、ワークフロー内で事前に定義されたアクションをトリガーします。Webhookがデータを受信すると、レスポンスマッピング機能によってレスポンスから特定の情報を抽出し、ワークフローの後続ステップで使用することができます。この機能は、動的で応答性の高いアプリケーションを作成するために重要です。

JSONオブジェクトを見つけるためのトリックとツール

JSON(JavaScript Object Notation)レスポンスを理解し、ナビゲートすることは、Vonageを含むREST APIを使用する際に重要なスキルです。先に述べたように、JSONは読みやすくシンプルなので、私はJSONでの作業を楽しんでいます。しかし、複雑で大きなJSON構造を扱う場合、必要なデータを正確に見つけるのは難しいことがあります。ありがたいことに、APIレスポンスの扱いに慣れていない人でも、JSONオブジェクトを簡単に見つけることができるユーザーフレンドリーなツールがあります。

JSONオブジェクトとは?

まず、JSONオブジェクトとは何かを理解しよう。最も単純な形では、JSONオブジェクトは、中かっこで囲まれたキーと値のペアのコレクションです。 {}.各キーは一意の識別子(通常は文字列)であり、それに関連付けられた値は、数値、文字列、ブーリアン、別のオブジェクト、配列、またはNULLです。例えば

{
  "item": "burger",
  "quantity": 2,
  "withFries": true,
  "extras": ["cheese", "lettuce"],
  "specialInstructions": null
}

このJSONオブジェクトでは

  • item(テキスト):注文された商品は "burger".

  • quantity(数字):数量を数字で表す、 2.

  • withFries(ブール):このキーは、注文にフライドポテトが含まれるかどうかを示します (trueまたは false).ここでは true.

  • extras(配列):追加トッピングを配列としてリストします。 "cheese""lettuce".

  • specialInstructions(Null):追加命令に使用する。null).

この例では、JSON形式のさまざまなタイプの値を利用して、ハンバーガーの注文を明確かつシンプルに表現している。

この例では item, quantity, withFries, extrasそして specialInstructionsはキーであり "burger", 2, true, ["cheese", "lettuce"]はそれぞれの値である。 nullはそれぞれの値である。

JSONレスポンスをナビゲートする方法

  1. JSONの構造を理解する:JSON レスポンスの構造を理解することから始めます。オブジェクトと配列(値のリスト)の階層を確認する。

  2. わかりやすいフォーマット:APIからのJSONレスポンスは、時にコンパクトで読みにくいことがあります。そこで フォーマッターツールを使ってJSONを「きれいに」し、読みやすくしましょう。JSONLint (jsonlint.com)のようなツールは、この機能を提供します。コンパクトなJSON文字列を受け取り、適切なインデントと改行でフォーマットします。

JSONオブジェクトを見つけるためのツール

  1. JSONLint:前述のように、JSONLintはJSONのフォーマットに最適です。また、JSON構文を検証し、適切なパースを妨げる可能性のあるエラーを検出して修正するのに役立ちます。

  2. JSONPath Finder:より複雑なJSON構造の場合、JSONPath Finderのようなツールは非常に有用です。これらのツールを使用すると、JSONの特定の部分をクエリして抽出することができます。XMLのXPathに似たクエリ言語を使用して「パス」を入力すると、ツールはクエリに一致するJSONの部分を返します。

上記の注文の例を使って、今日フライドポテトで何件の注文が売れたかを知りたかったとする。 $.orders[*].withFries.同様に、通話記録のリストを含むVonageからのJSONレスポンスでは、各レコードから発信者IDを抽出したい場合があります。次のようなJSONPathクエリを使用すると、すべての発信者IDをすばやく取得できます。 $.calls[*].callerIDのようなJSONPathクエリを使用すると、リストからすべての発信者IDをすばやく取得できます。

REST APIレスポンスの理解

REST APIは "Representational State Transfer Application Programming Interface "の略。

  • 表現的状態遷移(REST)は、ネットワーク・アプリケーションを設計するためのアーキテクチャ・スタイルである。ステートレスでクライアントとサーバーの通信プロトコルに依存しており、ほとんどの場合HTTP(Hypertext Transfer Protocol)である。

  • アプリケーション・プログラミング・インターフェース(API)とは、異なるソフトウェア・アプリケーションが相互に通信するための規則と定義のセットである。

Webサービスの文脈では、REST APIは、アプリケーションがWebのプロトコル(HTTPなど)を使用してWebサービスと対話する方法を提供し、一般的にGET、POST、PUT、DELETEなどの操作を使用してデータを要求し、転送することを含む。REST APIは、そのシンプルさ、拡張性、多用途性から広く使われている。これがREST APIをウェブコミュニケーションのバックボーンにしている理由であり、そのレスポンスを理解することが統合を成功させる鍵となる。

APIのレスポンスはしばしばJSON形式で送られてくる。視覚的な人間として、私は が大好きだ。JSON構造がより軽量で可読性が高いことが、とても気に入っています。効率的なデータ交換とVonage AI Studioとの統合を保証するJSONフォーマットの役割を強調しながら、REST APIレスポンスのニュアンスを探ります。

オブジェクトパスの作成

APIからのJSONレスポンスを扱う場合、特にVonage AI Studioのようなツールでは、"オブジェクトパス "を理解し、作成することが最も重要なスキルの1つです。

オブジェクト・パスとは?

オブジェクト パスとは、JSON オブジェクトをナビゲートして、必要な特定のデータに到達するためにたどるキーのシーケンスです。オブジェクト パスは、JSON 構造の中で必要な情報の正確な部分に導く GPS ルートだと考えてください。たとえば、人物を表す JSON オブジェクトでは、電子メールを見つけるためのオブジェクト パスは次のようになります。 person.contact.email.

オブジェクト・パスの作り方

  1. ルートから開始する:JSONオブジェクトのルートは、その最も外側のレベルである。ここから、データに近づくための最初のキーを特定します。

  2. レイヤーをナビゲートする:キーの値が別のオブジェクトまたは配列の場合、次のキーまたは配列のインデックスを指定して続行します。

  3. データに到達するまで繰り返す:必要なデータに到達するまで、キーまたはインデックスを指定し続ける。

Vonage AI Studioでの実践例

簡単なJSONレスポンスを使って、オブジェクト・パスの構築方法を説明しよう。Vonage APIからの以下のようなJSONレスポンスがあるとする:

{
  "order": {
    "details": {
      "item": "burger",
      "size": "large",
      "customizations": {
        "extras": ["cheese", "lettuce", "tomato"],
        "exclude": ["pickles"],
        "sauces": ["ketchup", "mustard"]
      }
    },
    "customerInfo": {
      "name": "Bob",
      "contact": {
        "email": "bob@bobsburgers.com",
        "phone": "555-6789"
      }
    }
  }
}
  • 目的ハンバーガーの注文から除外された商品を抽出したいとしよう。

  • 拡張オブジェクト・パスの構築:

    1. ルートから始める:ルートキーは order.

    2. ファーストレイヤー内部 orderに移動します。 details.

    3. 第二層:detailsを見つける。 customizations.

    4. ファイナル・デスティネーションこの customizationsオブジェクトにはキー exclude.

  • 最終的なオブジェクトパス:ソースのリストを見つけるためのオブジェクト・パスは次のようになる。 order.details.customizations.exclude.

Vonage AI Studioでオブジェクトパスを使用する方法

Vonage AI Studioでは、レスポンスマッピングを設定したり、Webhookノードでノードを設定したりする際に、APIレスポンスから必要なデータを見つけて抽出する場所をStudioに正確に伝えるために、これらのオブジェクトパスを指定する必要がよくあります。オブジェクトパスは、複雑なJSON構造から必要なデータのみをピンポイントで抽出できるため、データ処理を効率的かつエラーなく行うために不可欠です。

APIリクエストにクエリ・パラメータを渡す/追加する方法

このセクションでは、APIインタラクションでパラメータを設定することが、料理の注文をカスタマイズすることにどのように似ているかを探る。レストランでどのようにハンバーガーを食べるかを指定するのと同じように、APIリクエストのパラメータによって、必要なデータを正確に定義することができる。このコンセプトを説明するために、ハンバーガーを注文するという分かりやすい例えを使い、実際のシナリオでどのように適用されるかをサンプルデータセットと共に説明する。

例ハンバーガーの注文

ボブズ・バーガーズでハンバーガーを注文したとしよう。しかし、あなたはピクルスが嫌いだ。チーズバーガーを頼みたいのですが、ピクルスは我慢してください」とサーバーに言ったとする。

クエリ・パラメータとは?

  • 実世界での例え:クエリーパラメーターは、料理の注文における好みのようなものだ。ピクルス抜きのハンバーガーなど、特定のものをリクエストするときは、注文のパラメータを設定していることになる。

  • API用語でパラメータとは、APIリクエストで送信する値のことです。APIからどのような情報が欲しいかを指定します。例えば、ユーザーに関する情報をリクエストする場合、パラメータはユーザーのIDかもしれない。パラメータによって、データリクエストをカスタマイズすることができます。パラメータを使用することは、APIから必要なものだけを正確に取得することを意味します。

APIパラメータへの変換

  • APIリクエスト:APIの世界では、リクエストは厨房への注文のようなものだ。あなたが提供する詳細('ピクルスなし'のような)は、このリクエストをカスタマイズするパラメータです。

  • パラメータの設定:APIリクエストで特定の詳細を指定する場合、パラメータを設定することになる。これらのパラメータは、APIにあなたのデータの「準備」方法を正確に伝えます。

Vonage AI Studioでのパラメータ設定

  1. データニーズを特定する:APIから具体的にどのような情報が必要なのか、またAPIがどのような情報を提供できるのかを理解する。例えば、あなたがBob's Burgersでピザを注文した場合、キッチンはエラーを返すだろう。

  2. Vonage AI Studioのインターフェイスを使用します:スタジオでは、パラメータを設定する直感的な方法を提供しています。例えば、ユーザーデータを取得する場合、'userID'のパラメータを設定します。

  3. パラメータ値を入力します:これらの値は、取得しようとしているデータと一致させる必要があります。この例では、これはユーザーの実際のIDになります。

APIリクエストのサンプルデータ

これを視覚化するためのサンプル・データセットを作ってみよう:

{
  "order": {
    "item": "burger",
    "extras": ["cheese", "lettuce", "tomato"],
    "exclude": []
  }
}

実践例Vonage AI Studioでの注文のカスタマイズ

  1. 最初の注文:サンプルデータを使って、最初の注文はチーズ、レタス、トマトのハンバーガーです。

  2. カスタマイズのためのパラメータ設定:ハンバーガーにピクルスを乗せたくないとします。Vonage AI StudioなどのAPI設定では、'exclude'パラメータに'pickles'を追加します。

  3. 変更されたオーダーデータ:

    {
      "order": {
        "item": "burger",
        "extras": ["cheese", "lettuce", "tomato"],
        "exclude": ["pickles"]
      }
    }
  4. 結果:APIはこのリクエストを処理し、カスタマイズされた注文を反映したレスポンスを返す。

データベースのテーブルではこうなる:

Order ID Item Extras Exclude
001 Burger Cheese, Lettuce, Tomato Pickles

ヴォネージのバーガー "ゲストリスト "に参加する

この記事では、Vonage AI StudioでJSONオブジェクト、APIレスポンス、レスポンスマッピングを扱うためのエッセンスを、Bob's Burgersにインスパイアされたわかりやすい例を通して学びました。この記事を読んで気に入ったら、開発者の「ハンバーガーショップ」に参加してください。 Slackでフォローしてください。 Xでフォローしてください。このブログが少しでも役に立ったなら、レビューをシェアしてください。 タグをつけてください。- あなたの "食事体験 "をお聞かせください。

シェア:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana Phamデベロッパー・アドボケイト

ダイアナはVonageのデベロッパー・アドボケイト。新鮮な牡蠣を食べるのが好き。