Skip to main content

Webhooks

NOÉ allows the use of webhooks. Here's how they work!

Webhooks only work with real user interactions.

Webhooks are only sent when a real user performs an action from the NOÉ interface. If a modification is made via the APIs, webhooks will not be sent.

Webhooks and computer security

NOÉ's webhooks are not secure: if you do not verify the origin of the data you receive, anyone can pretend to be the NOÉ server and compromise your data by injecting unwanted modifications.

We recommend that you use IP address filtering: by only accepting requests coming from the NOÉ server's IP address, you significantly reduce your vulnerability to attacks.

You can find out the NOÉ server's IP address by going to this site and searching for api.noe-app.io.

Webhook Typology

When a webhook is sent to your service, the request has the following form:

Method

POST

Body

{
endpoint: WebhookEndpoint,
action: WebhookAction,
payload: Payload
}

The subtypes WebhookEndpoint, WebhookAction, and Payload are defined below.

Subtypes

Object Type: WebhookEndpoint (endpoint)

The endpoint specifies which type of object has just been modified: a session, an activity, etc.

Below is the correspondence between object types in NOÉ and the keys found in the webhook.

Object TypeWebhookEndpoint (endpoint)
Categoriescategories
Spacesplaces
Facilitatorsstewards
Activitiesactivities
Sessionssessions

Action Type: WebhookAction (action)

The action specifies whether the object has just been created, modified, or deleted.

Below is the correspondence between action types in NOÉ and the keys found in the webhook.

Action TypeWebhookAction (action)
Creationcreate
Modificationupdate
Deletiondelete

Payload

The payload is the actual content of the webhook.

The Payload contains:

  • the created or modified object when it's a creation or modification,
  • the ID of the deleted object in the case of a deletion.
info

For now, the exact content of the payloads is not detailed. To anticipate the typings, you can refer directly to the code in NOÉ. In this folder, each xxxxx.model.ts file contains a type XxxxxxD that describes its structure: this provides a good starting point even if it's not yet an exact science.