add(api,docs): webhooks schema and docs
This commit is contained in:
@@ -860,5 +860,262 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"entrypoint": "webhooks",
|
||||
"authentication": [],
|
||||
"path": "/webhooks",
|
||||
"method": "GET",
|
||||
"title": "Webhooks",
|
||||
"struct": [
|
||||
{
|
||||
"imports": [
|
||||
"github.com/crusttech/crust/messaging/types"
|
||||
]
|
||||
}
|
||||
],
|
||||
"parameters": {},
|
||||
"apis": [
|
||||
{
|
||||
"name": "list",
|
||||
"path": "/",
|
||||
"method": "GET",
|
||||
"title": "List created webhooks",
|
||||
"parameters": {
|
||||
"get": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"type": "uint64",
|
||||
"required": false,
|
||||
"title": "Channel ID"
|
||||
},
|
||||
{
|
||||
"name": "userID",
|
||||
"type": "uint64",
|
||||
"required": false,
|
||||
"title": "Owner user ID"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "create",
|
||||
"path": "/",
|
||||
"method": "POST",
|
||||
"title": "Create webhook",
|
||||
"parameters": {
|
||||
"post": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Channel ID"
|
||||
},
|
||||
{
|
||||
"name": "kind",
|
||||
"type": "types.WebhookKind",
|
||||
"required": true,
|
||||
"title": "Kind (incoming, outgoing)"
|
||||
},
|
||||
{
|
||||
"name": "trigger",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Trigger word"
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "POST URL"
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Default user name"
|
||||
},
|
||||
{
|
||||
"name": "avatar",
|
||||
"type": "*multipart.FileHeader",
|
||||
"required": false,
|
||||
"title": "Default avatar"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Default avatar (from URL)"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "update",
|
||||
"path": "/{webhookID}",
|
||||
"method": "POST",
|
||||
"title": "Attach file to channel",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Webhook ID"
|
||||
}
|
||||
],
|
||||
"post": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Channel ID"
|
||||
},
|
||||
{
|
||||
"name": "kind",
|
||||
"type": "types.WebhookKind",
|
||||
"required": true,
|
||||
"title": "Kind (incoming, outgoing)"
|
||||
},
|
||||
{
|
||||
"name": "trigger",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Trigger word"
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "POST URL"
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Default user name"
|
||||
},
|
||||
{
|
||||
"name": "avatar",
|
||||
"type": "*multipart.FileHeader",
|
||||
"required": false,
|
||||
"title": "Default avatar"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Default avatar (from URL)"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"name": "get",
|
||||
"path": "/{webhookID}",
|
||||
"title": "Get webhook details",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Webhook ID"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "DELETE",
|
||||
"name": "delete",
|
||||
"path": "/{webhookID}",
|
||||
"title": "Delete webhook",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Webhook ID"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"entrypoint": "webhooks_public",
|
||||
"authentication": [],
|
||||
"path": "/webhooks",
|
||||
"method": "GET",
|
||||
"title": "Webhooks (Public)",
|
||||
"parameters": {},
|
||||
"apis": [
|
||||
{
|
||||
"method": "DELETE",
|
||||
"name": "delete",
|
||||
"path": "/{webhookID}/{webhookToken}",
|
||||
"title": "Delete webhook",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Webhook ID"
|
||||
},
|
||||
{
|
||||
"name": "webhookToken",
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"title": "Authentication token"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"name": "create",
|
||||
"path": "/{webhookID}/{webhookToken}",
|
||||
"title": "Create a message from a webhook payload",
|
||||
"parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"type": "uint64",
|
||||
"required": true,
|
||||
"title": "Webhook ID"
|
||||
},
|
||||
{
|
||||
"name": "webhookToken",
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"title": "Authentication token"
|
||||
}
|
||||
],
|
||||
"get": [
|
||||
{
|
||||
"name": "username",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Custom username for webhook message"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"title": "Custom avatar picture for webhook message"
|
||||
},
|
||||
{
|
||||
"name": "content",
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"title": "Message contents"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
{
|
||||
"Title": "Webhooks",
|
||||
"Interface": "Webhooks",
|
||||
"Struct": [
|
||||
{
|
||||
"imports": [
|
||||
"github.com/crusttech/crust/messaging/types"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Parameters": {},
|
||||
"Protocol": "",
|
||||
"Authentication": [],
|
||||
"Path": "/webhooks",
|
||||
"APIs": [
|
||||
{
|
||||
"Name": "list",
|
||||
"Method": "GET",
|
||||
"Title": "List created webhooks",
|
||||
"Path": "/",
|
||||
"Parameters": {
|
||||
"get": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"required": false,
|
||||
"title": "Channel ID",
|
||||
"type": "uint64"
|
||||
},
|
||||
{
|
||||
"name": "userID",
|
||||
"required": false,
|
||||
"title": "Owner user ID",
|
||||
"type": "uint64"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "create",
|
||||
"Method": "POST",
|
||||
"Title": "Create webhook",
|
||||
"Path": "/",
|
||||
"Parameters": {
|
||||
"post": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"required": true,
|
||||
"title": "Channel ID",
|
||||
"type": "uint64"
|
||||
},
|
||||
{
|
||||
"name": "kind",
|
||||
"required": true,
|
||||
"title": "Kind (incoming, outgoing)",
|
||||
"type": "types.WebhookKind"
|
||||
},
|
||||
{
|
||||
"name": "trigger",
|
||||
"required": false,
|
||||
"title": "Trigger word",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"required": false,
|
||||
"title": "POST URL",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"required": false,
|
||||
"title": "Default user name",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "avatar",
|
||||
"required": false,
|
||||
"title": "Default avatar",
|
||||
"type": "*multipart.FileHeader"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"required": false,
|
||||
"title": "Default avatar (from URL)",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "update",
|
||||
"Method": "POST",
|
||||
"Title": "Attach file to channel",
|
||||
"Path": "/{webhookID}",
|
||||
"Parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"required": true,
|
||||
"title": "Webhook ID",
|
||||
"type": "uint64"
|
||||
}
|
||||
],
|
||||
"post": [
|
||||
{
|
||||
"name": "channelID",
|
||||
"required": true,
|
||||
"title": "Channel ID",
|
||||
"type": "uint64"
|
||||
},
|
||||
{
|
||||
"name": "kind",
|
||||
"required": true,
|
||||
"title": "Kind (incoming, outgoing)",
|
||||
"type": "types.WebhookKind"
|
||||
},
|
||||
{
|
||||
"name": "trigger",
|
||||
"required": false,
|
||||
"title": "Trigger word",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"required": false,
|
||||
"title": "POST URL",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"required": false,
|
||||
"title": "Default user name",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "avatar",
|
||||
"required": false,
|
||||
"title": "Default avatar",
|
||||
"type": "*multipart.FileHeader"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"required": false,
|
||||
"title": "Default avatar (from URL)",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "get",
|
||||
"Method": "GET",
|
||||
"Title": "Get webhook details",
|
||||
"Path": "/{webhookID}",
|
||||
"Parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"required": true,
|
||||
"title": "Webhook ID",
|
||||
"type": "uint64"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "delete",
|
||||
"Method": "DELETE",
|
||||
"Title": "Delete webhook",
|
||||
"Path": "/{webhookID}",
|
||||
"Parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"required": true,
|
||||
"title": "Webhook ID",
|
||||
"type": "uint64"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"Title": "Webhooks (Public)",
|
||||
"Interface": "Webhooks_public",
|
||||
"Struct": null,
|
||||
"Parameters": {},
|
||||
"Protocol": "",
|
||||
"Authentication": [],
|
||||
"Path": "/webhooks",
|
||||
"APIs": [
|
||||
{
|
||||
"Name": "delete",
|
||||
"Method": "DELETE",
|
||||
"Title": "Delete webhook",
|
||||
"Path": "/{webhookID}/{webhookToken}",
|
||||
"Parameters": {
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"required": true,
|
||||
"title": "Webhook ID",
|
||||
"type": "uint64"
|
||||
},
|
||||
{
|
||||
"name": "webhookToken",
|
||||
"required": true,
|
||||
"title": "Authentication token",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "create",
|
||||
"Method": "POST",
|
||||
"Title": "Create a message from a webhook payload",
|
||||
"Path": "/{webhookID}/{webhookToken}",
|
||||
"Parameters": {
|
||||
"get": [
|
||||
{
|
||||
"name": "username",
|
||||
"required": false,
|
||||
"title": "Custom username for webhook message",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "avatarURL",
|
||||
"required": false,
|
||||
"title": "Custom avatar picture for webhook message",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "content",
|
||||
"required": true,
|
||||
"title": "Message contents",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"path": [
|
||||
{
|
||||
"name": "webhookID",
|
||||
"required": true,
|
||||
"title": "Webhook ID",
|
||||
"type": "uint64"
|
||||
},
|
||||
{
|
||||
"name": "webhookToken",
|
||||
"required": true,
|
||||
"title": "Authentication token",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user