Načtení záznamů pomocí Rest API v Salesforce

Nacteni Zaznamu Pomoci Rest Api V Salesforce



V této příručce probereme, jak načíst záznamy Salesforce pomocí REST API prostřednictvím Workbench v Salesforce. V rámci této příručky probereme, jak používat Workbench, načítat konkrétní záznamy pomocí sObject a načítat více záznamů z objektu pomocí dotazu a načítat záznamy napsáním vlastního REST API Apex. K demonstraci použijeme objekt Salesforce Standard Case. V backendu Salesforce není potřeba vytvářet žádný záznam případu. Používáme stávající standardní záznam případu, který poskytuje Salesforce.

Představujeme Workbench

Workbench není oficiální produkt Salesforce.com. Ale budeme používat Salesforce k provádění operací manipulace s daty, jako je výběr, vložení, upsert, aktualizace a odstranění, pouhým přihlášením do vašeho účtu Salesforce (podporuje Sandbox i Production). Toto je oficiální webová stránka pro přihlášení k Workbench pomocí Salesforce: https://workbench.developerforce.com/login.php .

Od této chvíle ponechejte pouze existující verzi API a klikněte na tlačítko „Přihlásit se pomocí Salesforce“.









Potřebujeme REST Explorer. Přejděte na kartu „utility“ a klikněte na „REST Explorer“.







Uvidíte uživatelské rozhraní jako na následujícím obrázku. K načtení záznamů ze Salesforce v celé této příručce musíme zvolit GET. Musíme zadat identifikátor URI, který načte záznamy Salesforce, a kliknout na tlačítko „Provést“.



Získejte konkrétní záznam s ID Salesforce

Na základě ID záznamu Salesforce můžeme načíst celý záznam Salesforce. Musíme nastavit URI takto:

/ služby / data / v56.0 / objekty / objectAPINname / id

Zde je „objectAPIName“ standardní/vlastní objekt Salesforce a „id“ odkazuje na Salesforce ID.

Vrátit se:

Získáte nezpracovanou odpověď HTTP/1.1 200 OK ve formátu JSON jako v následujícím:

{
'atributy' : {
'typ' :
'url' :
} ,
'pole' : Hodnota,
...
}

Příklad:

V tomto příkladu načteme záznam případu 5005i00000W4GM5AAN.

TYP: / služby / data / v56.0 / objekty / Pouzdro / 5005i00000W4GM5AAN

Výsledek:

Vidíme, že odpověď je generována ve formátu JSON.

Výsledky si můžeme prohlédnout také přímo zde:

Načíst více záznamů pomocí dotazu

Je čas načíst více záznamů z objektu Salesforce. Dříve jsme specifikovali objekty v URI. Zde musíme zadat dotaz, který vezme dotaz jako parametr.

URI: služby / data / v57.0 / dotaz / ? q =SELECT+pole1,pole2,....+from+ObjectAPINname

Ke spojení klíčových slov v dotazu musíme použít „+“ jako oddělovač. Vrátí celkovou velikost a záznamy ve složce. Název složky pro každý záznam je [Item 1],…[Item n].

Příklad 1:
Vraťme záznamy, které obsahují CaseNumber, stav, prioritu a popis z objektu Case.

/ služby / data / v57.0 / dotaz / ? q =VYBRAT+Číslo případu,Stav,Priorita,Popis+z+případu

Výsledek:

Po kliknutí na „Rozbalit vše“ uvidíte všechny záznamy s jejich atributy a hodnotami.

Dovolte mi ukázat první a poslední záznamy:

Příklad 2:
Vraťme pouze tři záznamy se stejnými poli jako v prvním příkladu.

/ služby / data / v57.0 / dotaz / ? q =VYBRAT+Číslo případu,Stav,Priorita,Popis+z+případu+limit+ 2

Výsledek:
První dva záznamy, které jsou přítomny v objektu Case, jsou vráceny.

Příklad 3:
Uveďte podmínku WHERE v dotazu, který vybírá záznamy se stavem „Nový“.

/ služby / data / v57.0 / dotaz / ? q =SELECT+Číslo případu,Stav,Priorita,Popis+od+případu+odkud+ Postavení = 'Nový'

