diff --git a/app/app/Http/Controllers/Api/SupplierWebhookController.php b/app/app/Http/Controllers/Api/SupplierWebhookController.php index cad18a39..2f090ad2 100644 --- a/app/app/Http/Controllers/Api/SupplierWebhookController.php +++ b/app/app/Http/Controllers/Api/SupplierWebhookController.php @@ -83,7 +83,7 @@ class SupplierWebhookController extends Controller $validated = $request->validate([ 'vid' => 'required|integer|min:1', - 'project' => ['required', 'string', 'max:255', 'regex:/^B[123]_.+$/'], + 'project' => ['required', 'string', 'max:255'], // Phase 3: regex /^B[123]_.+$/ снят — non-B → platform=DIRECT 'phone' => ['required', 'string', 'regex:/^7\d{10}$/'], 'time' => ['required', 'integer', "min:{$minTime}", "max:{$maxTime}"], 'tag' => 'nullable|string|max:255', @@ -182,8 +182,12 @@ class SupplierWebhookController extends Controller private function parsePlatform(string $project): string { - preg_match('/^(B[123])_/', $project, $m); + // Phase 3: проекты без B-префикса → DIRECT (раньше silent fallback на 'B1' + // приводил к неверной маршрутизации). + if (preg_match('/^(B[123])_/', $project, $m) === 1) { + return $m[1]; + } - return $m[1] ?? 'B1'; + return 'DIRECT'; } } diff --git a/app/app/Services/SupplierProjects/SupplierProjectResolver.php b/app/app/Services/SupplierProjects/SupplierProjectResolver.php index 0cedbe1b..83b7fe81 100644 --- a/app/app/Services/SupplierProjects/SupplierProjectResolver.php +++ b/app/app/Services/SupplierProjects/SupplierProjectResolver.php @@ -21,7 +21,7 @@ use InvalidArgumentException; */ class SupplierProjectResolver { - private const ALLOWED_PLATFORMS = ['B1', 'B2', 'B3']; + private const ALLOWED_PLATFORMS = ['B1', 'B2', 'B3', 'DIRECT']; private const ALLOWED_SIGNAL_TYPES = ['site', 'call', 'sms']; diff --git a/docs/observer/STATUS.md b/docs/observer/STATUS.md index aa351a06..f4a8d3e5 100644 --- a/docs/observer/STATUS.md +++ b/docs/observer/STATUS.md @@ -1,6 +1,6 @@ # Brain Status (auto-generated) -Last updated: 2026-05-25T14:59:02.312Z +Last updated: 2026-05-25T14:59:04.311Z | Контролёр | Состояние | Детали | |---|---|---|