Плагин на отсылку заказов из miniShop2 в Bitrix24
Плагин на отсылку заказов из miniShop2 в лиды Bitrix24
php
switch ($modx->event->name) {
case 'msOnCreateOrder':
define('CRM_HOST', 'subdomain.bitrix24.ru');
define('CRM_PORT', '443');
define('CRM_PATH', '/crm/configs/import/lead.php'); // Путь к PHP файлу, к которому будем подлючаться
define('CRM_LOGIN', 'login');
define('CRM_PASSWORD', 'password');
//
$data = array(
'order' => $msOrder->toArray(),
'delivery' => $msOrder->Delivery->toArray(),
'payment' => $msOrder->Payment->toArray(),
'address' => $msOrder->Address->toArray(),
'user' => $msOrder->User->toArray(),
'user_profile' => $msOrder->UserProfile->toArray(),
);
$receiver_name = explode(' ', $data['address']['receiver']);
//
$post = array(
'LOGIN' => CRM_LOGIN,
'PASSWORD' => CRM_PASSWORD,
'TITLE' => 'Заказ ' . $data['order']['num'],
// 'COMPANY_TITLE' => 'Сайт',
'NAME' => $receiver_name[0] ?: '',
'LAST_NAME' => $receiver_name[1] ?: '',
'COMMENTS' => $data['address']['comment'],
'OPPORTUNITY' => $data['order']['cost'],
'CURRENCY_ID' => 'RUR',
'ADDRESS' => ($data['address']['country'] . ' ' . $data['address']['region'] . ' ' . $data['address']['city'] . ', ' . $data['address']['street'] . ', ' . $data['address']['building'] . ', ' . $data['address']['room'] . ', ' . $data['address']['index']),
'PHONE_WORK' => $data['address']['phone'],
'WEB_WORK' => '',
'SOURCE_ID' => '8', // Источник (ID или ключ)
'EMAIL_WORK' => $data['user_profile']['email'],
'STATUS_ID' => 'NEW',
'OPENED' => 'Y',
'ASSIGNED_BY_ID' => 4, // Ответственный (ID юзера)
);
//
if ($fp = fsockopen('ssl://' . CRM_HOST, CRM_PORT, $errno, $errstr, 30)) {
$post_str = http_build_query($post);
//
$headers = "POST " . CRM_PATH . " HTTP/1.0\r\n";
$headers .= "Host: " . CRM_HOST . "\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: " . strlen($post_str) . "\r\n";
$headers .= "Connection: close\r\n\r\n";
$headers .= $post_str;
fwrite($fp, $headers);
//
$result = '';
while (!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
$response = explode("\r\n\r\n", $result);
$output[] = '<pre>' . print_r($response[0], 1) . '</pre>';
$output[] = '<pre>' . print_r($response[1], 1) . '</pre>';
// print_r($output);
// $modx->log(1, 'orderToBitrix24 $output ' . print_r($output, 1));
} else {
// $modx->log(modX::LOG_LEVEL_INFO, print_r('Ошибка передачи в Битрикс 24', 1));
}
break;
}
Павел Гвоздь
Наверно по этому код не срабатывает и не падает в лиды. И ещё бы знать как в сделку отправлять заказ с товарами?