breadcrumbDescription
Kald en integrationsprocedure, der kan kædes, med REST-kald
En integrationsprocedure, der kan kædes op, opdeles i flere transaktioner for at undgå at nå Salesforce-styringsbegrænsninger. Brug af en REST API er den nemmeste måde at se de delvise svar, som hver transaktion returnerer, før integrationsproceduren er fuldført.
Før du starter
-
Bestem, hvilket navneområde integrationsprocedurer i din organisation skal bruge, f.eks.
omnistudio. -
Opret dette integrationsprocedureeksempel, eller importer dets DataPack: Opret et prøvetagningsblokeksempel med en formel.
-
Hent sessions-id'et for dit aktuelle login til din organisation. Se Opsæt godkendelse i Salesforces REST API Developer Guide.
Brug integrationsproceduren med REST API:
- Åbn integrationsprocedureeksemplet i din organisation. Hvis du importerede DataPack, vises den under Documentation/IPTryCatch2 eller Documentation/IPTryCatchF2.
- På fanen Eksempelvisning kan du prøve forskellige inputparameterværdier for Navn, indtil du finder en, der returnerer mere end en registrering, men ikke mange. En ideel navneværdi returnerer to navne.
-
I proceskonfigurationen skal du klikke på Deaktiver version, hvis integrationsproceduren er aktiv, så du kan redigere den. Indstil Rækkebegrænsning for forespørgsler, der kan kædes, til en værdi, der er lav nok til at forårsage kæde.
Hvis f.eks. værdien Navn i det forrige trin returnerer to registreringer, resulterer en værdi for grænse for kædeforespørgselsrækker på 1 i to transaktioner. Hvis værdien Navn returnerer tre registreringer, resulterer en værdi for grænse for kædeforespørgselsrækker på 2 i tre transaktioner.
- Gå til komponenten DRExtractAction1 og kontroller dens egenskab Kæde på trin.
- Gå tilbage til Procedure-konfiguration, og klik på Aktiver version.
-
I en terminal skal du indtaste en curl kommando af denne form for at kalde REST API:
curl -X POST \ -H 'Authorization: Bearer session_id' \ -H 'Content-Type: application/json' \ -H 'chainable:true' \ --data-raw '{"Name":"Name"}' \ https://ap1.salesforce.com/services/apexrest/namespace/v1/integrationprocedure/Type_SubTypeHvis f.eks. Navn er
Jones, navneområdet eromnistudio, Typen erDocumentationog SubType erIPTryCatchF2, skal du angive denne curl-kommando. Sessions-id'et, som er en lang streng af formularens00Dnn000000nnnn!ARUAQLt...QqodNY3, vises som SessionId af klarhedshensyn.curl -X POST \ -H 'Authorization: Bearer SessionId' \ -H 'Content-Type: application/json' \ -H 'chainable:true' \ --data-raw '{"Name":"Jones"}' \ https://MyDomainName.my.salesforce.com/services/apexrest/omnistudio/v1/integrationprocedure/Documentation_IPTryCatchF2TipDu kan samle kommandoen curl i en teksteditor og kopiere den til terminalen.
-
Undersøg svaret, som indeholder
vlcIPData:{ "vlcUseQueueableApexRemoting": false, "vlcMessage": null, "vlcIPData": "dc3e1986-2f7c-0871-e968-28eb63e11820", "vlcStatus": "InProgress" }BemærkEksempelvisning af integrationsprocedure håndterer automatisk kæde, så du ser aldrig denne type svar i eksempelvisningen.
-
Føj et sidehoved til
vlcIPDatatil kommandoen curl, og angiv det:curl -X POST \ -H 'Authorization: Bearer SessionId' \ -H 'Content-Type: application/json' \ -H 'chainable:true' \ -H 'vlcIPData:dc3e1986-2f7c-0871-e968-28eb63e11820' \ --data-raw '{"Name":"Jones"}' \ https://MyDomainName.my.salesforce.com/services/apexrest/omnistudio/v1/integrationprocedure/Documentation_IPTryCatchF2 -
Undersøg svaret. Hvis den indeholder en anden
vlcIPData, skal du gentage det forrige trin med den nyevlcIPData. Fortsæt med at gentage med hver nyvlcIPData, indtil svaret ikke indeholder en sådan værdi.Dette svar er et eksempel på, hvad der returneres, når integrationsproceduren er fuldført.
{ "response": {}, "ResponseAction1Status": true, "Name": "Jones", "options": { "Accept": "*/*", "X-B3-SpanId": "ee09609f22d890e1", "CipherSuite": "ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 256-bits", "User-Agent": "curl/7.64.1", "X-B3-Sampled": "0", "Host": "MyDomainName.my.salesforce.com", "X-B3-TraceId": "ee09609f22d890e1", "chainable": "true", "X-Salesforce-SIP": "42.42.42.42", "Content-Type": "application/json" }, "DRExtractAction1Status": true, "DRExtractAction1": [ { "ContactName": "John Jones" }, { "ContactName": "June Jones" } ], "TryCatchBlock1Status": true, "TryCatchBlock1": null }
