A
A
Alexander Ivanov2016-04-13 14:46:04
PHP
Alexander Ivanov, 2016-04-13 14:46:04

How to create add lead via resp.php in Bitrix 24?

error code {'error':'201','ID':'38','error_message':'Lead added','AUTH':'9550906c327cb4fe38f10aaf7e0a8f86'} I
entered my own settings, it did not work with Bitrix24 before:

<?
// CRM server conection data
define('CRM_HOST', 'your_domain.bitrix24.com'); // ввёл мой домен
define('CRM_PORT', '443'); // CRM server port
define('CRM_PATH', '/crm/configs/import/lead.php'); // CRM server REST service path

// CRM server authorization data
define('CRM_LOGIN', 'login'); // ввёл мой маил
define('CRM_PASSWORD', 'password'); // ввёл мой пароль
// OR you can send special authorization hash which is sent by server after first successful connection with login and password
//define('CRM_AUTH', 'e54ec19f0c5f092ea11145b80f465e1a'); // authorization hash

/********************************************************************************************/

// POST processing
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  $leadData = $_POST['DATA'];

  // get lead data from the form
  $postData = array(
    'TITLE' => $leadData['TITLE'],
    'COMPANY_TITLE' => $leadData['COMPANY_TITLE'],
    'NAME' => $leadData['NAME'],
    'LAST_NAME' => $leadData['LAST_NAME'],
    'COMMENTS' => $leadData['COMMENTS'],
  );

  // append authorization data
  if (defined('CRM_AUTH'))
  {
    $postData['AUTH'] = CRM_AUTH;
  }
  else
  {
    $postData['LOGIN'] = CRM_LOGIN;
    $postData['PASSWORD'] = CRM_PASSWORD;
  }

  // open socket to CRM
  $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
  if ($fp)
  {
    // prepare POST data
    $strPostData = '';
    foreach ($postData as $key => $value)
      $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);

    // prepare POST headers
    $str = "POST ".CRM_PATH." HTTP/1.0\r\n";
    $str .= "Host: ".CRM_HOST."\r\n";
    $str .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $str .= "Content-Length: ".strlen($strPostData)."\r\n";
    $str .= "Connection: close\r\n\r\n";

    $str .= $strPostData;

    // send POST to CRM
    fwrite($fp, $str);

    // get CRM headers
    $result = '';
    while (!feof($fp))
    {
      $result .= fgets($fp, 128);
    }
    fclose($fp);

    // cut response headers
    $response = explode("\r\n\r\n", $result);

    $output = '<pre>'.print_r($response[1], 1).'</pre>';
  }
  else
  {
    echo 'Connection Failed! '.$errstr.' ('.$errno.')';
  }
}
else
{
  $output = '';
}

// HTML form
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?=$output;?>
<form action="rest.php" method="post">
  Title*: <input type="text" name="DATA[TITLE]" value="" /><br />
  Company Name: <input type="text" name="DATA[COMPANY_TITLE]" value="" /><br />
  First Name: <input type="text" name="DATA[NAME]" value="" /><br />
  Last Name: <input type="text" name="DATA[LAST_NAME]" value="" /><br />
  Comments: <textarea name="DATA[COMMENTS]"></textarea><br />
  <input type="submit" value="Send" />
</form>

did on the example of this lesson:
webdesign-master.ru/blog/tools/21.html

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sanes, 2016-04-13
@cimonlebedev

Following the same example, I did for Modx + Formit . Compare, maybe you missed something.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question