Channel Developers

thumbnail

Function

チャネルトークでアプリの機能をリクエストするために使用するプロトコルです。HTTP上でJSON bodyを伴って呼び出され、bodyのmethodparamsを用いて呼び出すRPCの名前とパラメータを識別します。アプリとの間で送受信されるすべてのリクエストはFunctionスキーマに従って送信されます。

Functionが呼び出された場合、開発者ページに登録されたFunction EndpointにHTTP PUTリクエストが送信されます。

Function Endpoint「アプリ設定」「基本設定」「サーバー設定」で登録できます。

リクエストを受信した場合、Signing Keyを発行してリクエストが正当なソース(チャネルトーク)からのものか検証できます。

アプリサーバーでは、これらのリクエストを処理しレスポンスできるHTTP APIをFunction Endpoint上で提供する必要があります。

method

url

notes

PUT

{Function Endpoint}

チャネルトーク→アプリサーバーへ呼び出されるリクエストです

JSON

name

type

notes

method

string

functionで呼び出す特定の機能の名前(rpc name)

params

array or object

function body.functionに送信するjsonデータ

context

object

functionが呼び出されたコンテキスト情報。以下に記述

contextはfunctionの呼び出し元情報を保持しています。

後述するx-Signature検証を実行する場合、contextに保持された情報は信頼可能です。

field

type

notes

channel

object

呼び出されたチャネルID

caller

object

`type`: 呼び出し元のタイプ - `app`, `user`, `manager` `id`:呼び出し元のID

notes

name

required

Signing Keyを利用したHMAC署名

X-Signature

true

  1. signing keyを16進数バイトでencodeします。

  2. request bodyはUTF-8 bytesでencodeします。

  3. 1番で取得したシークレットキーとHMAC SHA-256関数で、2番で取得した値のダイジェストを算出します。

  4. ダイジェストをbase64でencodeします。

  5. ヘッダーのX-Signature値と4番で取得した値が同じか比較します。

Java

body

JSON

field

type

notes

result

object or array

リクエスト処理成功時のレスポンス値を持つフィールド

error

object

リクエストエラー時のエラーオブジェクト

成功の有無に応じて result または error を返す必要があります。

JSON
JSON

field

type

notes

type

string

エラータイプ

message

string

エラーメッセージ

アプリから他のアプリのfunctionも呼び出すことができます。

呼び出すアプリのIDと前述のFunction形式を用いて、チャネルトークAPIサーバーへリクエストを送信します。

method

url

notes

PUT

app-store-api.channel.io/general/v1/apps/{appID}/functions

チャネルにインストールされた他のアプリの関数を呼び出します


name

notes

required

x-access-token

認証と権限で発行されたチャネルトークン

true

JSON

field

type

notes

method

string

functionで呼び出す機能の名前(rpc name)

params

array or object

function body.functionに送信するjsonデータ

成功の有無に応じて result または error が返されます。

field

type

notes

result

array or object

リクエスト処理成功時のレスポンス値を持つフィールド

error

object

リクエストエラー時のエラーオブジェクト

JSON
JSON

field

type

notes

type

string

エラータイプ

message

string

エラーメッセージ

Native Functionとは、チャネルトークで基本提供されるFunctionのリストです。接客チャットにメッセージを書き込んだり、マネージャーの情報を照会するなど、チャネルトークリソースを操作するために使用します。アプリでNative Functionを呼び出す方法は以下の通りです。

url

app-store-api.channel.io/general/v1/native/functions

method

PUT

notes

チャネルトーク Native Function を呼び出します

name

notes

required

x-access-token

認証と権限で発行されたチャネルトークン

true

JSON

field

type

notes

method

string

functionで呼び出す機能の名前(rpc name)

params

array or object

function body.functionに送信するjsonデータ

成功の有無に応じて result または error が返されます。

field

type

notes

result

object

リクエスト処理成功時のレスポンス値を持つフィールド

error

object

リクエストエラー時のエラーオブジェクト

JSON
JSON

field

type

notes

type

string

エラータイプ

message

string

エラーメッセージ

App

registerCommands

JSON

Channel

writeGroupMessage

JSON

writeUserChatMessage

JSON

getManager

JSON

batchGetManagers

JSON

searchManagers

JSON

getUserChat

JSON

getUser

JSON

getChannel

JSON

manageUserChat

JSON

Manager

writeGroupMessageAsManager

JSON

writeUserChatMessageAsManager

JSON

writeDirectChatMessageAsManager

JSON

User

writeUserChatMessageAsUser

JSON