Извлечение записей с помощью Rest API в Salesforce

Izvlecenie Zapisej S Pomos U Rest Api V Salesforce



В этом руководстве мы обсудим, как получить записи Salesforce с помощью REST API через Workbench в Salesforce. В рамках этого руководства мы обсудим, как использовать Workbench, извлекать определенные записи с помощью sObject и извлекать несколько записей из объекта с помощью запроса, а также извлекать записи с помощью пользовательского REST API Apex. Для демонстрации мы будем использовать объект Salesforce Standard Case. Нет необходимости создавать какие-либо записи обращений в серверной части Salesforce. Мы используем существующую стандартную запись обращения, предоставленную Salesforce.

Представляем верстак

Workbench не является официальным продуктом Salesforce.com. Но мы будем использовать Salesforce для выполнения операций по обработке данных, таких как выбор, вставка, обновление, обновление и удаление, просто войдя в свою учетную запись Salesforce (поддерживает как песочницу, так и рабочую среду). Это официальный сайт для входа в Workbench с помощью Salesforce: Д056C98D2D3106E2103EDFB1012977C02219C42B .

На данный момент оставьте только существующую версию API и нажмите кнопку «Войти с помощью Salesforce».









Нам нужен REST Explorer. Перейдите на вкладку «Утилиты» и нажмите «REST Explorer».







Вы увидите пользовательский интерфейс, как на следующем рисунке. Нам нужно выбрать GET для получения записей из Salesforce во всем этом руководстве. Нам нужно указать URI, который извлекает записи Salesforce, и нажать кнопку «Выполнить».



Получить конкретную запись с идентификатором Salesforce

На основе идентификатора записи Salesforce мы можем получить всю запись Salesforce. Нам нужно установить URI следующим образом:

/ услуги / данные / v56.0 / объекты / имя_объектаAPI / идентификатор

Здесь «objectAPIName» — это стандартный/настраиваемый объект Salesforce, а «id» — идентификатор Salesforce.

Возвращаться:

Вы получите необработанный ответ HTTP/1.1 200 OK в формате JSON, как показано ниже:

{
'атрибуты' : {
'тип' :
'адрес' :
} ,
'поле' : Ценить,
...
}

Пример:

В этом примере мы получаем запись обращения 5005i00000W4GM5AAN.

ТИП: / услуги / данные / v56.0 / объекты / Случай / 5005i00000W4GM5AAN

Результат:

Мы видим, что ответ генерируется в формате JSON.

Мы также можем просмотреть результаты прямо отсюда:

Получить несколько записей с помощью запроса

Пришло время получить несколько записей из объекта Salesforce. Раньше мы указывали объекты в URI. Здесь нам нужно указать запрос, который принимает запрос в качестве параметра.

URI: услуги / данные / v57.0 / запрос / ? д =ВЫБРАТЬ+поле1,поле2,....+из+имя_объекта_API

Нам нужно использовать «+» в качестве разделителя для объединения ключевых слов в запросе. Он возвращает totalSize и записывает в папку. Имя папки для каждой записи: [Элемент 1],… [Элемент n].

Пример 1:
Давайте вернем записи, которые включают CaseNumber, статус, приоритет и описание из объекта Case.

/ услуги / данные / v57.0 / запрос / ? д =SELECT+CaseNumber,Status,Priority,Description+from+Case

Результат:

Когда вы нажмете «Развернуть все», вы увидите все записи с их атрибутами и значениями.

Покажу первую и последнюю записи:

Пример 2:
Вернем только три записи с теми же полями, что и в первом примере.

/ услуги / данные / v57.0 / запрос / ? д =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

Результат:
Возвращаются первые две записи, присутствующие в объекте Case.

Пример 3:
Укажем условие WHERE в запросе, который выбирает записи со статусом «Новая».

/ услуги / данные / v57.0 / запрос / ? д =SELECT+CaseNumber,Status,Priority,Description+from+Case+where+ Положение дел '=' 'Новый'

Результат:

Существует пять записей со статусом «Новая».

Пользовательский ресурс отдыха в Apex

