Iegūstiet ierakstus, izmantojot Rest API pakalpojumā Salesforce

Iegustiet Ierakstus Izmantojot Rest Api Pakalpojuma Salesforce



Šajā rokasgrāmatā mēs apspriedīsim, kā izgūt Salesforce ierakstus, izmantojot REST API, izmantojot Salesforce Workbench. Šīs rokasgrāmatas ietvaros mēs apspriedīsim, kā izmantot Workbench, iegūt konkrētus ierakstus, izmantojot sObject, un iegūt vairākus ierakstus no objekta, izmantojot vaicājumu, un izgūt ierakstus, rakstot Apex pielāgoto REST API. Demonstrēšanai izmantosim Salesforce Standard Case objektu. Salesforce aizmugursistēmā nav jāizveido neviens lietas ieraksts. Mēs izmantojam esošo standarta gadījuma ierakstu, ko nodrošina Salesforce.

Iepazīstinām ar Workbench

Workbench nav oficiāls Salesforce.com produkts. Taču mēs izmantosim Salesforce, lai veiktu datu apstrādes darbības, piemēram, atlasi, ievietošanu, pievienošanu, atjaunināšanu un dzēšanu, vienkārši piesakoties savā Salesforce kontā (atbalsta gan Sandbox, gan ražošanu). Šī ir oficiālā vietne, lai pieteiktos Workbench, izmantojot Salesforce: https://workbench.developerforce.com/login.php .

Šobrīd saglabājiet tikai API versiju un noklikšķiniet uz pogas Pieteikties, izmantojot Salesforce.









Mums ir nepieciešams REST Explorer. Dodieties uz cilni “Utilities” un noklikšķiniet uz “REST Explorer”.







Jūs redzēsit lietotāja interfeisu, kā parādīts nākamajā attēlā. Mums ir jāizvēlas GET, lai ielādētu ierakstus no Salesforce visā šajā rokasgrāmatā. Mums jānorāda URI, kas ienes Salesforce ierakstus, un noklikšķiniet uz pogas Izpildīt.



Izgūt konkrētu ierakstu ar Salesforce ID

Pamatojoties uz Salesforce ieraksta ID, mēs varam iegūt visu Salesforce ierakstu. Mums ir jāiestata URI šādi:

/ pakalpojumus / datus / v56.0 / iebilst / objectAPINname / id

Šeit “objectAPIName” ir Salesforce standarta/pielāgotais objekts, un “id” attiecas uz Salesforce ID.

Atgriezties:

Jūs saņemsit HTTP/1.1 200 OK neapstrādātu atbildi JSON formātā, kā norādīts tālāk:

{
'atribūti' : {
'tips' :
'url' :
} ,
'lauks' : vērtība,
...
}

Piemērs:

Šajā piemērā mēs iegūstam gadījuma ierakstu 5005i00000W4GM5AAN.

VEIDS: / pakalpojumus / datus / v56.0 / iebilst / Lieta / 5005i00000W4GM5AAN

Rezultāts:

Mēs redzam, ka atbilde tiek ģenerēta JSON formātā.

Rezultātus varam apskatīt arī tieši šeit:

Izgūstiet vairākus ierakstus, izmantojot vaicājumu

Ir pienācis laiks izgūt vairākus ierakstus no Salesforce objekta. Iepriekš mēs norādījām objektus URI. Šeit mums jānorāda vaicājums, kas vaicājumu izmanto kā parametru.

URI: pakalpojumi / datus / v57.0 / vaicājums / ? q =ATLASĪT+lauks1,lauks2,....+no+ObjectAPINname

Mums ir jāizmanto “+” kā norobežotājs, lai apvienotu atslēgvārdus vaicājumā. Tas atgriež kopējo izmēru un ierakstus mapē. Katra ieraksta mapes nosaukums ir [1. vienums],…[1. vienums].

1. piemērs:
Atgriezīsim ierakstus, kas ietver CaseNumber, statusu, prioritāti un aprakstu no objekta Case.

/ pakalpojumus / datus / v57.0 / vaicājums / ? q =ATLASĪT+Lietuma numurs,Statuss,Prioritāte,Apraksts+no+Case

Rezultāts:

Noklikšķinot uz “Izvērst visu”, jūs redzēsit visus ierakstus ar to atribūtiem un vērtībām.

Ļaujiet man parādīt pirmo un pēdējo ierakstu:

2. piemērs:
Atgriezīsim tikai trīs ierakstus ar tādiem pašiem laukiem, kā redzams pirmajā piemērā.

/ pakalpojumus / datus / v57.0 / vaicājums / ? q =ATLASĪT+Lietuma numurs,Statuss,Prioritāte,Apraksts+no+Lieta+ierobežojums+ 2

Rezultāts:
Tiek atgriezti pirmie divi ieraksti, kas atrodas objektā Case.

3. piemērs:
Norādīsim nosacījumu WHERE vaicājumā, kas atlasa ierakstus ar statusu “Jauns”.

/ pakalpojumus / datus / v57.0 / vaicājums / ? q =ATLASĪT+Lietuma numurs,Statuss,Prioritāte,Apraksts+no+Lieta+kur+ Statuss = 'Jauns'