Výsledek:

Existuje pět záznamů se stavem „Nový“.

Vlastní zdroj odpočinku v Apexu

Můžeme použít Salesforce Apex, který vrací záznam z objektu Salesforce zadáním URI ve Workbench. Abychom mohli napsat REST v Apex, musíme použít některé anotace, které přistupují k REST API ve vaší třídě Apex. Ujistěte se, že naše třída Apex musí být globálně statická.

1. @RestResource Anotace

Tato anotace se používá k povolení, které odhaluje třídu Apex jako prostředek REST. Bere urlMapping jako parametr, který se používá k nalezení URI ve Workbench.

Syntaxe: @RestResource(urlMapping=’/Version/ApexClassName/’)

„Verze“ je vaše verze Workbench jako V56.0 a „ApexClassName“ je vaše třída Apex, kde jsou zahrnuty prostředky Rest API.

2. @HttpGet Anotace

Tato anotace se používá k povolení, které odhaluje třídu Apex jako prostředek REST. Volá se, když je na server odeslán požadavek HTTP GET a vrací zadaný prostředek.

Syntaxe: @httpGet

Příklad 1: Single Param

Napište třídu Apex „RestApi_Get_Record.apxc“, která zahrnuje metodu „Rest Get“, která vrátí id, CaseNumber, stav, prioritu a původ z případu z objektu Case.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globální třída RestApi_Get_Record {

// REST - Get Method
@ httpGet
globální statické Case getCaseDetails ( ) {

// Vytvořit objekt pro Objekt případu
Case case_obj = nový případ ( ) ;
Mapa < Řetězec, Řetězec > paramsMap = RestContext.request.params;

// Dostaň pouzdro id
Řetězec caseid =paramsMap.get ( 'input_id' ) ;

// SOQL dotaz, který bude vrátit se id ,CaseNumber,Status,Priority,Origin from Case from
// objekt Case
case_obj = [ vybrat id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
vrátit se case_obj;
}
}

URI a výsledek:

Přejděte na Workbench a přejděte do Průzkumníka REST. Předejte id jako 5002t00000Pdzr2AAB do parametru input_id.

/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Vysvětlení:

  • Vytvořte objekt pro případ „case_obj“.
  • Získejte parametry pomocí RestContext.request.params.
  • Získejte ID případu z parametru input_id a uložte jej do proměnné caseid.
  • Napište dotaz SOQL, který vrátí id, CaseNumber, stav, prioritu, původ z case z objektu Case případu „caseid“.
  • Vraťte objekt case (case_obj).

Příklad 2: Více parametrů

Využijte předchozí třídu Apex a získejte parametr „Status“ spolu s id. Zadejte tyto dva parametry v URI Workbench, které jsou odděleny znakem „&“.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globální třída RestApi_Get_Record {

// REST - Get Method
@ httpGet
globální statické Case getCaseDetails ( ) {

// Vytvořit objekt pro Objekt případu
Case case_obj = nový případ ( ) ;
Mapa < Řetězec, Řetězec > id_param = RestContext.request.params;
Mapa < Řetězec, Řetězec > status_param = RestContext.request.params;

// Získejte id_param do case_id
Řetězec case_id = id_param.get ( 'input_id' ) ;
// Získejte status_param do case_status
Řetězec case_status =status_param.get ( 'postavení' ) ;

case_obj = [ vybrat id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
vrátit se case_obj;
}
}

URI a výsledek:

Přejděte na Workbench a přejděte do Průzkumníka REST. Předejte input_id jako 5002t00000PdzqwAAB a stav jako „Uzavřeno“ v URI.

/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & postavení = Zavřeno

Závěr

Probrali jsme tři scénáře načítání záznamů Salesforce prostřednictvím Salesforce REST API pomocí Workbench. Abychom vrátili konkrétní záznam, musíme specifikovat sObject předáním id jako parametru v URI. Podobně předáváme parametry dotazu, abychom získali konkrétní záznamy. Pomocí Apex můžeme vytvořit vlastní metodu „Get“ pro výběr záznamu na základě jednoho/více parametrů.