Hae tietueita Salesforcen Rest API:n avulla

Hae Tietueita Salesforcen Rest Api N Avulla



Tässä oppaassa käsittelemme Salesforce-tietueiden hakemista REST API:lla Salesforcen Workbenchin kautta. Osana tätä opasta keskustelemme Workbenchin käyttämisestä, tiettyjen tietueiden hakemisesta sObjectin avulla ja useiden tietueiden hakemisesta objektista kyselyn avulla ja tietueiden hakemisesta kirjoittamalla Apexin mukautettu REST API. Käytämme Salesforce Standard Case -objektia esittelyyn. Tapaustietuetta ei tarvitse luoda Salesforce-taustajärjestelmään. Käytämme olemassa olevaa Salesforcen toimittamaa vakiotapaustietuetta.

Esittelyssä Workbench

Workbench ei ole virallinen Salesforce.com-tuote. Käytämme kuitenkin Salesforcea tietojen käsittelyyn, kuten valitsemiseen, lisäämiseen, lisäämiseen, päivittämiseen ja poistamiseen kirjautumalla sisään Salesforce-tilillesi (tukee sekä Sandboxia että tuotantoa). Tämä on virallinen verkkosivusto Workbenchiin kirjautumiseen Salesforcella: https://workbench.developerforce.com/login.php .

Säilytä tästä lähtien vain API-versio nykyisenä ja napsauta 'Kirjaudu sisään Salesforcella' -painiketta.









Tarvitsemme REST Explorerin. Siirry 'apuohjelmat' -välilehteen ja napsauta 'REST Explorer'.







Näet käyttöliittymän, kuten seuraavassa kuvassa. Meidän on valittava GET noutamaan tietueet Salesforcesta tässä koko oppaassa. Meidän on määritettävä URI, joka hakee Salesforce-tietueet, ja napsauta 'Suorita' -painiketta.



Hae tietty tietue Salesforce-tunnuksella

Salesforce-tietuetunnuksen perusteella voimme noutaa Salesforcen koko tietueen. Meidän on asetettava URI seuraavasti:

/ palvelut / tiedot / v56.0 / vastustaa / objektiAPINname / id

Tässä 'objectAPIName' on Salesforce Standard/Custom -objekti ja 'id' viittaa Salesforce ID:hen.

Palata:

Saat HTTP/1.1 200 OK -raakavastauksen JSON-muodossa seuraavasti:

{
'attribuutit' : {
'tyyppi' :
'url' :
} ,
'ala' : Arvo,
...
}

Esimerkki:

Tässä esimerkissä noudetaan tapaustietue 5005i00000W4GM5AAN.

TYYPPI: / palvelut / tiedot / v56.0 / vastustaa / Asia / 5005i00000W4GM5AAN

Tulos:

Näemme, että vastaus on luotu JSON-muodossa.

Tuloksia voi katsoa myös suoraan täältä:

Hae useita tietueita kyselyllä

On aika noutaa useita tietueita Salesforce-objektista. Aiemmin määritimme objektit URI:ssa. Tässä meidän on määritettävä kysely, joka ottaa kyselyn parametrina.

URI: palvelut / tiedot / v57.0 / kysely / ? q =VALITSE+kenttä1,kenttä2,....+kohteenAPInimi

Meidän on käytettävä '+' -merkkiä erottimena yhdistääksemme avainsanat kyselyyn. Se palauttaa totalSize-arvon ja tallentaa kansioon. Kunkin tietueen kansion nimi on [Kohde 1],…[Kohde n].

Esimerkki 1:
Palautetaan tietueet, jotka sisältävät CaseNumberin, tilan, prioriteetin ja kuvauksen Case-objektista.

/ palvelut / tiedot / v57.0 / kysely / ? q =VALITSE+tapausnumero,tila,prioriteetti,kuvaus+tapaus

Tulos:

Kun napsautat 'Laajenna kaikki', näet kaikki tietueet määritteineen ja arvoineen.

Näytän ensimmäisen ja viimeisen levyn:

Esimerkki 2:
Palautetaan vain kolme tietuetta, joissa on samat kentät kuin ensimmäisessä esimerkissä.

/ palvelut / tiedot / v57.0 / kysely / ? q =VALITSE+tapausnumero,tila,prioriteetti,kuvaus+tapaus+raja+ 2

Tulos:
Kaksi ensimmäistä Case-objektissa olevaa tietuetta palautetaan.

Esimerkki 3:
Määritetään WHERE-ehto kyselyssä, joka valitsee tietueet, joiden tila on 'Uusi'.

/ palvelut / tiedot / v57.0 / kysely / ? q =VALITSE+tapausnumero,tila,prioriteetti,kuvaus+tapaus+jos+ Tila = 'Uusi'

