mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-28 21:48:59 +00:00
282 lines
8.2 KiB
Markdown
282 lines
8.2 KiB
Markdown
***
|
||
|
||
title : « Créer un webhook »
|
||
description: 'Apprenez à créer un webhook dans NocoDB.'
|
||
balises : \['Webhook', 'Créer']
|
||
mots-clés : \['Webhook NocoDB', 'créer un webhook']
|
||
---------------------------------------------------
|
||
|
||
## Créer un webhook
|
||
|
||
### Accéder à la page du webhook
|
||
|
||
1. Cliquez sur le tableau pour lequel le webhook doit être configuré dans la barre latérale gauche
|
||
2. Ouvrir `Details` barre d’onglets,
|
||
3. Cliquer sur `Webhooks` languette
|
||
4. Cliquez sur`Add New Webhook`
|
||
|
||

|
||
|
||
### Configuration du webhook
|
||
|
||
1. Nom du webhook
|
||
2. Sélectionnez l'événement pour lequel le webhook doit être déclenché
|
||
|
||
| Déclencheur | Détails |
|
||
|---------|----------------------------- ---------|
|
||
| Après l'insertion | Après l'insertion d'un seul enregistrement |
|
||
| Après la mise à jour | Après la mise à jour d'un seul enregistrement |
|
||
| Après suppression | Après la suppression d'un seul enregistrement |
|
||
| Après l'insertion en masse | Une fois les enregistrements groupés insérés |
|
||
| Après la mise à jour groupée | Une fois les enregistrements groupés mis à jour |
|
||
| Après la suppression groupée | Une fois les enregistrements groupés supprimés |
|
||
|
||
3. Méthode et URL : configurez le point de terminaison sur lequel le webhook doit être déclenché. Les méthodes prises en charge sont GET, POST, DELETE, PUT, HEAD, PATCH
|
||
4. En-têtes et paramètres : configurer les en-têtes et les paramètres de la demande (facultatif)
|
||
5. Condition : seuls les enregistrements répondant aux critères configurés déclencheront le webhook (facultatif)
|
||
6. Testez le webhook (avec un exemple de charge utile) pour vérifier si les paramètres sont configurés correctement (facultatif)
|
||
7. Enregistrez le webhook
|
||
|
||

