enum('type', CompanyType::class); $validated = $request->validate([ 'name' => 'required|max:255', 'email' => 'required|email|unique:companies', 'phone' => 'required', 'inn' => 'required|unique:companies', 'legal_address' => 'required', 'type' => Rule::enum(CompanyType::class), 'city_id' => 'required' ]); $request->request->add([ 'secret' => bin2hex(random_bytes(16)), 'status' => 'new' ]); $data = $request->only('name', 'email', 'inn', 'legal_address', 'secret', 'status', 'type', 'phone', 'city_id'); try { $company = Company::create($data); } catch (\Exception $e) { if ($e->getMessage() == 'Error of bitrix identifier getter') { return back()->withErrors(['msg' => 'Не удалось отправить данные на проверку. Попробуйте позже'])->withInput(); } return back()->withErrors(['msg' => 'Не удалось создать агентство. Попробуйте позже'])->withInput(); } $data['callback_url'] = route('company.status.update', [ 'company_id' => $company->id, 'secret' => $company->secret ]); /*$companyConfirmByBitrix = new SendCompany($company->id, $data); if (!$sender = $companyConfirmByBitrix->send()) { $company->delete(); return back()->withErrors(['msg' => 'Error with bitrix sender'])->withInput(); }*/ return view('main::company.created'); } }