Расширение Salesforce

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Версия: 2.0.2

получать доступ к данным в вашем аккаунте Salesforce; Вставлять, обновлять, извлекать и запрашивать данные.

В нем приведена информация о том, как настроить и использовать это расширение.

Требования

В нем приведена информация о том, как настроить и использовать это расширение. Прежде чем использовать расширение из прокси-сервера API с помощью правила ExtensionCallout, необходимо:

  1. Создайте закрытый ключ RSA x509 или пару сертификатов.

    При настройке расширения вы будете использовать закрытый ключ (.key) в качестве учетных данных. Файл сертификата (.crt) понадобится вам при создании подключенного приложения, которое предоставит расширению доступ к Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Настройте подключенное приложение.

    Связанное приложение Salesforce предоставит доступ для расширения Salesforce. Следуйте инструкциям по настройке приложения.

  3. Получите идентификатор клиента для подключенного приложения. Расширение будет использовать его при аутентификации в приложении.

    1. В настройках Salesforce на панели навигации слева выберите Приложения > Менеджер приложений.
    2. В списке найдите созданное вами подключенное приложение.
    3. В раскрывающемся списке справа от строки приложения нажмите Посмотреть.
    4. В разделе API (Включить настройки OAuth) найдите Ключ потребителя и скопируйте его значение в надежное место, чтобы использовать при настройке расширения.

Как настроить подключенное приложение для доступа к расширению

Чтобы расширение Salesforce могло получить доступ к Salesforce, вам нужно создать подключенное приложение Salesforce, через которое расширение сможет подключаться к Salesforce.

В Salesforce подключенное приложение позволяет внешним приложениям подключаться к Salesforce через API.

Как настроить подключенное приложение

  1. Войдите в Salesforce.
  2. Нажмите на значок шестеренки в правом верхнем углу и выберите Настройка.
  3. На панели навигации слева разверните раздел Приложения > Менеджер приложений.
  4. На странице Менеджер приложений нажмите Новое подключенное приложение.
  5. В разделе Основная информация заполните обязательные поля. Эти значения нужны для учета и не используются расширением.
  6. В разделе API (Включить настройки OAuth) установите флажок Включить настройки OAuth.
  7. Укажите URL обратного вызова, хотя расширение его не использует. Вы можете использовать http://localhost/ или другой плейсхолдер.
  8. Установите флажок Использовать цифровые подписи.
  9. В разделе Использовать цифровые подписи нажмите Выбрать файл, чтобы найти и загрузить файл salesforce.crt, который вы создали ранее.
  10. В разделе Выбранные области действия OAuth добавьте следующие области действия, чтобы они отображались в разделе Выбранные области действия OAuth:
    • Как получить доступ к своим данным и управлять ими (API)
    • Выполнять запросы от вашего имени в любое время (refresh_token, offline_access)
  11. Нажмите Сохранить. Если будут обнаружены ошибки, возможно, вам потребуется заново создать и загрузить файл salesforce.crt.
  12. На странице приложения нажмите Управление.
  13. На странице Менеджера приложений для созданного вами приложения нажмите Изменить правила.
  14. В разделе Правила OAuth нажмите на раскрывающееся меню Разрешенные пользователи и выберите Пользователи, одобренные администратором, предварительно авторизованы.
  15. Нажмите Сохранить.
  16. Вернитесь на страницу приложения и в разделе Профили нажмите Управление профилями.
  17. На странице Назначение профиля приложения установите флажки рядом с профилями пользователей, которым разрешено использовать это приложение.

    Выберите профиль, соответствующий пользователю, чье имя вы будете использовать при настройке расширения. Также убедитесь, что доступ к этому приложению есть хотя бы у пользователей с правами системного администратора.

    Вы можете посмотреть настройки профиля пользователя в Salesforce. В разделе Настройка разверните Пользователи > Пользователи, найдите пользователя, от имени которого будет работать расширение, а затем найдите его профиль в столбце Профиль.

  18. Нажмите Сохранить.

О Salesforce

Salesforce – это платформа для управления взаимоотношениями с клиентами (CRM). Система управления взаимоотношениями с клиентами (CRM) помогает компаниям лучше понимать потребности клиентов и решать их проблемы, эффективно управляя информацией о клиентах и взаимодействиях с ними на единой платформе, доступной с любого компьютера или устройства.

Действия

insert

Вставляйте записи как типы объектов sObject.

Синтаксис

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records":[ records-to-insert ],
  "allOrNone": true | false
}]]></Input>

Пример

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { "Name": "MyAccountName" }
  ],
  "allOrNone": true
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
sobject Тип объекта sObject записей, которые нужно вставить. Строка Нет. Да.
записи Массив записей sObject в формате JSON. Максимальное значение – 1000. Массив Нет. Да.
allOrNone true – чтобы отменить все обновление, если не удалось выполнить какую-либо его часть. Логическое значение false Нет.

Ответ

Массив results с результатами операции вставки.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Свойство Описание Тип По умолчанию Обязательно
results[*].id Идентификатор sObject, сгенерированный для новой записи. Строка Нет. Да.
results[*].success true, если запись была успешно вставлена. Логическое значение Нет. Да.
results[*].errors Массив ошибок, если они были обнаружены во время выполнения. Массив Нет. Да.

update

Обновлять записи Salesforce.

Синтаксис

<Action>update</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records": [ records-to-update ],
  "allOrNone": true | false
}]]></Input>

Пример

