[ PerfexCRMCustomFields::LEADS_EXCHANGE_REFERENCE => $companyReference ] ]; $data = [ 'name' => $lead->name, 'email' => $lead->email, 'phonenumber' => $lead->phonenumber, 'company' => $lead->company, 'custom_fields' => $custom_fields, 'source' => $lead->source, 'status' => $lead->status, ]; $response = Http::asJson()->withHeaders([ 'authtoken' => config('perfexcrm.api_key')]) ->put(config('perfexcrm.base_url').'/api/leads/'.$lead->id, $data); if($response->successful()){ $data = $response->json(); return (object) $data; }else{ LogHelper::channel('perfex_crm')->info($response); return null; } } catch(\Illuminate\Http\Client\ConnectionException $exception){ $error = 'Failed to connect to CRM'; throw new ConnectionErrorException($error, $exception->getMessage(), "", $exception->getTraceAsString()); } catch(\Exception $exception){ throw new MalformedRequestException('Unable to get correct response from Perfex CRM server: ' . $exception->getMessage()); } } }