Proposal for adding minimal documentation for undocumented moderation API (webhook) (#1329)
* Update moderation.md
This commit is contained in:
parent
e6656d3d37
commit
44e96e9428
|
@ -90,3 +90,229 @@ sudo iptables -I INPUT 1 -m set --match-set spambots src -j DROP
|
|||
```
|
||||
|
||||
Be careful not to lock yourself out of your machine.
|
||||
|
||||
### Webhooks for moderation-level events {#report-events-webhook}
|
||||
|
||||
Webhooks can be created to facilitate automation through the moderation API by notifying applications about system events in real-time. This also enables integrations with chat apps like Discord, IRC and Slack, helping moderator coordination.
|
||||
|
||||
The X-Hub-Signature header adopted from the WebSub spec can be optionally used to verify that the payloads are authentic.
|
||||
|
||||
Events currently supported:
|
||||
|
||||
* account.approved
|
||||
* account.created
|
||||
* account.updated
|
||||
* report.created
|
||||
* report.updated
|
||||
* status.created
|
||||
* status.updated
|
||||
|
||||
|
||||
|
||||
#### Example payload:
|
||||
|
||||
```json
|
||||
|
||||
{
|
||||
"event":"report.created",
|
||||
"created_at":"2023-10-26T13:34:00.351Z",
|
||||
"object":{
|
||||
"id":"8437",
|
||||
"action_taken":false,
|
||||
"action_taken_at":null,
|
||||
"category":"violation",
|
||||
"comment":"",
|
||||
"forwarded":true,
|
||||
"created_at":"2023-10-26T13:34:00.348Z",
|
||||
"updated_at":"2023-10-26T13:34:00.348Z",
|
||||
"account":{
|
||||
"id":"123456789",
|
||||
"username":"bobisaburger",
|
||||
"domain":null,
|
||||
"created_at":"2023-07-13T04:39:22.493Z",
|
||||
"email":"bobisaburger@emailservice.com",
|
||||
"ip":"12.34.56.78",
|
||||
"confirmed":true,
|
||||
"suspended":false,
|
||||
"silenced":false,
|
||||
"sensitized":false,
|
||||
"disabled":false,
|
||||
"approved":true,
|
||||
"locale":"en",
|
||||
"invite_request":"I would love to be a member of your instance!",
|
||||
"ips":[
|
||||
{
|
||||
"ip":"12.34.56.78",
|
||||
"used_at":"2023-07-13T04:45:31.835Z"
|
||||
},
|
||||
{
|
||||
"ip":"98.76.54.32",
|
||||
"used_at":"2023-07-13T04:39:22.722Z"
|
||||
}
|
||||
],
|
||||
"account":{
|
||||
"id":"123456789",
|
||||
"username":"bobisaburger",
|
||||
"acct":"bobisaburger",
|
||||
"display_name":"bobisaburger",
|
||||
"locked":false,
|
||||
"bot":false,
|
||||
"discoverable":null,
|
||||
"group":false,
|
||||
"created_at":"2023-07-13T00:00:00.000Z",
|
||||
"note":"",
|
||||
"url":"https://mastodonwebsite/@bobisaburger",
|
||||
"uri":"https://mastodonwebsite/users/bobisaburger",
|
||||
"avatar":"https://locationofavatar.com/image.jpg",
|
||||
"avatar_static":"https://locationofavatar.com/image.jpg",
|
||||
"header":"locationofheader.com/image.jpg",
|
||||
"header_static":"locationofheader.com/image.jpg",
|
||||
"followers_count":100,
|
||||
"following_count":200,
|
||||
"statuses_count":9,
|
||||
"last_status_at":"2023-08-05",
|
||||
"noindex":true,
|
||||
"emojis":[
|
||||
|
||||
],
|
||||
"roles":[
|
||||
|
||||
],
|
||||
"fields":[
|
||||
|
||||
]
|
||||
},
|
||||
"role":{
|
||||
"id":"-99",
|
||||
"name":"",
|
||||
"permissions":"65536",
|
||||
"color":"",
|
||||
"highlighted":false
|
||||
}
|
||||
},
|
||||
"target_account":{
|
||||
"id":"123454321",
|
||||
"username":"cheeseperson",
|
||||
"domain":"someothermastodonsite.com",
|
||||
"created_at":"2023-08-20T00:00:00.000Z",
|
||||
"email":null,
|
||||
"ip":null,
|
||||
"confirmed":null,
|
||||
"suspended":false,
|
||||
"silenced":false,
|
||||
"sensitized":false,
|
||||
"disabled":null,
|
||||
"approved":null,
|
||||
"locale":null,
|
||||
"invite_request":null,
|
||||
"ips":null,
|
||||
"account":{
|
||||
"id":"123454321",
|
||||
"username":"cheeseperson",
|
||||
"acct":"cheeseperson@someothermastodonsite.com",
|
||||
"display_name":"cheeseperson",
|
||||
"locked":false,
|
||||
"bot":false,
|
||||
"discoverable":false,
|
||||
"group":false,
|
||||
"created_at":"2023-08-20T00:00:00.000Z",
|
||||
"note":"",
|
||||
"url":"https://someothermastodonsite.com/@cheeseperson",
|
||||
"uri":"https://someothermastodonsite.com/users/cheeseperson",
|
||||
"avatar":"https://someothermastadonsite.com/avatars/original/missing.png",
|
||||
"avatar_static":"https://someothermastadonsite.com/avatars/original/missing.png",
|
||||
"header":"locationofheader.com/image.jpg",
|
||||
"header_static":"locationofheader.com/image.jpg",
|
||||
"followers_count":2,
|
||||
"following_count":2,
|
||||
"statuses_count":95,
|
||||
"last_status_at":"2023-10-26",
|
||||
"emojis":[
|
||||
|
||||
],
|
||||
"fields":[
|
||||
|
||||
]
|
||||
},
|
||||
"role":null
|
||||
},
|
||||
"assigned_account":null,
|
||||
"action_taken_by_account":null,
|
||||
"statuses":[
|
||||
{
|
||||
"id":"12345678987654321",
|
||||
"created_at":"2023-10-26T11:29:13.000Z",
|
||||
"in_reply_to_id":"1918282746465",
|
||||
"in_reply_to_account_id":"101010101010",
|
||||
"sensitive":false,
|
||||
"spoiler_text":"",
|
||||
"visibility":"public",
|
||||
"language":"de",
|
||||
"uri":"https://someothermastodonsite.com/users/cheeseperson/statuses/111301083360371621",
|
||||
"url":"https://someothermastodonsite.com/@cheeseperson/111301083360371621",
|
||||
"replies_count":0,
|
||||
"reblogs_count":0,
|
||||
"favourites_count":0,
|
||||
"edited_at":"2023-10-26T11:30:31.000Z",
|
||||
"content":"<p>Here is some content</p>",
|
||||
"reblog":null,
|
||||
"account":{
|
||||
"id":"123454321",
|
||||
"username":"cheeseperson",
|
||||
"acct":"cheeseperson@someothermastodonsite.com",
|
||||
"display_name":"cheeseperson",
|
||||
"locked":false,
|
||||
"bot":false,
|
||||
"discoverable":false,
|
||||
"group":false,
|
||||
"created_at":"2023-08-20T00:00:00.000Z",
|
||||
"note":"",
|
||||
"url":"https://someothermastodonsite.com/@cheeseperson",
|
||||
"uri":"https://someothermastodonsite.com/users/cheeseperson",
|
||||
"avatar":"https://someothermastadonsite.com/avatars/original/missing.png",
|
||||
"avatar_static":"https://someothermastadonsite.com/avatars/original/missing.png",
|
||||
"header":"locationofheader.com/image.jpg",
|
||||
"header_static":"locationofheader.com/image.jpg",
|
||||
"followers_count":2,
|
||||
"following_count":2,
|
||||
"statuses_count":95,
|
||||
"last_status_at":"2023-10-26",
|
||||
"emojis":[
|
||||
|
||||
],
|
||||
"fields":[
|
||||
|
||||
]
|
||||
},
|
||||
"media_attachments":[
|
||||
|
||||
],
|
||||
"mentions":[
|
||||
{
|
||||
"id":"101010101010",
|
||||
"username":"thirdperson",
|
||||
"url":"https://thirdpersonsinstance.com/@thirdperson",
|
||||
"acct":"thirdperson@emailwebsite.com"
|
||||
}
|
||||
],
|
||||
"tags":[
|
||||
|
||||
],
|
||||
"emojis":[
|
||||
|
||||
],
|
||||
"card":null,
|
||||
"poll":null
|
||||
}
|
||||
],
|
||||
"rules":[
|
||||
{
|
||||
"id":"2",
|
||||
"text":"Don't be a meanie!"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue