//native
type Enode = {
token: string
}
export async function main(
auth: Enode,
body: {
url: string
secret: string
events?:
| '*'
| 'user:vehicle:discovered'
| 'user:vehicle:updated'
| 'user:vehicle:deleted'
| 'user:vehicle:smart-charging-status-updated'
| 'user:charge-action:updated'
| 'user:vendor-action:updated'
| 'user:schedule:execution-updated'
| 'user:charger:discovered'
| 'user:charger:updated'
| 'user:charger:deleted'
| 'user:hvac:discovered'
| 'user:hvac:updated'
| 'user:hvac:deleted'
| 'user:inverter:discovered'
| 'user:inverter:updated'
| 'user:inverter:deleted'
| 'user:inverter:statistics-updated'
| 'user:credentials:invalidated'
| 'user:battery:discovered'
| 'user:battery:updated'
| 'user:battery:deleted'
| 'enode:webhook:test'
| 'user:meter:discovered'
| 'user:meter:updated'
| 'user:meter:deleted'[]
apiVersion?: string
authentication?: { headerName: string; headerValue: string }
}
) {
const url = new URL(`https://enode-api.production.enode.io/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 581 days ago