Rezultāts:

Ir pieci ieraksti ar statusu “Jauns”.

Pielāgots atpūtas resurss Apex

Mēs varam izmantot Salesforce Apex, kas atgriež ierakstu no Salesforce objekta, darbavietā norādot URI. Lai Apex rakstītu REST, mums ir jāizmanto dažas anotācijas, kas jūsu Apex klasē piekļūst REST API. Pārliecinieties, ka mūsu Apex klasei ir jābūt globāli statiskai.

1. @RestResource anotācija

Šī anotācija tiek izmantota, lai iespējotu Apex klasi kā REST resursu. Tas izmanto urlMapping kā parametru, kas tiek izmantots URI atrašanai darbgaldā.

Sintakse: @RestResource(urlMapping='/Version/ApexClassName/')

“Versija” ir jūsu Workbench versija, piemēram, V56.0, un “ApexClassName” ir jūsu Apex klase, kurā ir iesaistīti Rest API resursi.

2. @HttpGet anotācija

Šī anotācija tiek izmantota, lai iespējotu Apex klasi kā REST resursu. Tas tiek izsaukts, kad serverim tiek nosūtīts HTTP GET pieprasījums un atgriež norādīto resursu.

Sintakse: @httpGet

1. piemērs: viens parametrs

Ierakstiet Apex klasi “RestApi_Get_Record.apxc”, kas ietver metodi “Rest Get”, lai no Case objekta atgrieztu id, CaseNumber, statusu, prioritāti un izcelsmi no gadījuma.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globālā klase RestApi_Get_Record {

// ATPŪTAS — iegūstiet metodi
@ httpSaņemt
globālā statiskā lieta getCaseDetails ( ) {

// Izveidot objektu priekš Lietas objekts
Case case_obj = jauns gadījums ( ) ;
Karte < Stīga, stīga > paramsMap = RestContext.request.params;

// Dabūt lietu id
String caseid =paramsMap.get ( 'input_id' ) ;

// SOQL vaicājums, kas būs atgriezties id ,CaseNumber,Statuss,Prioritāte,Izcelsme no lietas no
// lietas objekts
case_obj = [ izvēlieties id ,CaseNumber,Statuss,Priority,Izcelsme no gadījuma, kur Id =:caseid ] ;
atgriezties case_obj;
}
}

URI un rezultāts:

Dodieties uz Workbench un dodieties uz REST Explorer. Nosūtiet ID kā 5002t00000Pdzr2AAB parametram input_id.

/ pakalpojumus / virsotne / v56.0 / RestApi_Get_Record / ? ievades_id =5002t00000Pdzr2AAB

Paskaidrojums:

  • Izveidojiet objektu gadījumam “case_obj”.
  • Iegūstiet parametrus, izmantojot RestContext.request.params.
  • Iegūstiet gadījuma ID no parametra ievades_id un saglabājiet to mainīgajā caseid.
  • Uzrakstiet SOQL vaicājumu, kas atgriež id, CaseNumber, statusu, prioritāti, izcelsmi no gadījuma no Caseid objekta Case.
  • Atgriezt gadījuma objektu (case_obj).

2. piemērs. Vairāki parametri

Izmantojiet iepriekšējo Apex klasi un iegūstiet parametru “Statuss” kopā ar ID. Norādiet šos divus parametrus Workbench URI, kas ir atdalīts ar “&”.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globālā klase RestApi_Get_Record {

// ATPŪTAS — iegūstiet metodi
@ httpSaņemt
globālā statiskā lieta getCaseDetails ( ) {

// Izveidot objektu priekš Lietas objekts
Case case_obj = jauns gadījums ( ) ;
Karte < Stīga, stīga > id_param = RestContext.request.params;
Karte < Stīga, stīga > status_param = RestContext.request.params;

// Iegūstiet parametru id_param failā case_id
Virkne case_id = id_param.get ( 'input_id' ) ;
// Ievadiet status_param uz case_status
Virkne case_status =statuss_param.get ( 'statuss' ) ;

case_obj = [ izvēlieties id ,CaseNumber,Statuss,Priority,Izcelsme no gadījuma, kur Id =:case_id un Status =: case_status ] ;
atgriezties case_obj;
}
}

URI un rezultāts:

Dodieties uz Workbench un dodieties uz REST Explorer. Norādiet ievades_id kā 5002t00000PdzqwAAB un statusu “Slēgts” URI.

/ pakalpojumus / virsotne / v56.0 / RestApi_Get_Record / ? ievades_id =5002t00000PdzqwAAB & statusu =Slēgts

Secinājums

Mēs apspriedām trīs Salesforce ierakstu izgūšanas scenārijus, izmantojot Salesforce REST API, izmantojot Workbench. Lai atgrieztu noteiktu ierakstu, mums ir jānorāda sObject, nododot id kā parametru URI. Līdzīgi mēs nododam vaicājuma parametrus, lai iegūtu konkrētus ierakstus. Izmantojot Apex, mēs varam izveidot savu “Iegūt” metodi, lai atlasītu ierakstu, pamatojoties uz vienu/vairākiem parametriem.