header('X-Ladill-Signature', ''); if (! ServiceEventSignature::verify($request->getContent(), $signature, $secret)) { return response()->json(['error' => 'invalid signature'], 401); } $eventId = (string) $request->header('X-Ladill-Event-Id', (string) $request->input('id', '')); if ($eventId !== '') { if (Cache::has("svcevt:{$eventId}")) { return response()->json(['status' => 'duplicate']); } Cache::put("svcevt:{$eventId}", true, now()->addDay()); } event(new ServiceEventOccurred((string) $request->input('event'), (array) $request->input('data', []))); return response()->json(['status' => 'accepted']); } }