カテゴリー
App
スタートガイド(チュートリアル)
はじめまして!😁 チャネルトークのアプリサーバー開発チュートリアルへようこそ。 このドキュメントを通じて、以下の作業を行うことができます。 - アプリストア(App Store)の簡単な理解 - アプリ開発 - アプリインストール - アプリの使用方法 このドキュメントでは、アプリストアとそのサブコンセプトの概要を説明します。各項目に関する詳細情報は、開発ガイドを併せてご参照ください。 (→Authentication) (→Function) (→Command) (→WAM) app-tutorial(typescript、go)でこのドキュメントに挿入されたコードを一括で確認できます。 アプリストア(App Store)とは? これからは、チャネルトークの開発者でなくても、自社のチャネルに必要なカスタムサードパーティアプリを開発し、チャネルに登録することができます! - 開発者はチャネルトークの仕様に適合した特別なアプリを開発し、アプリストアサーバーに登録します。 - チャネル管理者はアプリストアプラットフォームで登録済みアプリの一覧を確認し、自身のチャネルに登録できます。 アプAuthentication
開発者が作成したAppでチャネルトークAPIを使用するには、トークンを発行する必要があります。 まず、[チャネル設定] - [セキュリティ・開発] - [アプリ設定] で、以下の手順に従ってください。 1. App Secretの発行 トークン発行には、まずApp Secretを取得する必要があります。アプリ設定ページ上部の「発行」ボタンをクリックしてシークレットを取得できます。このシークレットは外部に漏洩しないようご注意ください。トークンを再発行する場合、以前に発行されたトークンは無効化されます。 2. アプリの権限登録 Channel、User、Managerセクションで、開発者が使用する機能をチェックして選択し、保存する必要があります。各機能の説明はこちらをご参照ください。 User、Managerセクションに登録した権限は、WAMに渡されるトークンに含まれるようになります。 Channelセクションに登録した権限は、以下の (3) の手順を通じてトークンとして発行できます。 3. Native functionを利用したトークン交換 App Secretを発行したら、以下のようFunction
1. Functionとは チャネルトークでアプリの機能をリクエストするために使用するプロトコルです。HTTP上でJSON bodyを伴って呼び出され、bodyのmethodとparamsを用いて呼び出すRPCの名前とパラメータを識別します。アプリとの間で送受信されるすべてのリクエストはFunctionスキーマに従って送信されます。 2. Function Handling Functionが呼び出された場合、開発者ページに登録されたFunction EndpointにHTTP PUTリクエストが送信されます。 Function Endpointは「アプリ設定」→「基本設定」→「サーバー設定」で登録できます。 リクエストを受信した場合、Signing Keyを発行してリクエストが正当なソース(チャネルトーク)からのものか検証できます。 アプリサーバーでは、これらのリクエストを処理しレスポンスできるHTTP APIをFunction Endpoint上で提供する必要があります。 method url notes PUT {Function Endpoint} チャネルトーク→アプリサーバCommand
Commandとは commandは、userまたはmanagerがチャットWYSIWYGを通じて連携を希望する開発サーバーの機能を利用できるように作られたインターフェースです。commandが呼び出されると、チャネルトークAPIサーバーはfunctionプロトコルを通じて連携を希望するサーバーへリクエストを送信します。 Commandの登録方法 commandは以下のフィールドで構成されています。 { "name" : "commandName", "scope" : "desk", "description": "this is test command", "nameDescI18nMap": { "en": { "description": "test command en", "name": "test" }, "ko": { "description": "테스트 커맨드", "name": "테스트" } }, "actionFunctionName": "testFunction", "autoCompleteFunctionName": "autoCompleteFuWAM
WAMとは Functionやcommandがユーザーインタラクションを必要とする場合や、特定の情報をユーザーに表示する必要がある場合、WAM(Web Application Module)を作成して使用できます。 WAMはSPA(Single-page application)形式で実装する必要があります。WAMを実装するためのライブラリ、フレームワーク、バンドラーなどは開発者の選択であり、どれを選択しても問題ありません。 開発したWAMをアプリサーバードメインの下位エンドポイントでserveするように設定した後、App設定段階で「WAM Endpoint」に該当するendpoint URLを入力するとWAM登録が完了します。 例えば開発したWAMのwamNameがexample-1-appの場合、サーバーでは${WAM_ENDPOINT}/example-1-app URLを呼び出します。 --- WAM Controller WAMはデスク/フロント内で単一のUIのように表示されますが、実行自体は別の隔離された空間であるWAM Controller内で実行されます。 WAM Co