//native
type Webflow = {
token: string
}
export async function main(
auth: Webflow,
site_id: string,
body: {
id?: string
triggerType?:
| 'form_submission'
| 'site_publish'
| 'page_created'
| 'page_metadata_updated'
| 'page_deleted'
| 'ecomm_new_order'
| 'ecomm_order_changed'
| 'ecomm_inventory_changed'
| 'user_account_added'
| 'user_account_updated'
| 'user_account_deleted'
| 'collection_item_created'
| 'collection_item_changed'
| 'collection_item_deleted'
| 'collection_item_unpublished'
url?: string
workspaceId?: string
siteId?: string
filter?: { name?: string }
lastTriggered?: string
createdOn?: string
}
) {
const url = new URL(`https://api.webflow.com/v2/sites/${site_id}/webhooks`)
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + auth.token
},
body: JSON.stringify(body)
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 564 days ago