<?
require_once 'mandrill-api-php/src/Mandrill.php';
//Авторизация
$user=array(
'USER_LOGIN'=>'адрес_моей_почты',
'USER_HASH'=>'тут_код_доступа'
);
$subdomain='поддомен_мой'; #Наш аккаунт - поддомен
$link='https://'.$subdomain.'.amocrm.ru/private/api/auth.php?type=json';
$curl=curl_init(); #Сохраняем дескриптор сеанса cURL
#Устанавливаем необходимые опции для сеанса cURL
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($user));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
curl_close($curl);
$code=(int)$code;
$errors=array(
301=>'Moved permanently',
400=>'Bad request',
401=>'Unauthorized',
403=>'Forbidden',
404=>'Not found',
500=>'Internal server error',
502=>'Bad gateway',
503=>'Service unavailable'
);
$Response=json_decode($out,true);
$Response=$Response['response'];
// создание сделки
$leads['request']['leads']['add']=array(
array(
'name'=>'Новая сделка через форму',
'status_id'=>111,
'responsible_user_id'=>222,
'custom_fields'=>array(
//
)
)
);
$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/leads/set';
$curl=curl_init(); #Сохраняем дескриптор сеанса cURL
#Устанавливаем необходимые опции для сеанса cURL
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($leads));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
$code=(int)$code;
$errors=array(
301=>'Moved permanently',
400=>'Bad request',
401=>'Unauthorized',
403=>'Forbidden',
404=>'Not found',
500=>'Internal server error',
502=>'Bad gateway',
503=>'Service unavailable'
);
try
{
if($code!=200 && $code!=204)
throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
}
catch(Exception $E)
{
die('error: '.$E->getMessage().PHP_EOL.'code error: '.$E->getCode());
}
$Response=json_decode($out,true);
$Response=$Response['response']['leads']['add'];
foreach($Response as $v)
if(is_array($v))
$output.=$v['id'].PHP_EOL;
$lead_id = $output;
$tasks['request']['tasks']['add']=array(
#Привязываем к сделке
array(
'element_id'=>$lead_id, #ID сделки
'element_type'=>2, #Показываем, что это - сделка, а не контакт
'task_type'=>1, #Звонок
'text'=>'Связаться с клиентом',
'responsible_user_id'=>192582, // Ответственный за выполнение
'complete_till'=> time() + (30 * 60) //время завершения в UNIX формате
),
);
$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/tasks/set';
$curl=curl_init();
#Устанавливаем необходимые опции для сеанса cURL
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($tasks));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
$email = $_POST['email'];
$phone = $_POST['phone'];
$contacts['request']['contacts']['add']=array(
array(
'name'=> 'Новый контакт '.$email . " через форму", // Сюда вписывать имя клиента
'linked_leads_id'=>array( #Список с айдишниками сделок контакта
$lead_id // Наша свежая сделка
),
'custom_fields'=>array(
array(
#Телефоны
'id'=>833436, #Уникальный индентификатор заполняемого дополнительного поля
'values'=>array(
array(
'value'=> $phone,
'enum'=>'MOB' #Мобильный
)
)
),
array(
#E-mails
'id'=>833438,
'values'=>array(
array(
'value'=> $email,
'enum'=>'WORK', #Рабочий
)
)
)
)
)
);
$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/contacts/set';
$curl=curl_init(); #Сохраняем дескриптор сеанса cURL
#Устанавливаем необходимые опции для сеанса cURL
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($contacts));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
$out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
$code=(int)$code;
$errors=array(
301=>'Moved permanently',
400=>'Bad request',
401=>'Unauthorized',
403=>'Forbidden',
404=>'Not found',
500=>'Internal server error',
502=>'Bad gateway',
503=>'Service unavailable'
);
try
{
if($code!=200 && $code!=204)
throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
}
catch(Exception $E)
{
die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
}
$Response=json_decode($out,true);
$Response=$Response['response']['contacts']['add'];
foreach($Response as $v)
if(is_array($v))
$output.=$v['id'].PHP_EOL;
$mail = new Mandrill('мой_апи_ключ');
/* Блок динамического контента */
$tpl_con = array(
array(
'name' => 'my-label',
'content' => '<h2>Моя рассылка</h2>'
)
);
$data = array(
'html' => 'Ваша заявка получена',
'text' => 'Документ во вложении',
'subject' => 'Спасибо за вашу заявку',
'from_email' => 'моя почта',
'from_name' => 'Максим',
'to' => array(
array(
'email' =>$email, //именно сюда и нужно вписать переменную, но если используем include, то она как будто не передается сюда
'name' => '', //Lucas
'type' => 'to'
)
),
'global_merge_vars' => array(
array(
'name' => 'NAME',
'content' => 'Lucas'
)
),
'merge_vars' => array(
array(
'rcpt' => 'example@gmail.com',
'vars' => array(
array(
'name' => 'NAME',
'content' => 'Lucas'
)
)
)
),
'attachments' => array(
array(
'type' => 'application/msword',
'name' => 'brif.doc',
'content' => base64_encode(file_get_contents('brif.doc'))
)
),
/*
'images' => array(
array(
'type' => 'image/png',
'name' => 'phone.png',
'content' => base64_encode(file_get_contents('phone.png'))
)
),
*/
'subaccount' => 'мой_субаккаунт'
);
try {
/* Отправка обычного письма */
$result = $mail->messages->send($data);
print_r($result);
/* Отправка письма с использованием шаблона */
// $result = $mail->messages->sendTemplate('example', $tpl_con, $data);
// print_r($result);
} catch(Mandrill_Error $error) {
echo 'Error: ' . get_class($error) . ' - ' . $error->getMessage();
}
$body=file_get_contents("http://sms.ru/sms/send?api_id=мой_апи_ключ&to=мой_номер_телефона&text=".urlencode(iconv("utf-8","utf-8","Заявка с сайта,$email,$phone")));
?>
Что мешает сделать так?