Интеграция CRM-системы Salesforce с сайтом

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция CRM-системы Salesforce с сайтом
Сложная
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Интеграция CRM-системы Salesforce с сайтом

Salesforce — корпоративная CRM-платформа с широкими возможностями кастомизации. Интеграция сайта с Salesforce позволяет автоматически создавать лиды из форм, синхронизировать клиентскую базу, передавать данные о транзакциях и строить единый профиль клиента для менеджеров по продажам.

Способы подключения

REST API (Salesforce REST API) — основной вариант. Авторизация через OAuth 2.0 (Connected App). Поддерживает CRUD-операции с объектами Salesforce (Lead, Contact, Account, Opportunity).

Salesforce Web-to-Lead — встроенная HTML-форма от Salesforce. Самый простой вариант, но ограниченные возможности: нет валидации, нет кастомных полей, внешний вид сложно кастомизировать. Подходит только для простых случаев.

Salesforce Platform Events / Streaming API — для двунаправленной синхронизации в реальном времени.

Настройка Connected App

  1. В Salesforce: Setup → App Manager → New Connected App
  2. Включить OAuth settings, добавить callback URL
  3. Выбрать scopes: api, refresh_token
  4. Получить Consumer Key и Consumer Secret

Создание лида из формы заказа

use Omniphx\Forrest\Providers\LaravelServiceProvider;
// composer require omniphx/forrest

// config/forrest.php
'credentials' => [
    'consumer_key'    => env('SF_CONSUMER_KEY'),
    'consumer_secret' => env('SF_CONSUMER_SECRET'),
    'username'        => env('SF_USERNAME'),
    'password'        => env('SF_PASSWORD'),
]

// В контроллере
Forrest::authenticate();

$lead = Forrest::sobjects('Lead', 'post', [
    'body' => [
        'FirstName'   => $request->first_name,
        'LastName'    => $request->last_name,
        'Email'       => $request->email,
        'Phone'       => $request->phone,
        'Company'     => $request->company ?? 'Физическое лицо',
        'LeadSource'  => 'Website',
        'Description' => "UTM: {$request->utm_source}/{$request->utm_campaign}"
    ]
]);

Синхронизация заказов (Opportunities)

Подтверждённый заказ на сайте → Opportunity в Salesforce с привязкой к Contact/Account. Это позволяет менеджерам видеть историю покупок прямо в CRM.

Forrest::sobjects('Opportunity', 'post', [
    'body' => [
        'Name'        => "Заказ #{$order->id}",
        'AccountId'   => $salesforceAccountId,
        'Amount'      => $order->total / 100,
        'CloseDate'   => $order->created_at->format('Y-m-d'),
        'StageName'   => 'Closed Won',
        'Order_ID__c' => $order->id  // кастомное поле
    ]
]);

Двунаправленная синхронизация

Изменения в Salesforce (статус сделки, контактные данные) должны отражаться на сайте. Реализация через Outbound Messages или Platform Events: Salesforce отправляет webhook на сайт при изменении объекта.

Альтернатива — периодический polling: раз в 15 минут запрашивать изменённые объекты через SELECT Id, ... FROM Lead WHERE LastModifiedDate > {timestamp} через SOQL.

Дедупликация контактов

Salesforce часто содержит дубли — нужна логика: перед созданием нового Lead/Contact проверить наличие записи с тем же email через SOQL-запрос.

$existing = Forrest::query(
    "SELECT Id, Email FROM Lead WHERE Email = '{$email}' LIMIT 1"
);

if ($existing['totalSize'] > 0) {
    // Обновить существующий лид
    Forrest::sobjects("Lead/{$existing['records'][0]['Id']}", 'patch', [...]);
} else {
    // Создать новый
}

Маппинг полей

Кастомные поля в Salesforce создаются через Setup → Object Manager. API-имя кастомного поля заканчивается на __c (например, UTM_Source__c). Маппинг полей сайта → поля Salesforce хранится в конфиге, чтобы не менять код при изменении структуры.

Обработка ошибок и очереди

Salesforce API имеет лимиты (24-часовые API call limits). Все запросы к Salesforce выполняются через очередь (Laravel Queue/Horizon), чтобы не блокировать ответ пользователю и повторять при временных ошибках.

Срок разработки: 4–6 недель для полной двунаправленной интеграции с кастомными объектами и синхронизацией заказов.