|
||
|
||
### Webhook avec conditions
|
||
|
||
En cas de webhook avec conditions, seuls les enregistrements répondant aux critères configurés déclencheront le webhook. Par exemple, déclenchez le webhook uniquement lorsque `Status` est `Complete`. Vous pouvez également configurer plusieurs conditions à l'aide des opérateurs `AND` ou `OR`. Par exemple, déclenchez le webhook uniquement lorsque `Status` est `Complete` et `Priority` est `High`.
|
||
|
||
Le Webhook sera déclenché uniquement lorsque la condition configurée n'est pas remplie avant la mise à jour de l'enregistrement. Par exemple, si vous avez configuré un webhook avec la condition`Status``is``Complete`et`Priority``is``High`et vous mettez à jour l'enregistrement avec`Status``Complete`et`Priority``Low`à`High`, le webhook sera déclenché. Cependant, si vous mettez à jour d'autres champs de l'enregistrement avec`Status``Complete`et`Priority``High`, webhook won't be triggered.
|
||
|
||
En résumé, le webhook ne sera déclenché que lorsque`Condition(old-record) = false`et`Condition(new-record) = true`.
|
||
|
||
### Exemple de réponse de webhook
|
||
|
||
<Tabs>
|
||
<TabItem value="After Insert" label="After Insert">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.insert",
|
||
"id": "9dac1c54-b3be-49a1-a676-af388145fa8c",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_736wrpoas7tr0c",
|
||
"view_name": "Film",
|
||
"records": [
|
||
{
|
||
"FilmId": 1011,
|
||
"Title": "FOO",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
<TabItem value="After Update" label="After Update">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.update",
|
||
"id": "6a6ebfe4-b0b5-434e-b5d6-5212adbf82fa",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_736wrpoas7tr0c",
|
||
"view_name": "Film",
|
||
"previous_records": [
|
||
{
|
||
"FilmId": 1,
|
||
"Title": "ACADEMY DINOSAUR",
|
||
"Description": "A Epic Drama of a Feminist in The Canadian Rockies",
|
||
"Actor List": [
|
||
{
|
||
"ActorId": 10,
|
||
"FirstName": "CHRISTIAN"
|
||
}
|
||
],
|
||
}
|
||
],
|
||
"records": [
|
||
{
|
||
"FilmId": 1,
|
||
"Title": "ACADEMY DINOSAUR (Edited)",
|
||
"Actor List": [
|
||
{
|
||
"ActorId": 10,
|
||
"FirstName": "CHRISTIAN"
|
||
}
|
||
],
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
<TabItem value="After Delete" label="After Delete">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.delete",
|
||
"id": "e593079f-70e5-4965-8944-5ff7aeed005c",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_736wrpoas7tr0c",
|
||
"view_name": "Film",
|
||
"records": [
|
||
{
|
||
"FilmId": 1010,
|
||
"Title": "ALL-EDITED",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
<TabItem value="After Bulk Insert" label="After Bulk Insert">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.bulkInsert",
|
||
"id": "f8397b06-a399-4a3a-b6b0-6d1c0c2f7578",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_3fq2e9q8drkblw",
|
||
"view_name": "GridView",
|
||
"records_inserted": 2
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
<TabItem value="After Bulk Update" label="After Bulk Update">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.bulkUpdate",
|
||
"id": "e983cea5-8e38-438e-96a0-048751f6830b",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_3fq2e9q8drkblw",
|
||
"view_name": "Sheet-1",
|
||
"previous_records": [
|
||
[
|
||
{
|
||
"FilmId": 1005,
|
||
"Title": "Q",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
},
|
||
{
|
||
"FilmId": 1004,
|
||
"Title": "P",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
}
|
||
}
|
||
]
|
||
],
|
||
"records": [
|
||
[
|
||
{
|
||
"FilmId": 1005,
|
||
"Title": "Q-EDITED",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
}
|
||
},
|
||
{
|
||
"FilmId": 1004,
|
||
"Title": "P-EDITED",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
}
|
||
]
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
<TabItem value="After Bulk Delete" label="After Bulk Delete">
|
||
|
||
```bash
|
||
{
|
||
"type": "records.after.bulkDelete",
|
||
"id": "e7f1f4e5-7052-4ca2-9355-241ceb836f43",
|
||
"data": {
|
||
"table_id": "md_xzru7dcqrecc60",
|
||
"table_name": "Film",
|
||
"view_id": "vw_3fq2e9q8drkblw",
|
||
"view_name": "Sheet-1",
|
||
"records": [
|
||
[
|
||
{
|
||
"FilmId": 1022,
|
||
"Title": "x",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
},
|
||
{
|
||
"FilmId": 1023,
|
||
"Title": "x",
|
||
"Language": {
|
||
"LanguageId": 1,
|
||
"Name": "English"
|
||
},
|
||
}
|
||
]
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
[//]: # "## Call Log"
|
||
|
||
[//]: #
|
||
|
||
[//]: # "Call Log allows user to check the call history of the hook. By default, it has been disabled. However, it can be configured by using environment variable `NC_AUTOMATION_LOG_LEVEL`."
|
||
|
||
[//]: #
|
||
|
||
[//]: # "- `NC_AUTOMATION_LOG_LEVEL=OFF`: No logs will be displayed and no history will be inserted to meta database."
|
||
|
||
[//]: # "- `NC_AUTOMATION_LOG_LEVEL=ERROR`: only error logs will be displayed and history of error logs will be inserted to meta database."
|
||
|
||
[//]: # "- `NC_AUTOMATION_LOG_LEVEL=ALL`: Both error and success logs will be displayed and history of both types of logs will be inserted to meta database. **This option is only available for Enterprise Edition.**"
|
||
|
||
[//]: #
|
||
|
||
[//]: # ""
|
||
|
||
## Variables d'environnement
|
||
|
||
Dans la version auto-hébergée, vous pouvez configurer les variables d'environnement suivantes pour personnaliser le comportement du webhook.
|
||
|
||
* NC\_ALLOW\_LOCAL\_HOOKS : permet d'activer les webhooks dont l'URL cible est hébergée localement. Par défaut : faux
|
||
|
||
En savoir plus sur les variables d'environnement[ici](/getting-started/self-hosted/environment-variables)
|