← Retour à la marketplaceVoir les projets →
🔌
Connecteurs API
Webhooks entrants/sortants et connecteurs vers des services tiers.
IntégrationMoyen~5 joursv1.1.0
Module de connecteurs API avec gestion des webhooks entrants (réception et traitement), webhooks sortants (notifications vers des URLs tierces), logs d'appels et retry automatique en cas d'échec.
webhooksapiconnectorsintegrationhttp
Dépendances requises :
📋 Schéma Prisma
// === Module Connecteurs API ===
enum WebhookStatus {
ACTIVE
INACTIVE
}
enum DeliveryStatus {
PENDING
SUCCESS
FAILED
RETRYING
}
model OutgoingWebhook {
id String @id @default(cuid())
name String
url String
secret String
events String[] // ["invoice.created", "contact.updated"]
status WebhookStatus @default(ACTIVE)
createdAt DateTime @default(now())
deliveries WebhookDelivery[]
@@map("outgoing_webhooks")
}
model WebhookDelivery {
id String @id @default(cuid())
webhookId String
webhook OutgoingWebhook @relation(fields: [webhookId], references: [id])
event String
payload Json
status DeliveryStatus @default(PENDING)
statusCode Int?
response String?
attempts Int @default(0)
nextRetryAt DateTime?
deliveredAt DateTime?
createdAt DateTime @default(now())
@@map("webhook_deliveries")
}🔌 Endpoints API
## API Connecteurs GET /api/webhooks # Liste des webhooks configurés POST /api/webhooks # Créer un webhook PUT /api/webhooks/:id # Modifier DELETE /api/webhooks/:id # Supprimer POST /api/webhooks/:id/test # Envoyer un event de test GET /api/webhooks/:id/deliveries # Historique des livraisons POST /api/incoming/:slug # Endpoint de réception (public, vérifié par HMAC)
🛠️ Guide d'implémentation
## Implémentation Connecteurs API
### Étape 1 — Webhooks sortants
Créer src/lib/webhooks/dispatcher.ts :
- Construire le payload avec signature HMAC-SHA256
- Envoyer via fetch avec timeout
- Logger dans WebhookDelivery
- Retry exponentiel (3 tentatives max)
### Étape 2 — Déclenchement
Émettre des événements depuis les modules métier :
```typescript
await dispatchWebhook("invoice.created", { id, amount, ... })
```
### Étape 3 — Webhooks entrants
Endpoint /api/incoming/:slug :
- Vérifier la signature HMAC du fournisseur
- Traiter le payload selon le type d'eventPrêt à installer ce module ?
Ajoutez-le à un projet existant depuis la page modules du projet.