Мы можем использовать Salesforce Apex, который возвращает запись из объекта Salesforce, указав URI в Workbench. Чтобы написать REST в Apex, мы должны использовать некоторые аннотации, которые обращаются к REST API в вашем классе Apex. Убедитесь, что наш класс Apex должен быть глобально статическим.

1. @RestResource Аннотация

Эта аннотация используется для включения, которое предоставляет класс Apex как ресурс REST. Он принимает urlMapping в качестве параметра, который используется для поиска URI в Workbench.

Синтаксис: @RestResource(urlMapping=’/Version/ApexClassName/’)

«Версия» — это ваша версия Workbench, например V56.0, а «ApexClassName» — ваш класс Apex, в котором задействованы ресурсы Rest API.

2. @HttpGet аннотация

Эта аннотация используется для включения, которое предоставляет класс Apex как ресурс REST. Он вызывается, когда HTTP-запрос GET отправляется на сервер и возвращает указанный ресурс.

Синтаксис: @httpGet

Пример 1: один параметр

Напишите класс Apex «RestApi_Get_Record.apxc», который включает метод «Rest Get» для возврата идентификатора, CaseNumber, состояния, приоритета и происхождения из обращения из объекта «Обращение».

@ Ресурс отдыха ( urlMapping '=' '/v56.0/RestApi_Get_Record/' )
глобальный класс RestApi_Get_Record {

// REST — метод получения
@ httpПолучить
глобальный статический случай getCaseDetails ( ) {

// Создать объект для Объект дела
Дело case_obj = новое дело ( ) ;
карта < Строка, Строка > paramsMap = RestContext.request.params;

// Получить случай идентификатор
Строка caseid = paramsMap.get ( 'input_id' ) ;

// SOQL-запрос, который возвращаться идентификатор ,Номер дела,Статус,Приоритет,Происхождение из дела из
// объект Case
case_obj = [ выбирать идентификатор ,CaseNumber,Status,Priority,Origin from Case, где Id =:caseid ] ;
возвращаться case_obj;
}
}

URI и результат:

Перейдите в Workbench и перейдите в REST Explorer. Передайте идентификатор как 5002t00000Pdzr2AAB в параметр input_id.

/ услуги / апексрест / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Объяснение:

  • Создайте объект для случая «case_obj».
  • Получите параметры, используя RestContext.request.params.
  • Получите идентификатор дела из параметра input_id и сохраните его в переменной caseid.
  • Напишите запрос SOQL, который возвращает id, CaseNumber, статус, приоритет, происхождение из дела из объекта Case дела «caseid».
  • Вернуть объект дела (case_obj).

Пример 2: несколько параметров

Используйте предыдущий класс Apex и получите параметр «Статус» вместе с идентификатором. Укажите эти два параметра в URI Workbench, разделенном символом «&».

@ Ресурс отдыха ( urlMapping '=' '/v56.0/RestApi_Get_Record/' )
глобальный класс RestApi_Get_Record {

// REST — метод получения
@ httpПолучить
глобальный статический случай getCaseDetails ( ) {

// Создать объект для Объект дела
Дело case_obj = новое дело ( ) ;
карта < Строка, Строка > id_param = RestContext.request.params;
карта < Строка, Строка > status_param = RestContext.request.params;

// Получить id_param в case_id
Строка case_id = id_param.get ( 'input_id' ) ;
// Получить status_param в case_status
Строка case_status = status_param.get ( 'положение дел' ) ;

case_obj = [ выбирать идентификатор ,CaseNumber,Status,Priority,Origin from Case где Id =:case_id и Status =: case_status ] ;
возвращаться case_obj;
}
}

URI и результат:

Перейдите в Workbench и перейдите в REST Explorer. Передайте input_id как 5002t00000PdzqwAAB и статус «Закрыто» в URI.

/ услуги / апексрест / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & положение дел = Закрыто

Заключение

Мы обсудили три сценария получения записей Salesforce через Salesforce REST API с помощью Workbench. Чтобы вернуть конкретную запись, нам нужно указать sObject, передав идентификатор в качестве параметра в URI. Точно так же мы передаем параметры запроса для получения определенных записей. Используя Apex, мы можем создать собственный метод «Получить» для выбора записи на основе одного или нескольких параметров.