You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This service allows webhooks to be **Pushed** (submitted) and saved, and then **Pulled** (retrieved) at any time in the future. The webhooks can be tagged with a source system identifier (source-id), and then downloaded by source system, this allows different processes or tools to download the webhooks from specific systems.
11
11
12
-
This app was created because I wanted to use webhooks with self-hosted apps and did not want the requirements of installing agents, opening firewall ports, needing a static IP or worrying about system uptime to ensure nothing is missed.
12
+
This app/service was created because I wanted to use webhooks with self-hosted apps and did not want the requirements of installing agents, opening firewall ports or needing a static IP and having the system be available 24/7 to ensure no webhooks are missed. There are many services (free and chargeable) that provide a webhook relay service, but the ones I looked at just relayed the information to another webhook, which did not solve my problem.
13
13
14
-
There are many services (free and chargeable) that provide a webhook relay service, but the ones I looked at just relayed the information to another webhook and many required agents or opening of ports, which did not solve my problem.
14
+
This service can also be used with some cloud hosted automation services that do not allow webhooks but do allow scheduled get requests (e.g., Microsoft Power Automate).
@@ -14,6 +15,7 @@ This service allows webhooks to be **Pushed** (submitted) and saved, and then **
14
15
This service can also be used with some cloud hosted automation services that do not allow webhooks but do allow scheduled get requests (e.g., Microsoft Power Automate).
15
16
16
17
___
18
+
17
19
## Environment Variables
18
20
19
21
To run this code, you will need to provide following environment variables, you will be prompted automatically when using [Deta Space](https://deta.space/).
@@ -23,17 +25,19 @@ To run this code, you will need to provide following environment variables, you
23
25
`API_KEY` - you can use anything or generate something 'secure' at [keycdn Tools](https://tools.keycdn.com/sha256-online-generator)
24
26
25
27
___
28
+
26
29
## Deploy to [Deta Space](https://deta.space/)
27
30
28
-
This app has not yet been published to Deta Space.
31
+
[Deta Space - v0.0.10](https://deta.space/discovery/r/d3ym5spf7cytxjsy)
29
32
30
-
You will automatically be prompted to enter the required environment variables.
33
+
You can configure the required API key in app settings.
31
34
All data will be private in your own account.
32
35
33
36
___
37
+
34
38
## API Reference
35
39
36
-
####Post Webhook
40
+
### Post Webhook
37
41
38
42
```http
39
43
POST /p
@@ -45,7 +49,7 @@ ___
45
49
46
50
All data is stored in your [Deta Space](https://deta.space/) account in a Deta Base called 'HookStack'. This means your data is not available for me or anyone else to see, but do not forget it is only protected by your API key. Your API Key is not required to post data.
47
51
48
-
######Example
52
+
#### Example
49
53
50
54
```http
51
55
POST /p?source=system-name
@@ -71,6 +75,7 @@ The BODY data can be in any format, with as many or as few fields as you want. T
71
75
"source": "system-2"
72
76
}
73
77
```
78
+
74
79
This response is what is stored in the Deta Base:
75
80
76
81
| Parameter | Type | Description |
@@ -81,18 +86,19 @@ This response is what is stored in the Deta Base:
81
86
82
87
___
83
88
84
-
####Get items for source system by id
89
+
### Get items for source system by id
85
90
86
91
```http
87
92
GET /webhooks/$source
88
93
```
94
+
89
95
This will return all webhooks from the system with a matching source key and delete all corresponding results from the Deta Base by design to minimise the length of time your data is stored online.
- This was a sample app, used as my starting point. [ExpressJS Example - Simple Web API](https://github.com/expressjs/express/blob/28db2c2c5cf992c897d1fbbc6b119ee02fe32ab1/examples/web-service/index.js)
161
+
162
+
This was a sample app, used as my starting point. [ExpressJS Example - Simple Web API](https://github.com/expressjs/express/blob/28db2c2c5cf992c897d1fbbc6b119ee02fe32ab1/examples/web-service/index.js)
0 commit comments