Интеграция с Salesforce CRM

Введение

Интеграция с Salesforce CRM

3CX предлагает интеграцию с Salesforce через 3CX CRM API. Интеграция реализует следующие возможности:

  • Поиск контакта по Caller ID - входящий звонок инициирует поиск контакта в Salesforce.
  • Поиск контактов в Salesforce по имени, номеру или e-mail, когда пользователь 3CX ищет контакт в веб-клиенте.
  • Журнал вызовов и чатов - вызовы и чаты регистрируются в карточке контакта Salesforce как история взаимодействия с клиентом.
  • Создание нового контакта Salesforce из клиента 3CX, когда вызов поступил с неопознанного Caller ID.
  • Click to Call - звонки из Salesforce через 3CX с помощью браузерного расширения 3CX Click2Call для Google Chrome и Microsoft Edge.

Предварительные требования:

  • Для вашего аккаунта Salesforce должен быть включен REST API. Проверьте, в каких редакциях Salesforce доступен API.
  • Аккаунты Salesforce с включенной опцией Person Accounts не поддерживаются.

Шаг 1: Настройте Salesforce

Настройте Salesforce

На боковой панели в разделе PLATFORM TOOLS выберите "Apps > App Manager".

  1. Зайдите в свой аккаунт Salesforce https://login.salesforce.com или создайте аккаунт разработчика здесь https://www.salesforce.com/products/free-trial/developer/.
  2. Нажмите на значок шестеренки и выберите "Setup".
  3. На боковой панели в разделе PLATFORM TOOLS выберите "Apps > App Manager".
  4. Нажмите кнопку "New External Client App" в правом верхнем углу страницы.
  5. Появится форма "External Client App Manager".

На панели Basic Information укажите название приложения External Client App, контактный адрес электронной почты и Distribution State.

  1. На панели Basic Information укажите название приложения External Client App, контактный адрес электронной почты и Distribution State.

Прокрутите до раздела API (Enable OAuth Settings) и включите опцию <b>“Enable OAuth”</b>.

  1. Прокрутите до раздела API (Enable OAuth Settings) и включите опцию “Enable OAuth”.
  2. В поле "Callback URL" введите URL-адрес, который вы используете для доступа к вашей консоли администратора 3CX, добавив в конце /api/oauth2crm, например: https://my-pbx.example.com/api/oauth2crm. Затем предоставьте разрешения, как показано выше:
  • Access the identity URL service (id, profile, email, address, phone)
  • Access unique user identifiers (openid)
  • Full Access (full)
  • Manage user data via APIs (api)
  • Manage user data via Web browsers (web)
  • Perform requests at any time (refresh_token, offline_access)
  1. Прокрутите вниз до раздела "Security", убедитесь, что включены опции "Require Secret for Web Server Flow" и "Require Secret for Refresh Token Flow".
  2. Обратите внимание, что PKCE (Proof Key for Code Exchange) поддерживается в 3CX V20 Update 6. Можно использовать аутентификацию PKCE, включив опцию "Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows". Если опция отключена, PKCE будет проигнорирован, и авторизация пройдет успешно.
  3. Нажмите "Create".
  4. Нажмите “Apps > External Client App Manager”, найдите ваше приложение в списке и нажмите “Edit Policies”.

В разделе "Policies", перейдите в раздел "OAuth policies" и установите для "Permitted users" значение <b>“All users can self-authorize”</b>.

  1. В разделе "Policies", перейдите в раздел "OAuth policies" и установите для "Permitted users" значение “All users can self-authorize”.
  2. Нажмите "Save".

В разделе "Settings" перейдите в раздел "OAuth Settings" и нажмите кнопку <b>“Consumer Key and Secret”</b>.

  1. В разделе "Settings" перейдите в раздел "OAuth Settings" и нажмите кнопку “Consumer Key and Secret”. Скопируйте значения “Consumer Key” и “Consumer Secret” - их нужно добавить позже в разделе интеграции 3CX CRM.

Шаг 2: Настройте 3CX

Настройте 3CX

  1. В интерфейсе управления 3CX перейдите в раздел Integrations” > “CRM.
  2. Из выпадающего списка выберите "SalesforceV2".
  3. Укажите данные авторизации, полученные на предыдущем этапе: Consumer Key и Consumer Secret, и нажмите кнопки "Save" и "Authorize", чтобы начать авторизацию. Предоставьте разрешение для 3CX - под кнопкой Authorize появится токен Refresh Token.

