Задать вопрос
@matveyan

Как создать заявку в определенной воронке через API amo crm?

Доброе время суток!
У меня есть сайт, на нем форма данные с которой передаются в amo crm через php обработчик и api amo crm.
В амо у меня несколько воронок. Я хочу сделать так, чтобы заявка (сделка) попадала в другую воронку, а не в главную воронку.

Вот код обработчика:
<?
session_start();
//ini_set('display_errors', 'On');
//error_reporting(E_ALL);
#Получаем данные методом POST и отсекаем пробельные символы в начале и конце:
$name = @ trim ($_POST['name']);
$email = @ trim ($_POST['email']);
$phone = @ trim ($_POST['phone']);
$pagename = @ trim ($_POST['pagename']);
//$page = @ trim ($_POST['page']);
//$roistatVisitId = array_key_exists('roistat_visit', $_COOKIE) ? $_COOKIE['roistat_visit'] : "";

#Простая проверка были ли переданы все данные
if (! $name or ! $email or ! $phone) exit ('<link rel="stylesheet" type="text/css" href="css/main.css"/>
<div class="error"><div>Необходимо заполнить все поля, вернитесь</div></div>');
//$verify = mail($name,$email,$phone,"Content-type:text/plain; Charset=windows-1251\r\n");

#Отправка данных с помощью функции mail()
mail ("емайл",
      "Новое сообщение",
      " Имя:$name \n Email:$email \n Телефон: $phone \n Roistat: $roistatVisitId \n Форма: $pagename",
      "Content-type:text/plain; charset=utf-8");
/*
 * Прокидываем данные в amoCRM и ставим задачу
 */
require_once "vendor/amocrm/AmoCrm.php";

try {
    $leadName = "Лид";
    $contactName = $name;
    $contactPhone = $phone;
    $contactEmail = $email;
    $noteText = "Форма: $pagename";

    if (empty($leadName))
        return false;

    $statusId = 9323103;
    $responsibleUserId = 539829; // Евгений

    $amo = new AmoCrm('логин', 'апикей', 'проект');

    $request = array();
    $request["add"] = array();
    $request["add"][0]["name"] = $leadName;
    $request["add"][0]["status_id"] = $statusId;
    $request["add"][0]["responsible_user_id"] = $responsibleUserId;
    $request["add"][0]["custom_fields"] = array();

    if (!empty($roistatVisitId)) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 559084, // roistat
            "values" => array(
                array(
                    "value" => $roistatVisitId
                )
            )
        );
    }

    // Set utm
    if (!empty($_SESSION["utm_source"])) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 562418, // source
            "values" => array(
                array(
                    "value" => $_SESSION["utm_source"]
                )
            )
        );

        unset($_SESSION["utm_source"]);
    }

    if (!empty($_SESSION["utm_medium"])) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 562422, // medium
            "values" => array(
                array(
                    "value" => $_SESSION["utm_medium"]
                )
            )
        );

        unset($_SESSION["utm_medium"]);
    }

    if (!empty($_SESSION["utm_term"])) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 562424, // term
            "values" => array(
                array(
                    "value" => $_SESSION["utm_term"]
                )
            )
        );

        unset($_SESSION["utm_term"]);
    }

    if (!empty($_SESSION["utm_content"])) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 562426, // content
            "values" => array(
                array(
                    "value" => $_SESSION["utm_content"]
                )
            )
        );

        unset($_SESSION["utm_content"]);
    }

    if (!empty($_SESSION["utm_campaign"])) {
        $request["add"][0]["custom_fields"][] = array(
            "id" => 562428, // canpaign
            "values" => array(
                array(
                    "value" => $_SESSION["utm_campaign"]
                )
            )
        );

        unset($_SESSION["utm_campaign"]);
    }

    $response = $amo->LeadsSet($request);

    $leadId = (int) $response["leads"]["add"][0]["id"];

    if (empty($leadId))
        return false;

    // Добавляем примечание к сделке
    $message = "=== Данные с формы ===\n";
    $message .= $noteText . "\n";

    $request = array();
    $request["add"] = array();
    $request["add"][0]["element_id"] = $leadId;
    $request["add"][0]["element_type"] = 2;
    $request["add"][0]["note_type"] = 4;
    $request["add"][0]["responsible_user_id"] = $responsibleUserId;
    $request["add"][0]["date_create"] = time();
    $request["add"][0]["request_id"] = 0;
    $request["add"][0]["text"] = $message;
    $request["add"][0]["pipeline_id"] => '242284';

    $response = null;
    $response = $amo->NotesSet($request);

    // Ищем контакт
    $response = null;
    $response = $amo->ContactsList(array("query" => $contactEmail));
    $contactId = @$response[0]["id"];

    if ( empty($response) ) {
        $request = array();
        $request["add"] = array();
        $request["add"][0]["name"] = $contactName;
        $request["add"][0]["responsible_user_id"] = $responsibleUserId;
        $request["add"][0]["request_id"] = 0;
        $request["add"][0]["date_create"] = time();
        $request["add"][0]["linked_leads_id"][] = $leadId;
        $request["add"][0]["custom_fields"] = array();

        if (!empty($contactEmail)) {
            $request["add"][0]["custom_fields"][] = array(
                "id" => 482810, // email
                "values" => array(
                    array(
                        "value" => $contactEmail,
                        "enum" => "WORK"
                    )
                )
            );
        }

        if (!empty($contactPhone)) {
            $request["add"][0]["custom_fields"][] = array(
                "id" => 482808, // phone
                "values" => array(
                    array(
                        "value" => $contactPhone,
                        "enum" => "WORK"
                    )
                )
            );
        }

        $response = null;
        $response = $amo->ContactsSet($request);


    } else {
        // update

        $request = array();
        $request["update"][0] = $response[0];
        $request["update"][0]["last_modified"] = time();
        $request["update"][0]["linked_leads_id"][] = $leadId;
        $response = null;
        $response = $amo->ContactsSet($request);
    }

    // Создание задачи
    $request = array();
    $request["add"] = array();
    $request["add"][0]["element_id"] = $leadId;
    $request["add"][0]["element_type"] = 2;
    $request["add"][0]["task_type"] = 1;
    $request["add"][0]["responsible_user_id"] = $responsibleUserId;
    $request["add"][0]["date_create"] = time();
    $request["add"][0]["complete_till"] = time() + 60 * 15;
    $request["add"][0]["request_id"] = 0;
    $request["add"][0]["text"] = "Обработать входящую заявку";
    $response = null;
    $response = $amo->TasksSet($request);


} catch (\Exception $e) {
    echo $e->getMessage();
}

//mailchimp add subscrible
include_once 'MailChimp.php';

$MailChimp = new \Drewm\MailChimp('майлчимп кей');
$result = $MailChimp->call('lists/subscribe', array(
                'id'                => 'лист айди',
                'email'             => array('email' => $email),
                'merge_vars'        => array('FNAME'=>$name, 'LNAME'=>''),
                'double_optin'      => true,
                'update_existing'   => true,
                'replace_interests' => false,
                'send_welcome'      => false
            ));

header ("Location: юрл");
print_r($result);
?>


А вот эта строка в этом коде должна по идее отправлять заявку во вторую воронку:
$request["add"][0]["pipeline_id"] => '242284';

Но на деле ничего не работает, заявка создается, но в главной воронке. Где я ошибся? подскажите пожалуйста:)
  • Вопрос задан
  • 3283 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Вот тут задается в вашем коде статус (и воронка)
$statusId = 9323103;
Ответ написан
Комментировать
Нужно связать
$link = $amo->links;
    $link['from']    = 'leads';
    $link['from_id'] = $lead_id;
    $link['to']      = 'contacts';
    $link['to_id']   = $contacts_id;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы