Расширение Salesforce

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

Версия: 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). Управление взаимоотношениями с клиентами помогает компаниям понимать потребности своих клиентов и решать проблемы, лучше управляя информацией о клиентах и ​​их взаимодействиями — и все это на единой платформе, всегда доступной с любого настольного компьютера или устройства.

Действия

вставлять

Вставлять записи как объекты типа 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 в формате JSON. Максимальное количество: 1000. Множество Никто. Да.
allOrNone true означает, что обновление будет прервано полностью, если какая-либо его часть завершится неудачей. Логический ЛОЖЬ Нет.

Ответ

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

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

обновлять

Обновите записи в 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 в формате JSON. Каждая обновляемая запись должна содержать значение ID. Максимальное количество записей: 1000. Множество Никто. Да.
allOrNone true означает, что обновление будет прервано полностью, если какая-либо его часть завершится неудачей. Логический ЛОЖЬ Нет.

Ответ

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

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

забрать

Получает записи в виде объектов типа 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 для извлечения. Максимальное количество: 1000. Множество Никто. Да.
allOrNone true означает, что вся операция завершится неудачей, если какая-либо часть запроса не удастся. Логический ЛОЖЬ Нет.

Ответ

Массив 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 если операция запроса завершена. Логический Никто. Да.

список

Выводит список записей 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 , который необходимо отобразить в списке. Нить Никто. Да.
лимит Максимальное количество возвращаемых записей. Целое число 1000 Нет.
компенсировать Смещение для отображения записей. Целое число 0 Нет.

Ответ

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

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

дель

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

Синтаксис

<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 для записей, подлежащих удалению. Максимальное количество: 1000. Множество Никто. Да.

Ответ

Массив results , содержащий итоги операции.

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

получить токен доступа

Получите токен доступа к 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. Нить Никто. Да.
идентификатор Идентификатор подключенного приложения. Нить Никто. Да.
tokenType Введите текст для получения токена доступа. Нить Носитель Да.

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

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

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

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

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

Свойства для этого пакета расширений

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

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