Интеграция с 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 https://login.salesforce.com или создайте аккаунт разработчика здесь https://www.salesforce.com/products/free-trial/developer/.
- Нажмите на значок шестеренки и выберите "Setup".
- На боковой панели в разделе PLATFORM TOOLS выберите "Apps > App Manager".
- Нажмите кнопку "New External Client App" в правом верхнем углу страницы.
- Появится форма "External Client App Manager".
- На панели Basic Information укажите название приложения External Client App, контактный адрес электронной почты и Distribution State.
- Прокрутите до раздела API (Enable OAuth Settings) и включите опцию “Enable OAuth”.
- В поле "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)
- Прокрутите вниз до раздела "Security", убедитесь, что включены опции "Require Secret for Web Server Flow" и "Require Secret for Refresh Token Flow".
- Обратите внимание, что PKCE (Proof Key for Code Exchange) поддерживается в 3CX V20 Update 6. Можно использовать аутентификацию PKCE, включив опцию "Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows". Если опция отключена, PKCE будет проигнорирован, и авторизация пройдет успешно.
- Нажмите "Create".
- Нажмите “Apps > External Client App Manager”, найдите ваше приложение в списке и нажмите “Edit Policies”.
- В разделе "Policies", перейдите в раздел "OAuth policies" и установите для "Permitted users" значение “All users can self-authorize”.
- Нажмите "Save".
- В разделе "Settings" перейдите в раздел "OAuth Settings" и нажмите кнопку “Consumer Key and Secret”. Скопируйте значения “Consumer Key” и “Consumer Secret” - их нужно добавить позже в разделе интеграции 3CX CRM.
Шаг 2: Настройте 3CX
- В интерфейсе управления 3CX перейдите в раздел “Integrations” > “CRM”.
- Из выпадающего списка выберите "SalesforceV2".
- Укажите данные авторизации, полученные на предыдущем этапе: Consumer Key и Consumer Secret, и нажмите кнопки "Save" и "Authorize", чтобы начать авторизацию. Предоставьте разрешение для 3CX - под кнопкой Authorize появится токен Refresh Token.
Шаг 3: Настройте журналирование вызовов и чатов
- Чтобы передавать информацию о внешних вызовах и чатах в Salesforce, e-mail адрес добавочного номера 3CX должен совпадать с e-mail пользователя Salesforce. В этом случае 3CX сможет сопоставить добавочный номер 3CX с пользователем Salesforce.
- Включите опцию "Enable Call Journaling" для передачи внешних звонков в CRM и настройте другие параметры "Call Journaling":
- "Call Subject" - тема звонка.
- "Answered Inbound Call" - описание отвеченных входящих вызовов.
- "Missed Call" - описание пропущенных вызовов.
- "Answered Outbound Call" - описание отвеченных исходящих вызовов.
- "Unanswered Outbound Call" - описание неотвеченных исходящих вызовов.
- Обратите внимание, что в параметрах "Call Journaling" можно использовать переменные, обозначаемые как [variable_name]. Например, внешний номер указывается как[Number]. Доступные переменные приведены здесь.
- Включите опцию "Enable Chat Journaling" для передачи чатов в CRM и настройте другие параметры "Chat Journaling":
- "Chat Subject" - тема сеанса чата.
- Обратите внимание, что в параметрах "Chat Journaling" можно использовать переменные, обозначаемые как [variable_name]. Например, внешний номер указывается как[Number]. Доступные переменные приведены здесь.
Шаг 4: Настройте e164 и Caller ID для контактов
- Чтобы сопоставить абонента с контактом Salesforce, последние 7 цифр входящего Caller ID должны совпадать с последними 7 цифрами телефонного номера в карточке контакта CRM. Либо должно быть полное совпадение номера, полученного через SIP-транк.
- Salesforce может хранить номера в формате E164, поэтому, если SIP-транк также предоставляет Caller ID в формате E164, лучше использовать точное совпадение. Для изменения формата Caller ID перед передачей его в CRM можно использовать переформатирование Caller ID.
- ⚠ Внимание! В консоли управления 3CX перейдите в раздел “System” > “Phonebook” > “Options”. Выберите стратегию соответствия: "Match exactly", если это возможно (Salesforce и SIP-транк должны работать с номерами в формате E164), или "Match at least X number of characters" и установите значение 7.
- ⚠ Внимание! В Salesforce все номера контактов должны хранится в формате E164, включая префикс "плюс" (+). Префикс (+) запрещает Salesforce автоматически изменять формат номера. Если вы находитесь в США или Канаде, изменение формата Caller ID приводит к сбоям в определении контактов.
Шаг 5: Настройте создание контактов
- Для создания новых контактов в CRM при поступлении звонка с неизвестного номера, т.е. не обнаруженного ни в 3CX, ни в CRM, установите опцию "Allow contact creation directly to your CRM using 3CX Web Client" и настройте следующие параметры.
- Параметры создания контакта:
- “Create Lead or Contact" - тип создаваемой сущности (Lead/Contact).
- “New Lead Company” - Название компании, в которой создается лид.
- В параметрах можно использовать переменные, которые указываются в скобках []. Например, внешний номер указывается как [Number]. Доступные переменные перечислены здесь.
- Если Caller ID не сопоставляется с контактом, клиент 3CX позволяет создать новый контакт, заполнив данные в диалоговом окне.
📄 Важно: при создании контактов в Salesforce название компании, указанное в веб-клиенте, будет игнорироваться. Это связано с ограничениями API Salesforce. Это относится только к контактам (название компании указывается при создании лида).
Дополнительная информация
- Интеграция с любой CRM через 3CX API.
- Интеграция с CRM Bitrix24.
- Интеграция с CRM ConnectWise
- Интеграция с CRM Microsoft 365.
- Интеграция с CRM Zendesk.
- Интеграция с CRM Zoho.
- Интеграция с CRM Microsoft SQL Server, MySQL и PostgreSQL.
Версия документа
Последнее обновление документа 16 июля 2025
