Перейти к основному содержимому

Salesforce как операторский канал

Salesforce — облачная платформа, которая предлагает CRM-решения в области продаж, маркетинга, обслуживания.

Для использования Salesforce как операторский канал:

  1. Настройте операторское место.
  2. Создайте операторский канал.
  3. Подключите операторский канал к входящему.
  4. Настройте перевод на оператора в сценарии.

Настройка операторского места​

Авторизуйтесь в личном кабинете платформы Salesforce как администратор аккаунта. Перейдите на вкладку Настройки. Для подключения операторского канала вам потребуются следующие данные.

API Endpoint​

Перейдите Setup > Feature Settings > Service > Chat (formerly Live Agent) > Chat Settings и скопируйте поле Chat API Endpoint. Например:

https://d.la1-c1-cdg.salesforceliveagent.com/chat

Organization ID​

Organization ID — идентификатор организации в Salesforce.

Значение доступно из раздела Settings > Company settings > Company Information или по ссылке:

https://<адрес аккаунта>/lightning/setup/CompanyProfileInfo/home

Deployment ID​

Deployment ID — идентификатор развертывания чата, который необходим для отправки отчета.

Перейдите Setup > Settings > Deployment ID. Значение доступно в настройках Service Setup > Channels > Chat > Deployments > Edit. Скопируйте значение на странице редактирования в блоке Deployment Code. Например:

liveagent.init(
'https://d.la1-c1-cdg.salesforceliveagent.com/chat',
'573B00000005KXz', // Отсюда скопируйте Deployment ID
'00DB00000003Rxz' // Не копируйте это значение — это Organization ID
);

Button ID​

Button ID — идентификатор кнопки, которая открывает чат с оператором.

Перейдите Service Setup > Channels > Chat > Chat Buttons & Invitations > Edit. Скопируйте значение на странице редактирования в блоке Chat Button Code. Например:

<a id="liveagent_button_online_5733X000000TdOA">
<!-- Здесь необходимо скопировать значение 5733X000000TdOA -->
</a>

Создание операторского канала​

Перейдите в платформу, нажмите на панели управления Каналы > Операторы > Подключить канал. В разделе Операторские каналы выберите Salesforce.

Заполните поля:

  • Название — укажите название для канала или оставьте по умолчанию.
  • Укажите ранее скопированные значения API Endpoint, Organization ID, Deployment ID, Button ID.

Нажмите Создать.

Подключение канала​

Выберите уже созданный входящий канал для подключения операторского. Перейдите в окно редактирования входящего канала. В поле Оператор выберите операторский канал из списка и нажмите Сохранить.

Перевод на оператора​

подсказка
Для перевода диалога на оператора в сценарии необходимо использовать $response.replies.push с типом switch.

Указание на группу операторов​

По умолчанию перевод на оператора производится на ту группу операторов, чей Button ID указан при создании канала Salesforce.

Если вы хотите переопределить группу операторов, на которую будет произведен перевод, в ответе switch добавьте дополнительный параметр destination, в значении которого укажите Button ID нужной группы операторов.

Отправка дополнительных данных​

Для отправки дополнительных данных при переводе на оператора в сценарии необходимо добавить параметр customData в ответе switch.

Параметр customData представляет собой JSON, в котором можно передать сущности prechatDetails и prechatEntities в формате запроса ChasitorInit.

Использование в сценарии​

$response.replies.push({
type: "switch",
closeChatPhrases: ["/closeLiveChat", "Закрыть диалог"],
firstMessage: $client.history,
lastMessage: "Мы ждем вас снова!",
destination: "5733X000000TdOA",
customData: {
"prechatDetails": [
{
"label": "Email",
"value": $client.email,
"transcriptFields": [
"Email__c"
],
"displayToAgent": true
},
{
"label": "ResponseTypeList",
"value": $client.channel,
"entityMaps": [
{
"entityName": "Case",
"fieldName": "ResponseTypeList__c"
}
],
"transcriptFields": [
"ResponseTypeList__c"
],
"displayToAgent": true
}
],
"prechatEntities": [
{
"entityName": "Case",
"showOnCreate": true,
"saveToTranscript": "Case",
"entityFieldsMaps": [
{
"fieldName": "Status",
"label": "Status",
"doFind": false,
"isExactMatch": false,
"doCreate": true
},
{
"fieldName": "Origin",
"label": "Origin",
"doFind": false,
"isExactMatch": false,
"doCreate": true
},
{
"fieldName": "ResponseTypeList__c",
"label": "ResponseTypeList",
"doFind": false,
"isExactMatch": false,
"doCreate": true
}
]
}
]
}
});