Hello, world!
This project is a tutorial to develop app-server of Channel Corp. App Store.
Thank you for visiting. 😁
Index | |
---|---|
Prerequisite | - |
Build | |
APIs | # functions |
# wam(static) |
- typescript
- yarn v4; Check here for wam.
# app-tutorial-ts/wam
$ npm run build # it builds wam
Before running the program, make sure to check the configuration file.
You must prepare the metadata of the app by registering one to Channel App Store.
{
"appId": "your app id",
"appSecret": "your app secret",
"signingKey": "your signing key",
"appstoreURL": "https://app-store-api.exp.channel.io/general/v1/native/functions",
"port": 3000
}
# app-tutorial-ts/server
$ npm start
METHOD | PATH |
---|---|
PUT | /functions |
This api is to request general functions defined in the project.
You must register it as a functionUrl of the app.
Note that context
in the function request is automatically full by the Channel App Store.
- tutorial (to prepare wam arguments before opening the wam)
{
"method": "tutorial",
"context": {
"channel": {
"id": "channel id which calls the wam"
}
}
}
- sendAsBot
sendAsBot
is a function to write message as a bot.
You can set the name of the bot with configuration files.
{
"method": "sendAsBot",
"params": {
"input": {
"groupId": "group id to write a message"
}
},
"context": {
"channel": {
"id": "channel id which calls the wam"
}
}
}
Success
200 OK
- tutorial
{
"result": {
"type": "wam",
"attributes": {
"appId": "app id",
"name": "tutorial",
"wamArgs": {
"managerId": "4761",
"message": "This is a test message sent by a manager."
}
}
}
}
- sendAsBot
{
"result": {
"type": "string",
"attributes": {}
}
}
Failure
200 OK
{
"error": {
"type": "",
"message": "the reason of the failure"
}
}
Note that both the success and the failure return 200 OK
for each request.
METHOD | PATH |
---|---|
- | /resource/wam/tutorial |
This endpoint serves a static page of the wam.
You must register it(/resource/wam
) as a wamUrl of the app.
The wam written in HTML.