jointrashposs/content/id/docs/2.for-users/3.features/webhook.md

155 lines
3.6 KiB
Markdown
Raw Normal View History

New Crowdin updates (#40) * New translations announcement.md (English) * New translations announcement.md (Indonesian) * New translations ftt.md (French) * New translations ftt.md (Italian) * New translations ftt.md (Korean) * New translations ftt.md (Polish) * New translations ftt.md (Chinese Simplified) * New translations ftt.md (English) * New translations ftt.md (Indonesian) * New translations role.md (French) * New translations role.md (Italian) * New translations role.md (Korean) * New translations role.md (Polish) * New translations role.md (Chinese Simplified) * New translations role.md (Chinese Traditional) * New translations role.md (English) * New translations role.md (Indonesian) * New translations 1.index.md (French) * New translations 1.index.md (Italian) * New translations 1.index.md (Korean) * New translations 1.index.md (Polish) * New translations 1.index.md (Chinese Simplified) * New translations 1.index.md (English) * New translations 1.index.md (Indonesian) * New translations bash.md (French) * New translations bash.md (Italian) * New translations bash.md (Korean) * New translations bash.md (Polish) * New translations bash.md (Chinese Simplified) * New translations bash.md (Chinese Traditional) * New translations bash.md (English) * New translations bash.md (Indonesian) * New translations docker.md (French) * New translations docker.md (Italian) * New translations docker.md (Korean) * New translations docker.md (Polish) * New translations docker.md (Chinese Simplified) * New translations docker.md (Chinese Traditional) * New translations docker.md (English) * New translations docker.md (Indonesian) * New translations kubernetes.md (French) * New translations kubernetes.md (Italian) * New translations kubernetes.md (Korean) * New translations kubernetes.md (Polish) * New translations kubernetes.md (Chinese Simplified) * New translations kubernetes.md (Chinese Traditional) * New translations kubernetes.md (English) * New translations kubernetes.md (Indonesian) * New translations manual.md (French) * New translations manual.md (Italian) * New translations manual.md (Korean) * New translations manual.md (Polish) * New translations manual.md (Chinese Simplified) * New translations manual.md (English) * New translations manual.md (Indonesian) * New translations ubuntu-manual.md (French) * New translations ubuntu-manual.md (Italian) * New translations ubuntu-manual.md (Korean) * New translations ubuntu-manual.md (Polish) * New translations ubuntu-manual.md (Chinese Simplified) * New translations ubuntu-manual.md (English) * New translations ubuntu-manual.md (Indonesian) * New translations cdn.md (French) * New translations cdn.md (Italian) * New translations cdn.md (Korean) * New translations cdn.md (Polish) * New translations cdn.md (Chinese Simplified) * New translations cdn.md (English) * New translations cdn.md (Indonesian) * New translations nginx.md (French) * New translations nginx.md (Italian) * New translations nginx.md (Korean) * New translations nginx.md (Polish) * New translations nginx.md (Chinese Simplified) * New translations nginx.md (Chinese Traditional) * New translations nginx.md (English) * New translations nginx.md (Indonesian) * New translations push-docker-hub.md (French) * New translations push-docker-hub.md (Italian) * New translations push-docker-hub.md (Korean) * New translations push-docker-hub.md (Polish) * New translations push-docker-hub.md (Chinese Simplified) * New translations push-docker-hub.md (Chinese Traditional) * New translations push-docker-hub.md (English) * New translations push-docker-hub.md (Indonesian) * New translations scale-out.md (French) * New translations scale-out.md (Italian) * New translations scale-out.md (Korean) * New translations scale-out.md (Polish) * New translations scale-out.md (Chinese Simplified) * New translations scale-out.md (English) * New translations scale-out.md (Indonesian) * New translations troubleshooting.md (French) * New translations troubleshooting.md (Italian) * New translations troubleshooting.md (Korean) * New translations troubleshooting.md (Polish) * New translations troubleshooting.md (Chinese Simplified) * New translations troubleshooting.md (English) * New translations troubleshooting.md (Indonesian) * New translations disable-timelines.md (French) * New translations disable-timelines.md (Italian) * New translations disable-timelines.md (Korean) * New translations disable-timelines.md (Polish) * New translations disable-timelines.md (Chinese Simplified) * New translations disable-timelines.md (English) * New translations disable-timelines.md (Indonesian) * New translations 1.index.md (French) * New translations 1.index.md (Italian) * New translations 1.index.md (Korean) * New translations 1.index.md (Polish) * New translations 1.index.md (Chinese Simplified) * New translations 1.index.md (Chinese Traditional) * New translations 1.index.md (English) * New translations 1.index.md (Indonesian) * New translations libraries.md (French) * New translations libraries.md (Italian) * New translations libraries.md (Korean) * New translations libraries.md (Polish) * New translations libraries.md (Chinese Simplified) * New translations libraries.md (Chinese Traditional) * New translations libraries.md (English) * New translations libraries.md (Indonesian) * New translations permission.md (French) * New translations permission.md (Italian) * New translations permission.md (Korean) * New translations permission.md (Polish) * New translations permission.md (Chinese Simplified) * New translations permission.md (Chinese Traditional) * New translations permission.md (English) * New translations permission.md (Indonesian) * New translations 1.index.md (French) * New translations 1.index.md (Italian) * New translations 1.index.md (Korean) * New translations 1.index.md (Polish) * New translations 1.index.md (Chinese Simplified) * New translations 1.index.md (Chinese Traditional) * New translations 1.index.md (English) * New translations 1.index.md (Indonesian) * New translations 1.index.md (French) * New translations 1.index.md (Italian) * New translations 1.index.md (Korean) * New translations 1.index.md (Polish) * New translations 1.index.md (Chinese Simplified) * New translations 1.index.md (Chinese Traditional) * New translations 1.index.md (English) * New translations 1.index.md (Indonesian) * New translations global-timeline.md (French) * New translations global-timeline.md (Italian) * New translations global-timeline.md (Korean) * New translations global-timeline.md (Polish) * New translations global-timeline.md (Chinese Simplified) * New translations global-timeline.md (Chinese Traditional) * New translations global-timeline.md (English) * New translations global-timeline.md (Indonesian) * New translations home-timeline.md (French) * New translations home-timeline.md (Italian) * New translations home-timeline.md (Korean) * New translations home-timeline.md (Polish) * New translations home-timeline.md (Chinese Simplified) * New translations home-timeline.md (Chinese Traditional) * New translations home-timeline.md (English) * New translations home-timeline.md (Indonesian) * New translations hybrid-timeline.md (French) * New translations hybrid-timeline.md (Italian) * New translations hybrid-timeline.md (Korean) * New translations hybrid-timeline.md (Polish) * New translations hybrid-timeline.md (Chinese Simplified) * New translations hybrid-timeline.md (Chinese Traditional) * New translations hybrid-timeline.md (English) * New translations hybrid-timeline.md (Indonesian) * New translations index.md (French) * New translations index.md (Italian) * New translations index.md (Korean) * New translations index.md (Polish) * New translations index.md (Chinese Simplified) * New translations index.md (Chinese Traditional) * New translations index.md (English) * New translations index.md (Indonesian) * New translations local-timeline.md (French) * New translations local-timeline.md (Italian) * New translations local-timeline.md (Korean) * New translations local-timeline.md (Polish) * New translations local-timeline.md (Chinese Simplified) * New translations local-timeline.md (Chinese Traditional) * New translations local-timeline.md (English) * New translations local-timeline.md (Indonesian) * New translations main.md (French) * New translations main.md (Italian) * New translations main.md (Korean) * New translations main.md (Polish) * New translations main.md (Chinese Simplified) * New translations main.md (Chinese Traditional) * New translations main.md (English) * New translations main.md (Indonesian) * New translations note-capture-events.md (French) * New translations note-capture-events.md (Italian) * New translations note-capture-events.md (Korean) * New translations note-capture-events.md (Polish) * New translations note-capture-events.md (Chinese Simplified) * New translations note-capture-events.md (Chinese Traditional) * New translations note-capture-events.md (English) * New translations note-capture-events.md (Indonesian) * New translations token.md (French) * New translations token.md (Italian) * New translations token.md (Korean) * New translations token.md (Polish) * New translations token.md (Chinese Simplified) * New translations token.md (Chinese Traditional) * New translations token.md (English) * New translations token.md (Indonesian) * New translations 1.index.md (French) * New translations 1.index.md (Italian) * New translations 1.index.md (Korean) * New translations 1.index.md (Polish) * New translations 1.index.md (Chinese Simplified) * New translations 1.index.md (Chinese Traditional) * New translations 1.index.md (English) * New translations 1.index.md (Indonesian) * New translations create-plugin.md (French) * New translations create-plugin.md (Italian) * New translations create-plugin.md (Korean) * New translations create-plugin.md (Polish) * New translations create-plugin.md (Chinese Simplified) * New translations create-plugin.md (Chinese Traditional) * New translations create-plugin.md (English) * New translations create-plugin.md (Indonesian) * New translations plugin-api-reference.md (French) * New translations plugin-api-reference.md (Italian) * New translations plugin-api-reference.md (Korean) * New translations plugin-api-reference.md (Polish) * New translations plugin-api-reference.md (Chinese Simplified) * New translations plugin-api-reference.md (Chinese Traditional) * New translations plugin-api-reference.md (English) * New translations plugin-api-reference.md (Indonesian) * New translations publish-on-your-website.md (French) * New translations publish-on-your-website.md (Italian) * New translations publish-on-your-website.md (Korean) * New translations publish-on-your-website.md (Polish) * New translations publish-on-your-website.md (Chinese Simplified) * New translations publish-on-your-website.md (Chinese Traditional) * New translations publish-on-your-website.md (English) * New translations publish-on-your-website.md (Indonesian) * New translations 5.releases.md (French) * New translations 5.releases.md (Italian) * New translations 5.releases.md (Korean) * New translations 5.releases.md (Polish) * New translations 5.releases.md (Chinese Simplified) * New translations 5.releases.md (Chinese Traditional) * New translations 5.releases.md (English) * New translations 5.releases.md (Indonesian)
2023-12-01 15:02:12 +01:00
# Webhook
:::tip
バージョン 12.109.0 以降の機能です。
:::
:::warning
実験的な機能であるため、動作が不安定だったり今後仕様が変更される可能性があります。
:::
MisskeyにはWebhookが用意されています。Webhookを利用すると、Misskey上の様々なイベントをリアルタイムに受け取ることが可能です。
設定>Webhook でWebhookの管理を行えます。
Webhookが登録されると、指定したイベントが発生した際に、指定したURLにHTTPリクエストが送信されます。リクエストのメソッドはPOSTで、ボディはJSONです。
さらに、リクエストヘッダーには`X-Misskey-Hook-Secret`という名前で、登録時に設定したシークレットが含まれます。このシークレットが正しいか検証することで、リクエストが正規のものか判定することができます。
リクエストペイロードは以下のプロパティが入ります。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
hookId: {
type: 'string',
description: 'Webhook ID',
},
userId: {
type: 'string',
description: 'Webhook作成者のユーザーID',
},
eventId: {
type: 'string',
description: 'イベントのID',
},
createdAt: {
type: 'integer',
description: 'イベントが発生した日時(UNIX time、ミリ秒)',
},
type: {
type: 'string',
description: 'イベントの種類',
},
body: {
type: 'object',
description: 'イベントのペイロード',
},
}
}"/>
送信先サーバーが5xxエラーを返すか、応答しなかった場合は時間を開けてリクエストが再送されます。
Webhookは管理画面から個別にアクティブ状態を設定でき、一時的にリクエストの送信を停止させることができます。
## イベント
イベントごとに説明とペイロードを示します。
### follow
自分が誰かをフォローした際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
user: {
$ref: 'misskey://User',
description: 'フォローしたユーザー',
},
}
}"/>
### followed
自分が誰かからフォローされた際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
user: {
$ref: 'misskey://User',
description: 'フォローを行ったユーザー',
},
}
}"/>
### unfollow
自分が誰かをフォロー解除した際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
user: {
$ref: 'misskey://User',
description: 'フォロー解除したユーザー',
},
}
}"/>
### note
自分がノートを投稿した際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
note: {
$ref: 'misskey://Note',
description: '作成されたノート',
},
}
}"/>
### reply
自分のノートに返信された際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
note: {
$ref: 'misskey://Note',
description: '返信',
},
}
}"/>
### renote
自分のートがRenoteされた際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
note: {
$ref: 'misskey://Note',
description: 'Renote',
},
}
}"/>
### mention
自分にメンションされた際に発生します。
<MkSchemaViewerItemObject :schema="{
type: 'object',
properties: {
note: {
$ref: 'misskey://Note',
description: 'メンションを含むノート',
},
}
}"/>