Kunin ang Mga Tala Gamit ang Rest API sa Salesforce

Kunin Ang Mga Tala Gamit Ang Rest Api Sa Salesforce



Sa gabay na ito, tatalakayin natin kung paano kunin ang mga tala ng Salesforce gamit ang REST API sa pamamagitan ng Workbench sa Salesforce. Bilang bahagi ng gabay na ito, tatalakayin natin kung paano gamitin ang Workbench, kumuha ng mga partikular na record gamit ang sObject, at kumuha ng maraming record mula sa isang object gamit ang query at kumuha ng mga record sa pamamagitan ng pagsulat ng Apex custom na REST API. Gagamitin namin ang object ng Salesforce Standard Case para sa pagpapakita. Hindi na kailangang gumawa ng anumang case record sa Salesforce backend. Ginagamit namin ang kasalukuyang karaniwang record ng kaso na ibinibigay ng Salesforce.

Ipinapakilala ang Workbench

Ang Workbench ay hindi isang opisyal na produkto ng Salesforce.com. Ngunit gagamitin namin ang Salesforce upang isagawa ang mga operasyon sa pagmamanipula ng data tulad ng pagpili, pagpasok, pag-upsert, pag-update at pagtanggal sa pamamagitan lamang ng pag-log in sa iyong Salesforce account (sumusuporta sa Sandbox at Production). Ito ang opisyal na website para mag-login sa Workbench kasama ang Salesforce: https://workbench.developerforce.com/login.php .

Sa ngayon, panatilihin ang bersyon ng API bilang umiiral lamang at mag-click sa button na 'Mag-log in gamit ang Salesforce'.









Kailangan namin ang REST Explorer. Mag-navigate sa tab na 'mga utility' at mag-click sa 'REST Explorer'.







Makikita mo ang UI tulad ng sa sumusunod na paglalarawan. Kailangan nating piliin ang GET na kunin ang mga tala mula sa Salesforce sa buong gabay na ito. Kailangan naming tukuyin ang URI na kumukuha ng mga talaan ng Salesforce at i-click ang button na 'Ipatupad.'



Kunin ang Tukoy na Tala gamit ang Salesforce ID

Batay sa Salesforce record ID, maaari naming makuha ang buong record ng Salesforce. Kailangan nating itakda ang URI tulad ng sumusunod:

/ mga serbisyo / datos / v56.0 / mga bagay / objectAPINAme / id

Dito, ang 'objectAPINAme' ay ang Salesforce Standard/Custom object at ang 'id' ay tumutukoy sa Salesforce ID.

Ibalik:

Makukuha mo ang HTTP/1.1 200 OK na hilaw na tugon sa format na JSON tulad ng sumusunod:

{
'mga katangian' : {
'uri' :
'url' :
} ,
'patlang' : Halaga,
...
}

Halimbawa:

Sa halimbawang ito, kinukuha namin ang 5005i00000W4GM5AAN case record.

URI: / mga serbisyo / datos / v56.0 / mga bagay / Kaso / 5005i00000W4GM5AAN

Resulta:

Makikita natin na ang tugon ay nabuo sa JSON na format.

Maaari din naming tingnan ang mga resulta nang direkta mula dito:

Kunin ang Maramihang Mga Tala gamit ang Query

Oras na para kumuha ng maraming record mula sa object ng Salesforce. Noong nakaraan, tinukoy namin ang mga bagay sa URI. Dito, kailangan nating tukuyin ang isang query na kumukuha ng query bilang isang parameter.

URI: mga serbisyo / datos / v57.0 / tanong / ? q =SELECT+field1,field2,....+from+ObjectAPINAme

Kailangan nating gamitin ang '+' bilang isang delimiter upang maisama ang mga keyword sa isang query. Ibinabalik nito ang kabuuang Sukat at mga tala sa isang folder. Ang pangalan ng folder para sa bawat tala ay [Item 1],…[Item n].

Halimbawa 1:
Ibalik natin ang mga talaan na kinabibilangan ng CaseNumber, status, priyoridad, at paglalarawan mula sa Case object.

/ mga serbisyo / datos / v57.0 / tanong / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case

Resulta:

Kapag nag-click ka sa 'Palawakin Lahat', makikita mo ang lahat ng mga tala kasama ang mga katangian at halaga nito.

Hayaan akong ipakita ang una at huling mga tala:

Halimbawa 2:
Ibalik natin ang tatlong tala lamang na may parehong mga patlang tulad ng nakikita sa unang halimbawa.

/ mga serbisyo / datos / v57.0 / tanong / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

Resulta:
Ang unang dalawang talaan na naroroon sa bagay na Kaso ay ibinalik.

Halimbawa 3:
Tukuyin natin ang kundisyon na WHERE sa query na pumipili sa mga talaan na may katayuang 'Bago'.

