Salesforce Rest API

Salesforce Rest Api



En aquesta guia, parlarem de com inserir els registres a Salesforce amb l'API REST mitjançant els mètodes POST i PUT http a Workbench. Com a part d'aquesta guia, parlarem de com utilitzar Workbench i obtenir registres específics mitjançant sObject, obtenir diversos registres d'un objecte mitjançant la consulta i obtenir els registres escrivint l'API REST personalitzada d'Apex.

Mètode POST

POST és un mètode http que afegeix registres únics o múltiples alhora a Salesforce. Podem inserir els registres amb URI mitjançant l'API REST d'Apex personalitzada o directament des de l'URI.

Recurs de descans personalitzat a Apex

Per escriure REST a Apex, hem d'utilitzar algunes anotacions que accedeixen a l'API REST a la vostra classe Apex.







Anotació @HttpPost

Aquest mètode s'anomena quan s'envia HTTP POST que permet exposar el mètode Apex com a recurs REST. Aleshores, crea un nou recurs.



Sintaxi: @httpPost

Exemple:



Escriviu la classe Apex 'RestApi_Post_Record.apxc' que implica el mètode REST 'POST' per inserir els camps d'estat, prioritat i assumpte a l'objecte 'Cas' de Salesforce.





  1. Creeu el Post_Method amb tres paràmetres: estat, prioritat i subjecte del tipus de cadena.
  2. Creeu un objecte 'Case' passant aquests paràmetres.
  3. Utilitzeu el DML d'inserció per inserir el registre a l'objecte 'Cas' de Salesforce.
@RestResource(urlMapping='/v56.0/RestApi_Post_Record/')
classe global RestApi_Post_Record{

// REST - Mètode de publicació
@httpPost
Post_Method de cas estàtic global (Prioritat de la cadena, Estat de la cadena, Assumpte de la cadena){
Cas case_obj= cas nou (Prioritat=prioritat, Estat = estat, Assumpte=assumpte);

// Insereix DML
inseriu cas_obj;
retornar case_obj;
}
}

URI i resultat:

Aneu a Workbench i navegueu a l'explorador REST. Especifiqueu l'URI següent i executeu-lo:



/services/apexrest/v56.0/RestApi_Post_Record/

Especifiqueu les dades a l'òrgan de sol·licitud:

{
'Priority':'Alt',
'Estat':'Nou',
'Subject':'Problema mòbil'
}

Obriu el registre a Salesforce (navegueu a l'objecte 'Case' des del menú d'aplicacions).

Inseriu un registre únic directament des de l'URI

Aneu a l'explorador REST a la pestanya 'Utilitats' i especifiqueu l'URI següent i especifiqueu aquest registre al cos de la sol·licitud:

/services/data/v56.0/sobjects/Case/

Òrgan de la sol·licitud:

{
'Priority':'Mitjana',
'Estat':'Nou',
'Subject':'Equips de Microsoft: no s'arriba'
}

Aneu a la pestanya 'Cases' de Salesforce i visualitzeu el registre.

Inseriu diversos registres directament des de l'URI

Si voleu inserir diversos registres alhora, hem d'especificar l'URI de la següent manera: /services/data/v56.0/composite/tree/sObject

L'òrgan de sol·licitud conserva els registres en el format següent:

'registres' :[{
'attributes': {'type': 'Objecte', 'referenceId': 'reference1'},
camp: valor,
...
...
},{
'attributes': {'type': 'Objecte', 'referenceId': 'reference1'},
camp: valor,
...
...
}]
}

Inseriu dos registres a l'objecte 'Case' de Salesforce.

URI: /services/data/v56.0/composite/tree/Case/

Òrgan de la sol·licitud:

{
'registres' :[{
'attributes': {'type': 'Cas', 'referenceId': 'reference1'},
'Priority':'Alt',
'Estat':'Nou',
'Subject':'Problema de disseny amb el rotor mecànic',
'Type':'Elèctric'
},{
'attributes': {'type': 'Cas', 'referenceId': 'reference2'},
'Priority':'Baixa',
'Estat':'Nou',
'Subject':'Arrencada del generador després d'una fallada elèctrica',
'Type':'Elèctric'
}]
}

S'insereixen dos registres a Salesforce amb CaseNumber 00001038 i 00001039.

Mètode PUT

Com hem comentat anteriorment, PUT és un mètode http que s'utilitza per crear/actualitzar els registres. En aquesta guia, utilitzem aquest mètode per crear un registre de Salesforce nou mitjançant l'API REST personalitzada.

@httpPut : aquest mètode es crida quan s'envia el PUT HTTP que permet que el mètode Apex s'exposi com a recurs REST. Aleshores, crea un recurs nou o actualitza el recurs existent.

Sintaxi: @httpPut

Exemple:

Escriviu la classe Apex 'RestApi_Put_Record.apxc' que implica el mètode REST 'PUT' per inserir els camps d'estat, prioritat i descripció a l'objecte 'Case' de Salesforce.

@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')
classe global RestApi_Put_Record{

// REST - Mètode Put
@httpPut
Cas estàtic global Put_Method (Prioritat de la cadena, Estat de la cadena, Assumpte de la cadena){
Cas case_obj= cas nou (Prioritat=prioritat, Estat = estat, Assumpte=assumpte);

// Insereix DML
inseriu cas_obj;
retornar case_obj;
}
}

URI i resultat:

Aneu a Workbench i navegueu a l'explorador REST. Especifiqueu l'URI següent i executeu-lo:

/services/apexrest/v56.0/RestApi_Put_Record/

Especifiqueu les dades a l'òrgan de sol·licitud:

{
'Priority':'Alt',
'Status':'Tancat',
'Subject':'Necessita una guia per a picadora de verdures'
}

Obriu el registre a Salesforce (navegueu a l'objecte 'Case' des del menú d'aplicacions).

Conclusió

Ara, podeu inserir els registres a Salesforce mitjançant els mètodes http PUT i POST. Hem après a inserir els registres directament al Workbench i a utilitzar l'API REST personalitzada mitjançant la classe Apex. L'objecte 'Case' de Salesforce s'utilitza en aquesta guia com a exemple. La diferència real entre PUT i POST és que POST s'utilitza per inserir les dades mentre que PUT s'utilitza per inserir/actualitzar les dades. L'anotació @httpPut s'utilitza per al mètode PUT i l'anotació @httpPost s'utilitza per al mètode POST.