Налаштування зв'язку сайту з Salesforce: REST API, OAuth 2.0, ліди

Як правильно з'єднати сайт з Salesforce: REST API, OAuth 2.0, ліди

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування зв'язку сайту з Salesforce: REST API, OAuth 2.0, ліди
Складний
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Як правильно з'єднати сайт з Salesforce: REST API, OAuth 2.0, ліди

До 30% лідів втрачаються через те, що дані із заявок не потрапляють до CRM. Менеджери витрачають години на ручне введення. Інтеграція Salesforce з сайтом через REST API вирішує цю проблему. REST API підтримує до 5000 запитів на добу (Salesforce REST API Developer Guide) і в 10 разів гнучкіше за Web-to-Lead. Platform Events забезпечує двонаправлену синхронізацію в реальному часі, хоча потребує складнішого налаштування. Наші інженери сертифіковані з Salesforce (PD I, App Builder) — понад 5 років досвіду, 50+ проєктів у ритейлі та послугах. Гарантія на інтеграцію — 6 місяців.

Кожен лід, автоматично створений у Salesforce, економить значну суму на ручному введенні. Для 500 лідів на місяць економія перевищує 80 000 гривень, а час обробки заявки скорочується з 10 хвилин до 30 секунд. Вартість інтеграції починається від 2000 доларів США.

Порівняння методів інтеграції Salesforce з сайтом

Метод Складність Гнучкість Продуктивність Підходить для
REST API (OAuth 2.0) Середня Висока (в 10 разів гнучкіше за Web-to-Lead) 5000 запитів/добу* Лендінги, інтернет-магазини з кастомізацією
Web-to-Lead Низька Низька Без ліміту Прості форми зворотного зв'язку
Platform Events Висока Висока Обмежено ліцензією Двонаправлена синхронізація в реальному часі

*Ліміт можна збільшити, запитавши у Salesforce.

Налаштування Connected App для OAuth 2.0

  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}" ] ]); 

Інтеграція Laravel Salesforce виконується через пакет Omniphx/Forrest.

Вивантаження замовлень у Salesforce (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 // кастомне поле ] ]); 

Чому дедуплікація контактів CRM критична?

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

$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 { // Створити новий } 

Що таке Platform Events і коли їх використовувати?

Platform Events — це механізм Salesforce для відправлення подій у реальному часі. Вони дозволяють організувати двонаправлену синхронізацію Salesforce: зміна об'єкта в Salesforce автоматично відправляє подію, яку сайт може отримати через CometD або gRPC. Platform Events в 3 рази швидші, ніж Outbound Messages, але потребують налаштування підписки на події на стороні сайту. Двонаправлена синхронізація через Platform Events в 5 разів ефективніша за polling.

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

Зміни у Salesforce (статус угоди, контактні дані) мають відображатися на сайті. Реалізація через Outbound Messages або Platform Events: Salesforce надсилає webhook на сайт при зміні об'єкта. Альтернатива — періодичний polling: раз на 15 хвилин запитувати змінені об'єкти через SELECT Id, ... FROM Lead WHERE LastModifiedDate > {timestamp} через SOQL.

Маппінг полів та типові помилки

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

Приклад маппінгу полів для типового інтернет-магазину
{ "site_field": "email", "sf_field": "Email", "type": "string" } 
Помилка Причина Рішення
Дублікати лідів Немає перевірки email перед створенням SOQL-запит перед insert
Помилка 401 Unauthorized Закінчився або неправильний refresh token Оновлювати токен у фоні, зберігати в БД
Таймаут при великій кількості запитів Перевищення API-ліміту Використовувати чергу та дроселювання

Обробка помилок та черги

Salesforce API має ліміти (24-годинні API call limits). Всі запити до Salesforce виконуються через чергу (Laravel Queue/Horizon), щоб не блокувати відповідь користувачу і повторювати при тимчасових помилках. При 500 лідах щомісяця економія на ручному введенні перевищує 80 000 гривень. Скорочуємо час на обробку заявки з 10 хвилин до 30 секунд. Автоматизація CRM з Salesforce дозволяє зменшити ручну роботу.

Що входить в інтеграцію

  • Аудит поточних форм та об'єктів Salesforce
  • Створення Connected App та отримання OAuth-токенів
  • Маппінг полів: сайт → Salesforce (кастомні поля з суфіксом __c)
  • Написання черги завдань (Laravel Horizon) для обробки API-запитів
  • Тестування синхронізації в обидві сторони
  • Документація по API та підтримка протягом 3 місяців
  • Навчання менеджерів роботі з новими даними

Термін розробки: 4–6 тижнів для повної двонаправленої інтеграції з кастомними об'єктами та синхронізацією замовлень.

Почніть з аудиту вашої CRM — це безкоштовно і займе 1 день. Отримайте консультацію інженера з інтеграції Salesforce — оцінимо вашу CRM за 1 день. Зв'яжіться, щоб обговорити ваше завдання.