Step 3: Webhook endpoint (middleware, form request, controller, route)
This commit is contained in:
23
app/Http/Controllers/EmailWebhookController.php
Normal file
23
app/Http/Controllers/EmailWebhookController.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\IncomingEmailRequest;
|
||||
use App\Jobs\ProcessIncomingEmail;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
|
||||
class EmailWebhookController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle an incoming email webhook from MailOps.
|
||||
*
|
||||
* Dispatches the validated payload to a queued job for background
|
||||
* processing and returns immediately with a 200 response.
|
||||
*/
|
||||
public function handle(IncomingEmailRequest $request): JsonResponse
|
||||
{
|
||||
ProcessIncomingEmail::dispatch($request->validated());
|
||||
|
||||
return response()->json(['status' => 'queued'], 200);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user