Create Webhook for File
Create Webhook for File
To attach a webhook to an file, call the Create webhook endpoint with the
type of file
, the ID of the file, a URL to send webhook notifications to, and
a list of triggers that will cause the webhook to activate.
curl -X POST https://api.box.com/2.0/webhooks \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H 'Content-Type: application/json" '
-d '{
"target": {
"id": "21322",
"type": "file"
},
"address": "https://example.com/webhooks",
"triggers": [
"FILE.PREVIEWED"
]
}'
var webhookParams = new BoxWebhookRequest()
{
Target = new BoxRequestEntity()
{
Type = BoxType.file,
Id = "22222"
},
Triggers = new List<string>()
{
"FILE.PREVIEWED"
},
Address = "https://example.com/webhook"
};
BoxWebhook webhook = await client.WebhooksManager.CreateWebhookAsync(webhookParams);
// Listen for preview events for a file
BoxFile file = new BoxFile(api, id);
BoxWebHook.Info webhookInfo = BoxWebHook.create(file, url, BoxWebHook.Trigger.FILE.PREVIEWED);
file = client.file(file_id='12345')
webhook = client.create_webhook(file, ['FILE.PREVIEWED'], 'https://example.com')
print('Webhook ID is {0} and the address is {1}'.format(webhook.id, webhook.address))
// Attach a webhook that sends a notification to https://example.com/webhook when
// file 11111 is renamed or downloaded.
client.webhooks.create(
'11111',
client.itemTypes.FILE,
'https://example.com/webhook',
[
client.webhooks.triggerTypes.FILE.RENAMED,
client.webhooks.triggerTypes.FILE.DOWNLOADED
])
.then(webhook => {
/* webhook -> {
id: '12345',
type: 'webhook',
target: { id: '11111', type: 'file' },
created_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' },
created_at: '2016-05-09T17:41:27-07:00',
address: 'https://example.com/webhook',
triggers: [ 'FILE.RENAMED', 'FILE.UPLOADED' ] }
*/
});
client.webhooks.create(targetType: "file", targetId: "1234", triggers: [.fileDownloaded], address: "www.testurl.com") { (result: Result<Webhook, BoxSDKError>) in
guard case let .success(webhook) = result else {
print("Error creating webhook")
return
}
print("Created webhook \"\(webhook.id)\"")
}
Webhook address
The notification URL specified in the address
parameter must be a
valid HTTPS URL that you specify when you create a webhook. Every
time one of the triggers is activated, this URL will be called.
The notification URL must use the standard HTTPS port, 443
and should be the
should return an HTTP status in the range of 200
to 299
within 30 seconds
of receiving the webhook payload.
Webhook triggers
The triggers are a list of strings that specify the events that will cause the
webhook to be triggered. For example, if you want the webhook to be triggered
when a user uploads a file you'd pass in the FILE.UPLOADED
trigger name.
A list of available triggers is available in the in this guide.