Przedstawiamy Workbencha
Workbench nie jest oficjalnym produktem Salesforce.com. Będziemy jednak wykorzystywać Salesforce do wykonywania operacji manipulacji danymi, takich jak wybieranie, wstawianie, upsert, aktualizacja i usuwanie, po prostu logując się na konto Salesforce (obsługuje zarówno piaskownicę, jak i produkcję). To jest oficjalna strona do logowania Workbench z Salesforce: https://workbench.developerforce.com/login.php .
Na razie zachowaj tylko istniejącą wersję API i kliknij przycisk „Zaloguj się za pomocą Salesforce”.
Potrzebujemy Eksploratora REST. Przejdź do zakładki „narzędzia” i kliknij „REST Explorer”.
Zobaczysz interfejs użytkownika, jak na poniższej ilustracji. Musimy wybrać GET, aby pobrać rekordy z Salesforce w całym tym przewodniku. Musimy określić URI, który pobiera rekordy Salesforce i kliknąć przycisk „Wykonaj”.
Pobierz określony rekord z identyfikatorem Salesforce
Na podstawie identyfikatora rekordu Salesforce możemy pobrać cały rekord Salesforce. Musimy ustawić URI w następujący sposób:
/ usługi / dane / v56.0 / przedmioty / nazwaAPINobiektu / IDTutaj „objectAPIName” to obiekt Salesforce Standard/Custom, a „id” odnosi się do identyfikatora Salesforce.
Powrót:
Otrzymasz surową odpowiedź HTTP/1.1 200 OK w formacie JSON, jak poniżej:
{„atrybuty” : {
'typ' :
„URL” :
} ,
'pole' : Wartość,
...
}
Przykład:
W tym przykładzie pobieramy rekord sprawy 5005i00000W4GM5AAN.
TYP: / usługi / dane / v56.0 / przedmioty / Sprawa / 5005i00000W4GM5AANWynik:
Widzimy, że odpowiedź jest generowana w formacie JSON.
Wyniki możemy również przeglądać bezpośrednio stąd:
Pobierz wiele rekordów za pomocą zapytania
Czas pobrać wiele rekordów z obiektu Salesforce. Poprzednio określaliśmy obiekty w identyfikatorze URI. Tutaj musimy określić zapytanie, które przyjmuje zapytanie jako parametr.
URI: usługi / dane / v57.0 / zapytanie / ? Q =WYBIERZ+pole1,pole2,....+z+NazwaAPINobiektuMusimy użyć znaku „+” jako separatora, aby połączyć słowa kluczowe w zapytaniu. Zwraca totalSize i rekordy w folderze. Nazwa folderu dla każdego rekordu to [Pozycja 1],…[Pozycja n].
Przykład 1:
Zwróćmy rekordy zawierające CaseNumber, status, priorytet i opis z obiektu Case.
Wynik:
Po kliknięciu „Rozwiń wszystko” zobaczysz wszystkie rekordy wraz z ich atrybutami i wartościami.
Pokażę pierwszy i ostatni rekord:
Przykład 2:
Zwróćmy tylko trzy rekordy z tymi samymi polami, co w pierwszym przykładzie.
Wynik:
Zwracane są dwa pierwsze rekordy obecne w obiekcie Case.
Przykład 3:
Określmy warunek WHERE w zapytaniu, które wybiera rekordy ze statusem „Nowy”.
Wynik:
Istnieje pięć rekordów ze statusem „Nowy”.
Niestandardowy zasób odpoczynku w Apex
Możemy wykorzystać Salesforce Apex, który zwraca rekord z obiektu Salesforce, określając URI w Workbench. Aby napisać REST w Apex, musimy wykorzystać pewne adnotacje, które uzyskują dostęp do API REST w twojej klasie Apex. Upewnij się, że nasza klasa Apex musi być globalnie statyczna.
1. Adnotacja @RestResource
Ta adnotacja służy do włączania, która udostępnia klasę Apex jako zasób REST. Przyjmuje urlMapping jako parametr używany do zlokalizowania identyfikatora URI w Środowisku roboczym.
Składnia: @RestResource(urlMapping=’/Version/ApexClassName/’)
„Wersja” to Twoja wersja Workbench, taka jak V56.0, a „ApexClassName” to Twoja klasa Apex, w której zaangażowane są zasoby Rest API.
2. Adnotacja @HttpGet
Ta adnotacja służy do włączania, która udostępnia klasę Apex jako zasób REST. Jest wywoływana, gdy żądanie HTTP GET jest wysyłane do serwera i zwraca określony zasób.
Składnia: @httpGet
Przykład 1: Pojedynczy parametr
Napisz klasę Apex „RestApi_Get_Record.apxc”, która zawiera metodę „Rest Get” zwracającą identyfikator, numer sprawy, status, priorytet i pochodzenie sprawy z obiektu Case.
@ Zasób odpoczynku ( mapowanie adresów URL = '/v56.0/RestApi_Get_Record/' )klasa globalna RestApi_Get_Record {
// REST — Pobierz metodę
@ httpPobierz
globalna statyczna sprawa getCaseDetails ( ) {
// Utwórz obiekt Do Obiekt sprawy
Sprawa case_obj = nowa sprawa ( ) ;
Mapa < Ciąg, ciąg > paramsMap = RestContext.request.params;
// Uzyskać sprawa ID
Ciąg znaków caseid =paramsMap.get ( „identyfikator_wejściowy” ) ;
// Zapytanie SOQL, które będzie powrót ID ,Numer sprawy,Status,Priorytet,Pochodzenie ze Sprawa od
// obiekt Sprawa
obiekt_sprawy = [ wybierać ID ,Numer sprawy,Status,Priorytet,Pochodzenie ze sprawy, gdzie Id =:identyfikator sprawy ] ;
powrót sprawa_obj;
}
}
Identyfikator URI i wynik:
Przejdź do Workbench i przejdź do Eksploratora REST. Przekaż identyfikator jako 5002t00000Pdzr2AAB do parametru input_id.
/ usługi / wierzchołek / v56.0 / RestApi_Get_Record / ? identyfikator_wejściowy =5002t00000Pdzr2AAB
Wyjaśnienie:
- Utwórz obiekt dla sprawy „case_obj”.
- Pobierz parametry za pomocą pliku RestContext.request.params.
- Pobierz identyfikator sprawy z parametru input_id i zapisz go w zmiennej caseid.
- Napisz zapytanie SOQL, które zwraca id, CaseNumber, status, priorytet, pochodzenie ze sprawy z obiektu Case sprawy „caseid”.
- Zwróć obiekt sprawy (case_obj).
Przykład 2: Wiele parametrów
Wykorzystaj poprzednią klasę Apex i uzyskaj parametr „Status” wraz z identyfikatorem. Określ te dwa parametry w identyfikatorze URI Workbench, który jest oddzielony znakiem „&”.
@ Zasób odpoczynku ( mapowanie adresów URL = '/v56.0/RestApi_Get_Record/' )klasa globalna RestApi_Get_Record {
// REST — Pobierz metodę
@ httpPobierz
globalna statyczna sprawa getCaseDetails ( ) {
// Utwórz obiekt Do Obiekt sprawy
Sprawa case_obj = nowa sprawa ( ) ;
Mapa < Ciąg, ciąg > id_param = RestContext.request.params;
Mapa < Ciąg, ciąg > parametr_statusu = RestContext.request.params;
// Pobierz id_param do case_id
Ciąg case_id = id_param.get ( „identyfikator_wejściowy” ) ;
// Pobierz status_param do case_status
Ciąg case_status =status_param.get ( 'status' ) ;
obiekt_sprawy = [ wybierać ID ,Numer sprawy,Status,Priorytet,Pochodzenie ze sprawy, gdzie Id =:id_sprawy i Status =:status_sprawy ] ;
powrót sprawa_obj;
}
}
Identyfikator URI i wynik:
Przejdź do Workbench i przejdź do Eksploratora REST. Przekaż input_id jako 5002t00000PdzqwAAB i status jako „Closed” w identyfikatorze URI.
/ usługi / wierzchołek / v56.0 / RestApi_Get_Record / ? identyfikator_wejściowy =5002t00000PdzqwAAB & status =Zamknięte
Wniosek
Omówiliśmy trzy scenariusze pobierania rekordów Salesforce przez Salesforce REST API przy użyciu Workbencha. Aby zwrócić określony rekord, musimy określić sObject, przekazując id jako parametr w URI. Podobnie przekazujemy parametry zapytania, aby uzyskać określone rekordy. Korzystając z Apex, możemy stworzyć własną metodę „Get”, aby wybrać rekord na podstawie jednego/wielu parametrów.