Recupereu registres mitjançant l'API Rest a Salesforce

Recupereu Registres Mitjancant L Api Rest A Salesforce



En aquesta guia, parlarem de com recuperar els registres de Salesforce amb l'API REST mitjançant Workbench a Salesforce. Com a part d'aquesta guia, parlarem de com utilitzar Workbench, obtenir registres específics mitjançant sObject i obtenir diversos registres d'un objecte mitjançant la consulta i obtenir registres escrivint l'API REST personalitzada d'Apex. Utilitzarem l'objecte Salesforce Standard Case per a la demostració. No cal crear cap registre de cas al backend de Salesforce. Utilitzem el registre de cas estàndard existent que ens proporciona Salesforce.

Presentació de Workbench

Workbench no és un producte oficial de Salesforce.com. Però utilitzarem Salesforce per dur a terme les operacions de manipulació de dades com ara seleccionar, inserir, modificar, actualitzar i suprimir només iniciant sessió al vostre compte de Salesforce (admet tant Sandbox com Production). Aquest és el lloc web oficial per iniciar sessió a Workbench amb Salesforce: https://workbench.developerforce.com/login.php .

A partir d'ara, mantingueu només la versió de l'API com a existent i feu clic al botó 'Inicieu sessió amb Salesforce'.









Necessitem el REST Explorer. Navegueu a la pestanya 'utilitats' i feu clic a 'REST Explorer'.







Veureu la interfície d'usuari com a la il·lustració següent. Hem d'optar GET per obtenir els registres de Salesforce en tota aquesta guia. Hem d'especificar l'URI que obté els registres de Salesforce i fer clic al botó 'Executar'.



Recupereu un registre específic amb l'identificador de Salesforce

En funció de l'identificador del registre de Salesforce, podem obtenir el registre sencer de Salesforce. Hem d'establir l'URI de la següent manera:

/ serveis / dades / v56.0 / sobjectes / objectAPIName / id

Aquí, 'objectAPIName' és l'objecte estàndard/personalitzat de Salesforce i 'id' fa referència a l'identificador de Salesforce.

Tornada:

Obtindreu la resposta en brut HTTP/1.1 200 OK en format JSON com es mostra a continuació:

{
'atributs' : {
'tipus' :
'url' :
} ,
'camp' : valor,
...
}

Exemple:

En aquest exemple, obtenim el registre del cas 5005i00000W4GM5AAN.

TIPUS: / serveis / dades / v56.0 / sobjectes / Caixa / 5005i00000W4GM5AAN

Resultat:

Podem veure que la resposta es genera en format JSON.

També podem veure els resultats directament des d'aquí:

Recuperar diversos registres amb la consulta

És hora de recuperar diversos registres de l'objecte de Salesforce. Anteriorment, vam especificar els objectes a l'URI. Aquí, hem d'especificar una consulta que pren la consulta com a paràmetre.

URI: serveis / dades / v57.0 / consulta / ? q =SELECT+camp1,camp2,....+de+nomAPIObjecte

Hem d'utilitzar '+' com a delimitador per unir les paraules clau en una consulta. Retorna la mida total i els registres en una carpeta. El nom de la carpeta per a cada registre és [Element 1],...[Element n].

Exemple 1:
Retornem els registres que inclouen el CaseNumber, l'estat, la prioritat i la descripció de l'objecte Case.

/ serveis / dades / v57.0 / consulta / ? q =SELECT+CaseNumber,Estat,Priority,Description+from+Case

Resultat:

Quan feu clic a 'Amplia-ho tot', veureu tots els registres amb els seus atributs i valors.

Permeteu-me mostrar el primer i l'últim registre:

Exemple 2:
Retornem només tres registres amb els mateixos camps que es veuen al primer exemple.

/ serveis / dades / v57.0 / consulta / ? q =SELECT+CaseNumber,Estat,Priority,Description+from+Case+limit+ 2

Resultat:
Es retornen els dos primers registres que hi ha a l'objecte Case.

Exemple 3:
Especifiquem la condició ON a la consulta que selecciona els registres amb l'estat 'Nou'.

/ serveis / dades / v57.0 / consulta / ? q =SELECT+CaseNumber,Estat,Priority,Description+from+Case+on+ Estat = 'Nou'

Resultat:

Existeixen cinc registres amb l'estat 'Nou'.

Recurs de descans personalitzat a Apex

