0

如何从 Salesforce 界面在 UiPath 机器人上启动 UiPath 进程?我知道 Salesforce 可以将 REST API 命令发送到其他软件。

4

1 回答 1

0

我试着做同样的事情,就像你在 YouTube 上的电影一样。拜托,你能看看下面我/你的顶级代码,也许可以帮助我。谢谢!!

  {
            //@future(callout=true)
            public static void startProcess(String param1,String param2)
            {
                Http http = new Http();
                HttpRequest rm = new HttpRequest();
                rm.setEndpoint('https://account.uipath.com/oauth/token');
                rm.setMethod('POST');
                rm.setHeader('Content-Type', 'application/json');
                rm.setHeader('X-UIPATH-TenantName', 'ioDefault');
                //rm.setTimeout(60000);

                JSONGenerator gen = JSON.createGenerator(true);  
                gen.writeStartObject();
                gen.writeStringField('grant_type','refresh_token');
                gen.writeStringField('client_id','8DEv1AMNXczW3y4U15LL3jYf62jK93n5');
                gen.writeStringField('refresh_token','2I7ZERqOZHFmzVzyPUE_sdf-l-dGa4086xN8fyrW-xF8-');
                gen.writeEndObject();
                rm.setBody(gen.getAsString());

                HttpResponse rs = http.send(rm);

                System.debug(rs.getBody());

                Map<String,Object> res = (Map<String,Object>)JSON.deserializeUntyped(rs.getBody());
                System.debug(String.valueOf(res.get('access_token')));

                HttpRequest rm2 = new HttpRequest();
                rm2.setMethod('POST');
              rm2.setEndpoint('https://platform.uipath.com/zuhtkqf/ioDefault/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs');
                rm2.setHeader('Content-Type', 'application/json');
                rm2.setHeader('X-UIPATH-TenantName', 'ioDefault');
                rm2.setHeader('Authorization', 'Bearer '+String.valueOf(res.get('access_token')));
                //rm2.setTimeout(60000);

                JSONGenerator gen2 = JSON.createGenerator(true);  
               /// start a simple process without parameters
                gen2.writeStartObject();
                gen2.writeFieldName('startInfo');
                gen2.writeStartObject();
                gen2.writeStringField('ReleaseKey','6aa09f52-ef47-47aa-ab2e-8e487e7841e5');
                gen2.writeStringField('Strategy','All');
                gen2.writeEndObject();
                gen2.writeEndObject();

               /// start a simple process with parameters        
               /* gen2.writeStartObject();
                gen2.writeFieldName('startInfo');
                gen2.writeStartObject();
                gen2.writeStringField('ReleaseKey','YOUR release KEY for process see the YouTube movie below');
                gen2.writeStringField('Strategy','All');
                gen2.writeStringField('InputArguments','{\"param1\":\"'+param1+'\",\"param2\":\"'+param2+'\"}');
                gen2.writeEndObject();
                gen2.writeEndObject();
*/
                rm2.setBody(gen2.getAsString());

                HttpResponse rs2 = http.send(rm2);

                System.debug(rs2.getBody());
            }
        }
于 2020-04-23T20:37:11.563 回答