+7 (499) 390-65-54

Блог компании Apricode

Цифровые коммуникации, интернет-реклама, веб-разработка

Работая с клиентами сегмента малого и среднего бизнеса наша компания столкнулась с отсутствием понимания необходимости использования каких либо CRM (Customer Relashionship Management) систем или систем для управления взаимоотношениями с клиентом. Заявки, оставляемые посетителями посадочных страниц, приходящие из рекламных источников (контекстной рекламы, рекламы в соц.сетях и т.д.), в лучшем случае отправляются на электронную почту отдела продаж клиента или же доступны в административной панели системы управления сайтом (CMS), затем собранная информация кочует в экселевские таблички или Google Docs. Мы предлагаем альтернативное решение для фиксации и сопровождения заявок, приходящих с сайта, с использованием API системы управления проектами asana.com. Мы не отрицаем существование других аналогичных систем, предоставляющих API для разработчиков, мы всего лишь описываем найденное оперативное решение достаточно распространенной проблемы.
Преимущество данного решения, помимо всего описанного, состоит в том, что клиент получает прекрасную возможность подключить своих сотрудников отдела продаж к обработке заявок в онлайн-системе, которая помимо браузерной версии также доступна с использованием легковесного мобильного приложения, что немаловажно, учитывая мобильность менеджеров по продажам.
Итак, что для этого потребуется?

  1. Регистрируемся в системе Asana.com
    Вводим свой email и проходим верификацию почтового ящика. После верификации вам будет предложено заполнить более подробную информацию о вашем аккаунте и добавить членов команды.

  2. Получаем ключ для доступа к Asans через API
    Заходим в личный кабинет, далее в «My profile settings», переходим во вкладку Apps, кликаем на Developer App Management, далее



    Создаем токен для личного доступа «Create New Personal Access Token» и сохраняем его для последующих шагов.

  3. Скачиваем с Github.com необходимые библиотеки Asana API PHP Class для интеграции с Asana и добавляем PHP-функцию создания новой задачи к коду отправки email нотификации о заявке на вашем сайте:
    function addNewTaskToASANA($emailSubject,$message)
    {
    	require_once('./asana-api/asana.php');
    	// See class comments and Asana API for full info
    
    	$asana = new Asana(array('apiKey' => 0/12345f52f7412d5r37f8d2c611d553c8')); // Your API Key, you can get it in Asana
    
    	$workspaceId = '15331359548030'; // The workspace where we want to create our task
    	$projectId = '30366926602373'; // The project where we want to save our task
    
    	// First we create the task
    	$result = $asana->createTask(array(
    		'workspace' => $workspaceId, // Workspace ID
    		'name' => $emailSubject, // Name of task
    		'notes' => $message, // Note
    		'assignee' => 'info@apricode.ru', // Assign task to...
    		'followers' => array() // We add some followers to the task... (this time by ID), this is totally optional
    	));
    
    	// As Asana API documentation says, when a task is created, 201 response code is sent back so...
    	if ($asana->responseCode != '201' || is_null($result)) {
    		return 'Error while trying to connect to Asana, response code: ' . $asana->responseCode;
    	}
    
    	$resultJson = json_decode($result);
    
    	$taskId = $resultJson->data->id; // Here we have the id of the task that have been created
    
    	// Now we do another request to add the task to a project
    	$result = $asana->addProjectToTask($taskId, $projectId);
    
    	if ($asana->responseCode != '200') {
    		return 'Error while assigning project to task: ' . $asana->responseCode;
    	}	
    	
    }
    

    Для корректной работы данной функции потребуется заполнить несколько важных значений:

    • $workspaceId = ‘297954697957092’;
      Для получения workspaceId необходимо перейти по ссылке https://asana.com/developers/api-reference/workspaces# и выбрать вкладку Explorer.
      Авторизовавшись и выбрав набор необходимых полей для отправки запроса через API мы получим примерно такой результат:
      Откуда и сможем извлечь необходимый идентификатор:

    • $projectId = ‘15331359633131’;
      projectId мы можем получить схожим образом по ссылке (https://asana.com/developers/api-reference/projects) или же вычленив его из URL, который виден в адресной строке при открытии вашего проекта https://app.asana.com/0/15331359633131/list

  4. Результат получен!
    Итак, нам удалось встроить в процесс отправки заявки создание задачи в системе Asana с указанием контактных данных, отправленных потенциальным клиентом.

К сожалению, в Asana необходимый функционал для организации работы отдела продаж, такой как возможность классификации заявок по этапам воронки продаж (например, Заявка -> Коммерческое предложение -> Договор -> Оплата) может быть доступен только в платной версии с использованием «Custom fields» или «произвольных полей».

Подробную документацию по Asana API вы можете найти тут

21.03.2017