Шаг 3: Настройте журналирование вызовов и чатов

Настройте журналирование вызовов и чатов

  1. Чтобы передавать информацию о внешних вызовах и чатах в Salesforce, e-mail адрес добавочного номера 3CX должен совпадать с e-mail пользователя Salesforce. В этом случае 3CX сможет сопоставить добавочный номер 3CX с пользователем Salesforce.
  2. Включите опцию "Enable Call Journaling" для передачи внешних звонков в CRM и настройте другие параметры "Call Journaling":
  • "Call Subject" - тема звонка.
  • "Answered Inbound Call" - описание отвеченных входящих вызовов.
  • "Missed Call" - описание пропущенных вызовов.
  • "Answered Outbound Call" - описание отвеченных исходящих вызовов.
  • "Unanswered Outbound Call" - описание неотвеченных исходящих вызовов.
  1. Обратите внимание, что в параметрах "Call Journaling" можно использовать переменные, обозначаемые как
    [variable_name]
    . Например, внешний номер указывается как
    [Number]
    . Доступные переменные приведены
    здесь.

Включите опцию "Enable Chat Journaling" для передачи чатов в CRM и настройте другие параметры "Chat Journaling".

  1. Включите опцию "Enable Chat Journaling" для передачи чатов в CRM и настройте другие параметры "Chat Journaling":
  • "Chat Subject" - тема сеанса чата.
  1. Обратите внимание, что в параметрах "Chat Journaling" можно использовать переменные, обозначаемые как
    [variable_name]
    . Например, внешний номер указывается как
    [Number]
    . Доступные переменные приведены
    здесь.

Шаг 4: Настройте e164 и Caller ID для контактов

Настройте e164 и Caller ID для контактов.

  1. Чтобы сопоставить абонента с контактом Salesforce, последние 7 цифр входящего Caller ID должны совпадать с последними 7 цифрами телефонного номера в карточке контакта CRM. Либо должно быть полное совпадение номера, полученного через SIP-транк.
  2. Salesforce может хранить номера в формате E164, поэтому, если SIP-транк также предоставляет Caller ID в формате E164, лучше использовать точное совпадение. Для изменения формата Caller ID перед передачей его в CRM можно использовать переформатирование Caller ID.
  3. ⚠ Внимание! В консоли управления 3CX перейдите в раздел “System” > “Phonebook” > “Options”. Выберите стратегию соответствия: "Match exactly", если это возможно (Salesforce и SIP-транк должны работать с номерами в формате E164), или "Match at least X number of characters" и установите значение 7.
  4. ⚠ Внимание! В Salesforce все номера контактов должны хранится в формате E164, включая префикс "плюс" (+). Префикс (+) запрещает Salesforce автоматически изменять формат номера. Если вы находитесь в США или Канаде, изменение формата Caller ID приводит к сбоям в определении контактов.

Шаг 5: Настройте создание контактов

Настройте создание контактов.

  1. Для создания новых контактов в CRM при поступлении звонка с неизвестного номера, т.е. не обнаруженного ни в 3CX, ни в CRM, установите опцию "Allow contact creation directly to your CRM using 3CX Web Client" и настройте следующие параметры.
  2. Параметры создания контакта:
  • “Create Lead or Contact" - тип создаваемой сущности (Lead/Contact).
  • “New Lead Company” - Название компании, в которой создается лид.
  1. В параметрах можно использовать переменные, которые указываются в скобках []. Например, внешний номер указывается как [Number]. Доступные переменные перечислены здесь.
  2. Если Caller ID не сопоставляется с контактом, клиент 3CX позволяет создать новый контакт, заполнив данные в диалоговом окне.

📄 Важно: при создании контактов в Salesforce название компании, указанное в веб-клиенте, будет игнорироваться. Это связано с ограничениями API Salesforce. Это относится только к контактам (название компании указывается при создании лида).

Дополнительная информация

Версия документа

Последнее обновление документа 16 июля 2025

https://www.3cx.ru/docs/salesforce-crm-integration/