Exxtazy

Untitled

Aug 10th, 2022
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.83 KB | None | 0 0
  1. <?php
  2.  
  3. $_POST['email'] = "[email protected]";
  4.  
  5. $appAPIKey = "-------------------";
  6.  
  7. //1 step ("welcome")
  8.  
  9. $curlSMTPTamplates = curl_init();
  10. curl_setopt_array($curlSMTPTamplates, [
  11.     CURLOPT_URL => "https://api.sendinblue.com/v3/smtp/templates?limit=1000&offset=0&sort=desc",
  12.     CURLOPT_RETURNTRANSFER => true,
  13.     CURLOPT_ENCODING => "",
  14.     CURLOPT_MAXREDIRS => 10,
  15.     CURLOPT_TIMEOUT => 30,
  16.     CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  17.     CURLOPT_CUSTOMREQUEST => "GET",
  18.     CURLOPT_HTTPHEADER => [
  19.         "Accept: application/json",
  20.         "Content-Type: application/json",
  21.         "api-key: ".$appAPIKey
  22.     ],
  23. ]);
  24.  
  25. $responseSMTPTamplates = json_decode(curl_exec($curlSMTPTamplates));
  26. $errSMTPTamplates = curl_error($curlSMTPTamplates);
  27. curl_close($curlSMTPTamplates);
  28.  
  29.  
  30. $trueNumbers = [];
  31. foreach($responseSMTPTamplates->templates as $val){
  32.     if(stripos($val->name, "welcome") !== false){
  33.         $trueNumbers[] = $val->id;
  34.     }
  35. }
  36.  
  37. //2 step ("find contact")
  38.  
  39. $curlContactsIdentifier = curl_init();
  40. curl_setopt_array($curlContactsIdentifier, [
  41.     CURLOPT_URL => "https://api.sendinblue.com/v3/contacts/".urlencode($_POST['email']),
  42.     CURLOPT_RETURNTRANSFER => true,
  43.     CURLOPT_ENCODING => "",
  44.     CURLOPT_MAXREDIRS => 10,
  45.     CURLOPT_TIMEOUT => 30,
  46.     CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  47.     CURLOPT_CUSTOMREQUEST => "GET",
  48.     CURLOPT_HTTPHEADER => [
  49.         "Accept: application/json",
  50.         "Content-Type: application/json",
  51.         "api-key: ".$appAPIKey
  52.     ],
  53. ]);
  54.  
  55. $responseContactsIdentifier = json_decode(curl_exec($curlContactsIdentifier));
  56. $httpCode = curl_getinfo($curlContactsIdentifier, CURLINFO_HTTP_CODE);
  57. $errContactsIdentifier = curl_error($curlContactsIdentifier);
  58. curl_close($curlContactsIdentifier);
  59.  
  60. if($httpCode == 404){
  61.     echo "Это полностью новый контакт!";
  62.  
  63. }else{
  64.     $emailsArray = [];
  65.    
  66.     foreach($trueNumbers as $key => $val){
  67.         $curlSMTPEmails = curl_init();
  68.         curl_setopt_array($curlSMTPEmails, [
  69.             CURLOPT_URL => "https://api.sendinblue.com/v3/smtp/emails?email=".$_POST['email']."&templateId=".$val."&sort=desc&limit=1000&offset=0",
  70.             CURLOPT_RETURNTRANSFER => true,
  71.             CURLOPT_ENCODING => "",
  72.             CURLOPT_MAXREDIRS => 10,
  73.             CURLOPT_TIMEOUT => 30,
  74.             CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  75.             CURLOPT_CUSTOMREQUEST => "GET",
  76.             CURLOPT_HTTPHEADER => [
  77.                 "Accept: application/json",
  78.                 "Content-Type: application/json",
  79.                 "api-key: ".$appAPIKey
  80.             ],
  81.         ]);
  82.          
  83.         $responseSMTPEmailsJSON = curl_exec($curlSMTPEmails);
  84.         $responseSMTPEmails = json_decode($responseSMTPEmailsJSON);
  85.         if(empty($responseSMTPEmails->transactionalEmails)){
  86.            
  87.         }else{
  88.             foreach($responseSMTPEmails->transactionalEmails as $key => $val){
  89.                 $emailsArray[] = $val;
  90.             }
  91.         }
  92.         $errSMTPEmails = curl_error($curlSMTPEmails);
  93.         curl_close($curlSMTPEmails);
  94.     }
  95.    
  96.     function cmp($a, $b){
  97.         if($a->date == $b->date) return 0;
  98.         return $a->date < $b->date ? 1 : -1;
  99.     }
  100.     usort($emailsArray, "cmp");
  101.     $emailsArray = json_decode(json_encode($emailsArray), true);
  102.    
  103.     $daysInSec = strtotime($emailsArray[0]["date"])+15*86400;
  104.     $daysInSecDeff = time()-$daysInSec;
  105.     $daysDeff = $daysInSecDeff/86400;
  106.    
  107.     if($daysDeff >= 15){
  108.         echo "Прошло больше 15-ти дней, контакт будет удален и создан заново";
  109.     }else{
  110.         echo strtotime($emailsArray[0]["date"]);
  111.         echo " Прошло меньше 15-ти дней, скрипт закончил свою работу";
  112.         exit;
  113.     }
  114. }
  115. ?>
Advertisement
Add Comment
Please, Sign In to add comment