Zapier pour l'automatisation métier
Dans un contexte d'entreprise comme chez ORPI, l'automatisation des processus métier via les APIs est essentielle pour gagner en efficacité.
Cas d'usage courants
- Synchronisation CRM vers base de données interne
- Notification Slack sur événements métier
- Génération automatique de rapports
- Intégration de formulaires web avec le SI
Créer un webhook personnalisé
// Endpoint Symfony pour recevoir les webhooks Zapier
#[Route('/api/webhook/zapier', methods: ['POST'])]
class ZapierWebhookController extends AbstractController
{
public function __invoke(
Request $request,
MessageBusInterface $bus,
): JsonResponse {
$data = json_decode($request->getContent(), true);
// Valider le token
if ($request->headers->get('X-Zapier-Token') !== $this->zapierToken) {
return $this->json(['error' => 'Unauthorized'], 401);
}
// Dispatcher le traitement
$bus->dispatch(new ProcessZapierDataMessage($data));
return $this->json(['status' => 'received']);
}
}
API pour Zapier Triggers
#[Route('/api/zapier/new-leads', methods: ['GET'])]
public function newLeads(LeadRepository $repo): JsonResponse
{
$leads = $repo->findRecent(limit: 50);
return $this->json(array_map(fn(Lead $l) => [
'id' => $l->getId(),
'name' => $l->getName(),
'email' => $l->getEmail(),
'created_at' => $l->getCreatedAt()->format('c'),
], $leads));
}
Bonnes pratiques
- Sécuriser les webhooks avec des tokens
- Logger toutes les interactions pour le débogage
- Utiliser des files d'attente pour le traitement asynchrone
- Documenter les APIs avec OpenAPI pour l'intégration Zapier