/ mga serbisyo / datos / v57.0 / tanong / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case+where+ Katayuan = 'Bago'

Resulta:

Limang tala ang umiiral na may katayuang 'Bago'.

Custom na Rest Resource sa Apex

Magagamit namin ang Salesforce Apex na nagbabalik ng record mula sa object ng Salesforce sa pamamagitan ng pagtukoy sa URI sa Workbench. Upang magsulat ng REST sa Apex, kailangan naming gumamit ng ilang anotasyon na nag-a-access sa REST API sa iyong klase ng Apex. Siguraduhin na ang aming Apex class ay dapat na globally static.

1. @RestResource Annotation

Ang anotasyong ito ay ginagamit upang paganahin kung alin ang naglalantad sa isang klase ng Apex bilang isang mapagkukunan ng REST. Kinakailangan ang urlMapping bilang isang parameter na ginagamit upang mahanap ang URI sa Workbench.

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

Ang 'bersyon' ay ang iyong bersyon ng Workbench tulad ng V56.0 at ang 'ApexClassName' ay ang iyong klase ng Apex kung saan kasama ang mga mapagkukunan ng Rest API.

2. @HttpGet Anotasyon

Ang anotasyong ito ay ginagamit upang paganahin kung alin ang naglalantad sa isang klase ng Apex bilang isang mapagkukunan ng REST. Ito ay tinatawag kapag ang isang HTTP GET na kahilingan ay ipinadala sa server at ibinalik ang tinukoy na mapagkukunan.

Syntax: @httpGet

Halimbawa 1: Single Param

Isulat ang klase ng Apex na 'RestApi_Get_Record.apxc' na kinabibilangan ng paraan ng 'Rest Get' para ibalik ang id, CaseNumber, status, priyoridad, at pinanggalingan mula sa case mula sa Case object.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
pandaigdigang klase RestApi_Get_Record {

// REST - Kumuha ng Paraan
@ httpGet
global static Case getCaseDetails ( ) {

// Lumikha ng bagay para sa Bagay sa kaso
Case case_obj = bagong Case ( ) ;
Mapa < String, String > paramsMap = RestContext.request.params;

// Kunin ang kaso id
String caseid =paramsMap.get ( 'input_id' ) ;

// SOQL query na gagawin bumalik id ,CaseNumber,Status,Priority,Origin from Case from
// ang bagay na Kaso
case_obj = [ pumili id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
bumalik case_obj;
}
}

URI at Resulta:

Pumunta sa Workbench at mag-navigate sa REST Explorer. Ipasa ang id bilang 5002t00000Pdzr2AAB sa input_id param.

/ mga serbisyo / tuktok / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Paliwanag:

  • Gumawa ng object para sa case na 'case_obj'.
  • Kunin ang params gamit ang RestContext.request.params.
  • Kunin ang case id mula sa param input_id at iimbak ito sa caseid variable.
  • Isulat ang SOQL query na nagbabalik ng id, CaseNumber, status, priority, pinanggalingan mula sa case mula sa Case object ng 'caseid' case.
  • Ibalik ang case object (case_obj).

Halimbawa 2: Maramihang Param

Gamitin ang nakaraang Apex Class at kunin ang 'Status' param kasama ang id. Tukuyin ang dalawang param na ito sa Workbench URI na pinaghihiwalay ng '&'.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
pandaigdigang klase RestApi_Get_Record {

// REST - Kumuha ng Paraan
@ httpGet
global static Case getCaseDetails ( ) {

// Lumikha ng bagay para sa Bagay sa kaso
Case case_obj = bagong Case ( ) ;
Mapa < String, String > id_param = RestContext.request.params;
Mapa < String, String > status_param = RestContext.request.params;

// Kunin ang id_param sa case_id
String case_id = id_param.get ( 'input_id' ) ;
// Kunin ang status_param sa case_status
String case_status =status_param.get ( 'status' ) ;

case_obj = [ pumili id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
bumalik case_obj;
}
}

URI at Resulta:

Pumunta sa Workbench at mag-navigate sa REST Explorer. Ipasa ang input_id bilang 5002t00000PdzqwAAB at ang status bilang 'Sarado' sa URI.

/ mga serbisyo / tuktok / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB at katayuan =Sarado

Konklusyon

Tinalakay namin ang tatlong senaryo ng pagkuha ng mga tala ng Salesforce sa pamamagitan ng Salesforce REST API gamit ang Workbench. Upang ibalik ang isang partikular na tala, kailangan nating tukuyin ang sObject sa pamamagitan ng pagpasa ng id bilang parameter sa URI. Katulad nito, ipinapasa namin ang mga parameter ng query upang makakuha ng mga partikular na tala. Gamit ang Apex, maaari tayong lumikha ng sarili nating 'Kumuha' na paraan upang piliin ang talaan batay sa isa/maraming param.