Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Версия: 2.0.2
получать доступ к данным в вашем аккаунте Salesforce; Вставлять, обновлять, извлекать и запрашивать данные.
В нем приведена информация о том, как настроить и использовать это расширение.
Требования
В нем приведена информация о том, как настроить и использовать это расширение. Прежде чем использовать расширение из прокси-сервера API с помощью правила ExtensionCallout, необходимо:
Создайте закрытый ключ RSA x509 или пару сертификатов.
При настройке расширения вы будете использовать закрытый ключ (.key) в качестве учетных данных. Файл сертификата (.crt) понадобится вам при создании подключенного приложения, которое предоставит расширению доступ к Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crtНастройте подключенное приложение.
Связанное приложение Salesforce предоставит доступ для расширения Salesforce. Следуйте инструкциям по настройке приложения.
Получите идентификатор клиента для подключенного приложения. Расширение будет использовать его при аутентификации в приложении.
- В настройках Salesforce на панели навигации слева выберите Приложения > Менеджер приложений.
- В списке найдите созданное вами подключенное приложение.
- В раскрывающемся списке справа от строки приложения нажмите Посмотреть.
- В разделе API (Включить настройки OAuth) найдите Ключ потребителя и скопируйте его значение в надежное место, чтобы использовать при настройке расширения.
Как настроить подключенное приложение для доступа к расширению
Чтобы расширение Salesforce могло получить доступ к Salesforce, вам нужно создать подключенное приложение Salesforce, через которое расширение сможет подключаться к Salesforce.
В Salesforce подключенное приложение позволяет внешним приложениям подключаться к Salesforce через API.
Как настроить подключенное приложение
- Войдите в Salesforce.
- Нажмите на значок шестеренки в правом верхнем углу и выберите Настройка.
- На панели навигации слева разверните раздел Приложения > Менеджер приложений.
- На странице Менеджер приложений нажмите Новое подключенное приложение.
- В разделе Основная информация заполните обязательные поля. Эти значения нужны для учета и не используются расширением.
- В разделе API (Включить настройки OAuth) установите флажок Включить настройки OAuth.
- Укажите URL обратного вызова, хотя расширение его не использует. Вы можете использовать
http://localhost/или другой плейсхолдер. - Установите флажок Использовать цифровые подписи.
- В разделе Использовать цифровые подписи нажмите Выбрать файл, чтобы найти и загрузить файл
salesforce.crt, который вы создали ранее. - В разделе Выбранные области действия OAuth добавьте следующие области действия, чтобы они отображались в разделе Выбранные области действия OAuth:
- Как получить доступ к своим данным и управлять ими (API)
- Выполнять запросы от вашего имени в любое время (refresh_token, offline_access)
- Нажмите Сохранить. Если будут обнаружены ошибки, возможно, вам потребуется заново создать и загрузить файл
salesforce.crt. - На странице приложения нажмите Управление.
- На странице Менеджера приложений для созданного вами приложения нажмите Изменить правила.
- В разделе Правила OAuth нажмите на раскрывающееся меню Разрешенные пользователи и выберите Пользователи, одобренные администратором, предварительно авторизованы.
- Нажмите Сохранить.
- Вернитесь на страницу приложения и в разделе Профили нажмите Управление профилями.
На странице Назначение профиля приложения установите флажки рядом с профилями пользователей, которым разрешено использовать это приложение.
Выберите профиль, соответствующий пользователю, чье имя вы будете использовать при настройке расширения. Также убедитесь, что доступ к этому приложению есть хотя бы у пользователей с правами системного администратора.
Вы можете посмотреть настройки профиля пользователя в Salesforce. В разделе Настройка разверните Пользователи > Пользователи, найдите пользователя, от имени которого будет работать расширение, а затем найдите его профиль в столбце Профиль.
Нажмите Сохранить.
О 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. | Нет. | Да. |