Tulos:

Viisi tietuetta, joiden tila on 'Uusi'.

Mukautettu leporesurssi Apexissa

Voimme käyttää Salesforce Apexia, joka palauttaa tietueen Salesforce-objektista määrittämällä URI:n Workbenchissä. Kirjoittaaksemme RESTin Apexissa, meidän on hyödynnettävä joitain merkintöjä, jotka käyttävät Apex-luokkasi REST-sovellusliittymää. Varmista, että Apex-luokkamme on oltava globaalisti staattinen.

1. @RestResource Annotation

Tätä merkintää käytetään sallimaan, mikä paljastaa Apex-luokan REST-resurssina. Se ottaa urlMappingin parametrina, jota käytetään URI:n paikantamiseen Workbenchistä.

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

'Versio' on Workbench-versiosi, kuten V56.0, ja 'ApexClassName' on Apex-luokkasi, jossa Rest API -resurssit ovat mukana.

2. @HttpGet Annotation

Tätä merkintää käytetään sallimaan, mikä paljastaa Apex-luokan REST-resurssina. Sitä kutsutaan, kun HTTP GET -pyyntö lähetetään palvelimelle ja palauttaa määritetyn resurssin.

Syntaksi: @httpGet

Esimerkki 1: Yksittäinen parametri

Kirjoita 'RestApi_Get_Record.apxc' Apex-luokka, joka sisältää 'Rest Get' -metodin palauttaakseen id:n, CaseNumberin, tilan, prioriteetin ja alkuperän tapauksesta Case-objektista.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globaali luokka RestApi_Get_Record {

// REST - Hanki menetelmä
@ httpGet
globaali staattinen tapaus getCaseDetails ( ) {

// Luo objekti varten Asian objekti
Case case_obj = uusi tapaus ( ) ;
Kartta < String, String > paramsMap = RestContext.request.params;

// Hanki tapaus id
Merkkijono caseid = paramsMap.get ( 'input_id' ) ;

// SOQL-kysely, joka tulee palata id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta
// Case-objekti
case_obj = [ valitse id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta, jossa Id =:caseid ] ;
palata case_obj;
}
}

URI ja tulos:

Siirry Workbenchiin ja siirry REST Exploreriin. Välitä tunnus muodossa 5002t00000Pdzr2AAB input_id-parametrille.

/ palvelut / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Selitys:

  • Luo objekti tapaukselle 'case_obj'.
  • Hanki parametrit käyttämällä RestContext.request.params.
  • Hanki tapauksen tunnus parametrista input_id ja tallenna tämä caseid-muuttujaan.
  • Kirjoita SOQL-kysely, joka palauttaa id, CaseNumber, status, priority, origin from case 'caseid'-tapauksen Case-objektista.
  • Palauta tapausobjekti (case_obj).

Esimerkki 2: Useita parametreja

Käytä aiempaa Apex-luokkaa ja hanki 'Status'-parametri yhdessä tunnuksen kanssa. Määritä nämä kaksi parametria Workbench URI:ssa, joka on erotettu &-merkillä.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globaali luokka RestApi_Get_Record {

// REST - Hanki menetelmä
@ httpGet
globaali staattinen tapaus getCaseDetails ( ) {

// Luo objekti varten Asian objekti
Case case_obj = uusi tapaus ( ) ;
Kartta < String, String > id_param = RestContext.request.params;
Kartta < String, String > status_param = RestContext.request.params;

// Hanki id_param case_id:hen
Merkkijono case_id = id_param.get ( 'input_id' ) ;
// Siirrä status_param arvoon case_status
Merkkijono case_status =status_param.get ( 'Tila' ) ;

case_obj = [ valitse id ,CaseNumber,Tila,Priority,Alkuperä tapauksesta, jossa Id =:case_id ja Status =: case_status ] ;
palata case_obj;
}
}

URI ja tulos:

Siirry Workbenchiin ja siirry REST Exploreriin. Anna input_id muodossa 5002t00000PdzqwAAB ja tilaksi 'Suljettu' URI:ssa.

/ palvelut / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & Tila =Suljettu

Johtopäätös

Keskustelimme kolmesta skenaariosta Salesforce-tietueiden hakemisesta Salesforce REST API:n kautta Workbenchin avulla. Tietyn tietueen palauttamiseksi meidän on määritettävä sObject välittämällä id parametrina URI:ssa. Vastaavasti välitämme kyselyparametrit tiettyjen tietueiden saamiseksi. Apexin avulla voimme luoda oman 'Get'-menetelmämme valitaksesi tietueen yhden tai useamman parametrin perusteella.