Podem utilitzar Salesforce Apex que retorna el registre de l'objecte de Salesforce especificant l'URI al Workbench. Per escriure REST a Apex, hem d'utilitzar algunes anotacions que accedeixen a l'API REST a la vostra classe Apex. Assegureu-vos que la nostra classe Apex ha de ser globalment estàtica.

1. Anotació @RestResource

Aquesta anotació s'utilitza per habilitar que exposa una classe Apex com a recurs REST. Pren l'urlMapping com a paràmetre que s'utilitza per localitzar l'URI al Workbench.

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

La 'versió' és la vostra versió de Workbench com la V56.0 i 'ApexClassName' és la vostra classe Apex on hi participen els recursos de l'API Rest.

2. @HttpGet Anotació

Aquesta anotació s'utilitza per habilitar que exposa una classe Apex com a recurs REST. Es crida quan s'envia una sol·licitud HTTP GET al servidor i retorna el recurs especificat.

Sintaxi: @httpGet

Exemple 1: paràmetre únic

Escriviu la classe Apex 'RestApi_Get_Record.apxc' que implica el mètode 'Rest Get' per retornar l'identificador, CaseNumber, l'estat, la prioritat i l'origen del cas de l'objecte Case.

@ RestResource ( URLMapping = '/v56.0/RestApi_Get_Record/' )
classe global RestApi_Get_Record {

// REST - Obtenir el mètode
@ http Get
Cas estàtic global getCaseDetails ( ) {

// Crea objecte per Objecte del cas
Cas case_obj = cas nou ( ) ;
Mapa < Corda, corda > paramsMap = RestContext.request.params;

// Obtenir la Caixa id
Cadena caseid =paramsMap.get ( 'id_entrada' ) ;

// Consulta SOQL que ho farà tornar id ,CaseNumber,Estat,Priority,Origin from Case from
// l'objecte Case
case_obj = [ seleccionar id ,CaseNumber,Estat,Priority,Origin from Case on Id =:caseid ] ;
tornar cas_obj;
}
}

URI i resultat:

Aneu a Workbench i navegueu a l'explorador REST. Passeu l'identificador com a 5002t00000Pdzr2AAB al paràmetre input_id.

/ serveis / repòs de l'àpex / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Explicació:

  • Creeu un objecte per al cas 'case_obj'.
  • Obteniu els paràmetres mitjançant RestContext.request.params.
  • Obteniu l'identificador del cas del paràmetre input_id i emmagatzemeu-lo a la variable caseid.
  • Escriu la consulta SOQL que retorna l'identificador, el número de cas, l'estat, la prioritat i l'origen de la majúscula i minúscula a partir de l'objecte Case del cas 'caseid'.
  • Retorna l'objecte de cas (case_obj).

Exemple 2: paràmetres múltiples

Utilitzeu la classe Apex anterior i obteniu el paràmetre 'Estat' juntament amb l'identificador. Especifiqueu aquests dos paràmetres a l'URI del Workbench que està separat per '&'.

@ RestResource ( URLMapping = '/v56.0/RestApi_Get_Record/' )
classe global RestApi_Get_Record {

// REST - Obtenir el mètode
@ http Get
Cas estàtic global getCaseDetails ( ) {

// Crea objecte per Objecte del cas
Cas case_obj = cas nou ( ) ;
Mapa < Corda, corda > id_param = RestContext.request.params;
Mapa < Corda, corda > status_param = RestContext.request.params;

// Aconsegueix id_param a case_id
Cadena case_id = id_param.get ( 'id_entrada' ) ;
// Aconsegueix status_param a case_status
Cadena case_status =status_param.get ( 'estat' ) ;

case_obj = [ seleccionar id ,CaseNumber,Estats,Priority,Origin from Case on Id =:case_id i Status =: case_status ] ;
tornar cas_obj;
}
}

URI i resultat:

Aneu a Workbench i navegueu a l'explorador REST. Passeu l'input_id com a 5002t00000PdzqwAAB i l'estat com a 'Tancat' a l'URI.

/ serveis / repòs de l'àpex / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & estat = Tancat

Conclusió

Hem comentat tres escenaris per recuperar els registres de Salesforce mitjançant l'API REST de Salesforce mitjançant Workbench. Per tornar un registre específic, hem d'especificar el sObject passant l'id com a paràmetre a l'URI. De la mateixa manera, passem els paràmetres de consulta per obtenir registres específics. Utilitzant Apex, podem crear el nostre propi mètode 'Obtén' per seleccionar el registre basant-se en paràmetres únics o múltiples.