Skip to content

Commit 00fa6dc

Browse files
author
Sebastian Sauerer
committed
docs(webhook): improve structure of webhook section
1 parent 1cf95f0 commit 00fa6dc

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

docs/webhooks.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Webhooks can be comfortably configured and managed by admin users in epilot port
1515

1616
[Webhooks API Documentation](/api/webhooks)
1717

18-
# Data Transmission
18+
## Data Transmission
1919
Webhooks do use the `Transfer-Encoding: chunked` mechanism when sending HTTP requests. This applies to webhook payloads triggered by various events in the system, ensuring that data is efficiently transmitted to your server.
2020

2121
### What is Transfer-Encoding: chunked?
@@ -34,20 +34,27 @@ To ensure proper handling of our webhook payloads, your server must:
3434
- Process Data in Chunks: If necessary, ensure your application processes the incoming data incrementally as it arrives.
3535
- End-of-Transfer Detection: Be aware that the payload transmission is complete when a final, empty chunk is received.
3636

37-
### Limitation
37+
### Limitations
3838
The chunked transfer encoding mechanism is not supported by all servers. If your server does not support this feature, please contact our support team for assistance.
3939

4040
Already known services which do not support chunked transfer encoding are:
4141
- [Microsoft Power Automate](https://www.microsoft.com/de-de/power-platform/products/power-automate?market=de)
4242

43-
# Synchronous invocation
43+
## Webhook Payload Structure
44+
45+
You can use the Entity API to get a full [JSON schema](/api/entity#tag/Schemas/operation/getJsonSchema) and a [JSON example](/api/entity#tag/Schemas/operation/getSchemaExample) of an entity part of your webhook. Alternatively, you can download these from the 360 Portal for each of your entities from the entity builder UI.
46+
47+
![Export Entity Schema](../static/img/export-entity-schema.png)
48+
49+
50+
## Synchronous invocation
4451
To get immediate feedback on the success of a webhook request, the webhook can be configured to be invoked synchronously. This will cause the webhook to wait for the response of the request before proceeding. If the request fails, the webhook will be flagged as unsuccessful. This feature has to be enabled in the webhook action of the automation configuration.
4552
![Option to enable sync webhooks](../static/img/automation-sync-webhook.png)
4653

4754
### Limitations
4855
Sync webhooks are limited to a maximum duration of 30 seconds. If the request exceeds this time limit, it will be automatically aborted, prompting the webhook to retry the request up to 2 times. If, after these retries, the request continues to fail, the webhook will be flagged as unsuccessful.
4956

50-
# Customization
57+
## Customization
5158

5259
### Payload configuration
5360

@@ -79,20 +86,13 @@ Customizing the payload of an incoming webhook request is entirely feasible. The
7986

8087
![Custom Webhook Payload Configuration](../static/img/webhook-custom-payload.png)
8188

82-
### Entity schemas
83-
84-
You can use the Entity API to get a full [JSON schema](http://localhost:3000/api/entity#tag/Schemas/operation/getJsonSchema) and a [JSON example](/api/entity#tag/Schemas/operation/getSchemaExample) of an entity part of your webhook. Alternatively, you can download these from the 360 Portal for each of your entities from the entity builder UI.
85-
86-
![Export Entity Schema](../static/img/export-entity-schema.png)
87-
8889
### Custom oauth parameter
8990

9091
Custom OAuth parameters can be seamlessly integrated into the webhook configuration process. These parameters can be included as part of the OAuth request, appended as body, query, or header parameters. This feature empowers users to augment the OAuth request with supplementary information as needed, enhancing the flexibility and customization options within the authentication flow.
9192

9293
![Custom Webhook Ouath Parameter](../static/img/webhook-custom-oauth.png)
9394

95+
## Limitations
9496

95-
# Limitations
96-
97-
## Timeout
97+
### Timeout
9898
As previously mentioned, the webhook request times out after 30 seconds for synchronous webhooks. For asynchronous webhooks, the request will not time out, but the webhook will be flagged as unsuccessful if the request takes longer than 2 minutes to complete. This is to prevent the webhook from being stuck in a pending state indefinitely. Contact support if you need to increase this timeout. Keep in mind that for long running requests, it is recommend to handle them asynchronously on the 3rd party side and return a 202 Accepted response to the webhook request.

0 commit comments

Comments
 (0)