Salesforce Rest-API

Salesforce Rest Api



In deze handleiding bespreken we hoe u de records in Salesforce kunt invoegen met de REST API via de POST- en PUT http-methoden in Workbench. Als onderdeel van deze handleiding bespreken we hoe u Workbench kunt gebruiken en specifieke records kunt ophalen met sObject, hoe u meerdere records van een object kunt ophalen met behulp van een query en hoe u de records kunt ophalen door de aangepaste Apex REST API te schrijven.

POST-methode

POST is een http-methode die enkele/meerdere records tegelijk toevoegt aan Salesforce. We kunnen de records met URI invoegen via de aangepaste Apex REST API of rechtstreeks vanuit URI.

Aangepaste rustbron in Apex

Om REST in Apex te schrijven, moeten we enkele annotaties gebruiken die toegang hebben tot de REST API in uw Apex-klasse.







@HttpPost-annotatie

Deze methode wordt aangeroepen wanneer HTTP POST wordt verzonden, waardoor de Apex-methode kan worden weergegeven als een REST-resource. Vervolgens wordt er een nieuwe resource gemaakt.



Syntaxis: @httpPost

Voorbeeld:



Schrijf de Apex-klasse 'RestApi_Post_Record.apxc' waarbij de REST 'POST'-methode wordt gebruikt om de status-, prioriteits- en onderwerpvelden in te voegen in het Salesforce-object 'Case'.





  1. Maak de Post_Method met drie parameters: status, prioriteit en onderwerp van stringtype.
  2. Maak een 'Case'-object door deze parameters door te geven.
  3. Gebruik de invoeg-DML om de record in het Salesforce-object 'Case' in te voegen.
@RestResource(urlMapping='/v56.0/RestApi_Post_Record/')
globale klasse RestApi_Post_Record{

// REST - Post-methode
@httpPost
global static Case Post_Method(String Priority, String Status, String Subject){
Case case_obj= nieuwe Case(Priority=priority,Status = status,Subject=subject);

// DML invoegen
voeg case_obj in;
retourneer case_obj;
}
}

URI en resultaat:

Ga naar Workbench en navigeer naar de REST Explorer. Geef de volgende URI op en voer deze uit:



/services/apexrest/v56.0/RestApi_Post_Record/

Specificeer de gegevens in de Request Body:

{
'Prioriteit':'Hoog',
'Status':'Nieuw',
'Onderwerp':'Mobiel probleem'
}

Open het record in Salesforce (navigeer naar het object 'Case' vanuit de App Launcher).

Voeg een enkele record rechtstreeks in vanuit de URI

Navigeer naar de REST Explorer onder het tabblad 'Hulpprogramma's' en geef de volgende URI op en specificeer dit record onder de Request Body:

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

Verzoek lichaam:

{
'Prioriteit':'Gemiddeld',
'Status':'Nieuw',
'Subject':'Microsoft-teams - Komt er niet aan'
}

Ga naar het tabblad 'Cases' van Salesforce en bekijk het record.

Voeg meerdere records rechtstreeks vanuit de URI in

Als u meerdere records tegelijk wilt invoegen, moeten we de URI als volgt specificeren: /services/data/v56.0/composite/tree/sObject

De verzoekende instantie bewaart de records in het volgende formaat:

'records' :[{
'attributen': {'type': 'Object', 'referenceId': 'reference1'},
veld:waarde,
...
...
},{
'attributen': {'type': 'Object', 'referenceId': 'reference1'},
veld:waarde,
...
...
}]
}

Laten we twee records invoegen in het Salesforce-object 'Case'.

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

Verzoek lichaam:

{
'records' :[{
'attributen': {'type': 'Case', 'referenceId': 'reference1'},
'Prioriteit':'Hoog',
'Status':'Nieuw',
'Subject':'Ontwerpprobleem met mechanische rotor',
'Type':'Elektrisch'
},{
'attributen': {'type': 'Case', 'referenceId': 'reference2'},
'Prioriteit':'Laag',
'Status':'Nieuw',
'Subject':'Generator starten na stroomstoring' ,
'Type':'Elektrisch'
}]
}

Er worden twee records in Salesforce ingevoegd met CaseNumber 00001038 en 00001039.

PUT-methode

Zoals we eerder hebben besproken, is PUT een http-methode die wordt gebruikt om de records te maken/bij te werken. In deze handleiding gebruiken we deze methode om een ​​nieuw Salesforce-record te maken met behulp van de aangepaste REST API.

@httpPut : Deze methode wordt aangeroepen wanneer de HTTP PUT wordt verzonden, waardoor de Apex-methode kan worden weergegeven als een REST-resource. Vervolgens wordt er een nieuwe bron gemaakt of wordt de bestaande bron bijgewerkt.

Syntaxis: @httpPut

Voorbeeld:

Schrijf de Apex-klasse 'RestApi_Put_Record.apxc' waarbij de REST 'PUT'-methode wordt gebruikt om de status-, prioriteits- en beschrijvingsvelden in het Salesforce-object 'Case' in te voegen.

@RestResource(urlMapping='/v56.0/RestApi_Put_Record/')
globale klasse RestApi_Put_Record{

// REST - Put-methode
@httpPut
global static Case Put_Method(String Priority, String Status, String Subject){
Case case_obj= nieuwe Case(Priority=priority,Status = status,Subject=subject);

// DML invoegen
voeg case_obj in;
retourneer case_obj;
}
}

URI en resultaat:

Ga naar Workbench en navigeer naar de REST Explorer. Geef de volgende URI op en voer deze uit:

/services/apexrest/v56.0/RestApi_Put_Record/

Specificeer de gegevens in de Request Body:

{
'Prioriteit':'Hoog',
'Status':'Gesloten',
'Subject':'Groentenmolengids nodig'
}

Open het record in Salesforce (navigeer naar het object 'Case' vanuit de App Launcher).

Conclusie

Nu kunt u de records in Salesforce invoegen met behulp van de http PUT- en POST-methoden. We hebben geleerd hoe we de records rechtstreeks in de Workbench kunnen invoegen en de aangepaste REST API kunnen gebruiken via de Apex-klasse. Het Salesforce-object 'Case' wordt in deze handleiding als voorbeeld gebruikt. Het werkelijke verschil tussen PUT en POST is dat POST wordt gebruikt om de gegevens in te voegen, terwijl PUT wordt gebruikt om de gegevens in te voegen/bij te werken. De @httpPut-annotatie wordt gebruikt voor de PUT-methode en de @httpPost-annotatie wordt gebruikt voor de POST-methode.