<Action>update</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    {
      "id":"0011U00000LQ76KQAT",
      "Name": "MyNewAccountName"
    }
  ],
  "allOrNone": true
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
sobject Тип объекта sObject записей, которые нужно обновить. Строка Нет. Да.
записи Массив записей sObject в формате JSON. Каждая запись, которую нужно обновить, должна содержать значение идентификатора записи. Максимальное значение – 1000. Массив Нет. Да.
allOrNone true – чтобы отменить все обновление, если не удалось выполнить какую-либо его часть. Логическое значение false Нет.

Ответ

Массив results, содержащий результаты обновления.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Параметр Описание Тип По умолчанию Обязательно
results[*].id Идентификатор sObject, созданный для обновленной записи. Строка Нет. Да.
results[*].success true, если запись была успешно вставлена. Логическое значение Нет. Да.
results[*].errors Массив ошибок, если они были обнаружены во время выполнения. Массив Нет. Да.

возвращение

Получайте записи в виде объектов SObject по их идентификаторам. Возвращает все поля типа sObject.

Синтаксис

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Пример

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
sobject Тип объекта SObject записей, которые нужно получить. Строка Нет. Да.
ids Массив идентификаторов объектов sObject, которые нужно получить. Максимальное значение – 1000. Массив Нет. Да.
allOrNone true, чтобы вся операция завершилась неудачно, если какая-либо часть запроса не будет выполнена. Логическое значение false Нет.

Ответ

Массив records объектов sObject, представленных в формате JSON. Обратите внимание, что в JSON включаются все свойства объектов, даже если значение свойства равно null.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Запрашивать данные у Salesforce.com с помощью языка запросов объектов Salesforce (SOQL).

Синтаксис

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": soql-query-statement
}]]></Input>

Пример

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": "SELECT Id, Name FROM Account"
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
soql Запрос SOQL. Строка Нет. Да.

Ответ

Результаты запроса.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
Параметр Описание Тип По умолчанию Обязательно
totalSize Количество записей, возвращенных запросом. Целое число Нет. Да.
записи Массив возвращенных записей в виде объектов sObject в формате JSON. Максимальное значение – 1000. Массив Нет. Да.
Готово true, если операция запроса завершена. Логическое значение Нет. Да.

list

Список записей Salesforce.com. Возвращает все поля указанного типа sObject.

Синтаксис

<Action>list</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "limit": max-number-of-records,
  "offset": record-index-at-which-to-begin-response-set
}]]></Input>

Пример

<Action>list</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "limit": 1000,
  "offset": 0
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
sobject Тип объекта sObject записей, которые нужно перечислить. Строка Нет. Да.
лимит Максимальное количество возвращаемых записей. Целое число 1000 Нет.
смещение; Смещение для списка записей. Целое число 0 Нет.

Ответ

Массив records, содержащий перечисленные объекты sObject в формате JSON.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

del

Удалите записи с указанными идентификаторами.

Синтаксис

<Action>del</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

Пример

<Action>del</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

Параметры запроса

Параметр Описание Тип По умолчанию Обязательно
sobject Тип объекта sObject записей, которые нужно удалить. Строка Нет. Да.
ids Массив идентификаторов sObject для записей, которые нужно удалить. Максимальное значение – 1000. Массив Нет. Да.

Ответ

Массив results, содержащий результаты операции.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Свойство Описание Тип По умолчанию Обязательно
results[*].id Идентификатор объекта sObject указанной записи. Строка Нет. Да.
results[*].success true, если операция для записи выполнена успешно. Логическое значение Нет. Да.
results[*].errors Массив ошибок, если они были обнаружены во время выполнения. Массив Нет. Да.

getAccessToken

Получите токен доступа к API Salesforce.com. Можно использовать для запросов к REST API.

Синтаксис

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

Параметры запроса

Нет.

Ответ

Токен доступа в формате JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Свойство Описание Тип По умолчанию Обязательно
accessToken Токен доступа. Строка Нет. Да.
область действия Области действия, в которых токен предоставляет доступ. Строка Нет. Да.
instanceUrl URL экземпляра, используемого организацией Salesforce. Строка Нет. Да.
id Идентификатор связанного приложения. Строка Нет. Да.
tokenType Тип токена доступа. Строка Канал Да.

Справочник по конфигурации

При настройке и развертывании этого расширения для использования в прокси API следуйте приведенным ниже инструкциям.

Общие свойства расширений

Следующие свойства присутствуют для каждого расширения.

Свойство Описание По умолчанию Необходимый
name Имя, которое вы даете этой конфигурации расширения. Никто Да
packageName Имя пакета расширения, предоставленное Apigee Edge. Никто Да
version Номер версии пакета расширения, из которого вы настраиваете расширение. Никто Да
configuration Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. Никто Да

Свойства пакета расширения

Укажите значения для следующих свойств конфигурации, относящихся к этому расширению.

Свойство Описание По умолчанию Обязательно
URL сервера авторизации URL, который используется при получении авторизации от Salesforce. Обычно это https://login.salesforce.com. Нет. Да.
Ключ потребителя подключенного приложения Идентификатор клиента, предоставленный Salesforce для созданного вами подключенного приложения. Инструкции по получению идентификатора клиента приведены в разделе Предварительные требования. Нет. Да.
Учетные данные При вводе в консоли Apigee Edge это содержимое файла salesforce.key, созданного вами на предыдущих шагах. При отправке с помощью Management API это значение в кодировке Base64, сгенерированное из файла salesforce.key. Нет. Да.
Имя пользователя Salesforce Имя пользователя, связанное с созданным вами подключенным приложением. Расширение Salesforce будет использовать его для получения авторизации от Salesforce. Нет. Да.