Channel Developers

thumbnail
カテゴリー

App

最初の Channel アプリを作る

このチュートリアルでは、Channel の会話で /tutorial を実行すると小さな画面が開き、2 つのボタンからテストメッセージを送信するアプリを作ります。初回は TypeScript の手順を推奨します。Go を使う場合は Go を使う場合 に進んでください。 完成したアプリは次のように表示されます。 始める前に、次の 3 つの用語だけ確認してください。 - Function: アプリサーバーが実行する 1 つの処理です。このチュートリアルでは、画面を開く処理とメッセージを送る処理が Function です。 - Extension: アプリの Function を Channel の機能につなぐ設定です。ここでは /tutorial Command をつなぎます。 - WAM: Channel 内で開くアプリ画面です。このチュートリアルでは 2 つのメッセージ送信ボタンを表示します。 Function リクエストの署名検証、Extension の登録、WAM とサーバーの接続は SDK が処理するため、独自に実装する必要はありません。 1. 始める前の準備 次のものが必要です
最初の Channel アプリを作る

基本概念

Channel アプリは、Function を実行するサーバーと、必要に応じて WAM として作る Web UI で構成されます。Extension は関連する Function を Channel の標準機能に接続し、AppStore は呼び出し・登録・権限の境界を担当します。 Channel client → AppStore → 署名付き PUT /functions/v1 → SDK の検証・dispatch → Function handler Function result → WAM を開く → WAM SDK → app Function または Channel native function Function Function は app server で実行される 1 つの型付き operation です。Call request には次の値が含まれます。 - method: 呼び出す Function の完全な名前 - params: caller から受け取る未信頼の input - context: AppStore が構成した caller、channel、
基本概念

Function 登録

Function は Channel または他の app が app server に送る typed RPC です。Request の method が Function の完全な name で、params が input です。App 固有 Function は orders.get のような standalone name で登録し、標準 Extension Function は Extension name と relative name を組み合わせます。 Wire contract 受信 call は次の JSON-RPC-like envelope を使用します。 { "method": "orders.get", "params": { "orderId": "order-1" }, "context": { "caller": { "type": "manager", "id": "manager-id" }, "channel": { "id": "channel-id" } }, "systemVersion": "v1" } - method: discove
Function 登録

Command ガイド

Command Extension は user または manager が Channel の desk/front command UI から app 機能を 実行できるようにします。Command metadata が表示と input を定義し、metadata が参照する typed Function が実際の action を処理します。 現在の contract Function または field 必須 役割 extension.command.metadata.getCommands 必須 Command definition を discovery actionFunctionName Command ごと 選択された command を実行 autoCompleteFunctionName 任意 Parameter suggestion を返す paramDefinitions[].autoComplete 任意 Parameter の suggestion を有効化 commands は最大30件の definition を返せます。 Metadata fiel
Command ガイド

WAM ガイド

WAM(Web App Module)は Channel client 内で開く React web UI です。App server ではなく、server credential を保持しません。Command、widget、custom tab など、user interaction が必要な Extension action で使用します。 Action から WAM を開く Function が次の action result を返すと、Channel client が WAM を開きます。 { "type": "wam", "attributes": { "appId": "public-app-id", "name": "tutorial", "wamArgs": { "view": "summary" } } } appId は公開識別子で、name が WAM route を選択します。wamArgs は browser code から読める ため、secret、token、provider credential、customer の raw content を入れない
WAM ガイド

Extension 完全ガイド

Extension とは Extension は typed app Function を Channel の標準機能に接続する、名前と version を持つ契約です。 アプリが公式 Function name と schema を実装すると、Channel の画面は command、widget、custom tab、hook、OAuth などの機能を discovery して呼び出せます。 Extension は通常、2 種類の Function で構成されます。 Function の種類 役割 例 Metadata または discovery 機能を説明し、runtime Function を指す extension.command.metadata.getCommands Runtime または action user-facing または background operation を実行する extension.command.command.execute Metadata は orders.sync のような standalone app Function を参照するこ
Extension 完全ガイド

本番運用準備ガイド

Install 済みの Test Channel でアプリの end-to-end flow が動作した後に、このガイドを使ってください。 最初の app Quickstart を完了するための必須ドキュメントではありません。動作する Function、 Extension、必要に応じた WAM を、安全に deploy・rollback・observe・operate できる release にする ことが目的です。 先に 基本概念、Extension 完全ガイド、必要な family recipe を完了して ください。正確な API は TypeScript reference と Go reference を基準に確認します。 このガイドの使い方 各 section を release gate として使います。アプリに該当する各項目の owner、evidence、rollback decision を記録してください。 Gate Release 前に必要な evidence Contract Function schema、Extension discovery、permi
本番運用準備ガイド