Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
REST 호출을 사용하여 체인형 통합 절차 호출

REST 호출을 사용하여 체인형 통합 절차 호출

Salesforce 총괄자 제한에 도달하지 않도록 연결 가능한 통합 절차가 여러 트랜잭션으로 분할됩니다. REST API를 사용하면 통합 절차가 완료되기 전에 각 트랜잭션이 반환하는 부분 응답을 가장 쉽게 확인할 수 있습니다.

시작하기 전에

  • 조직의 통합 절차에서 사용하는 네임스페이스를 결정합니다(예: omnistudio).

  • 다음 통합 절차 예를 만들거나 DataPack을 가져옵니다. 수식을 사용하여 Try-Catch 블록 예를 만듭니다.

  • 조직에 현재 로그인할 수 있는 세션 ID를 가져옵니다. Salesforce의 REST API 개발자 가이드에서 권한 부여 설정을 참조하십시오.

REST API와 통합 절차 사용:

  1. 조직에서 통합 절차 예를 엽니다. DataPack을 가져온 경우 Documentation/IPTryCatch2 또는 Documentation/IPTryCatchF2에 나열됩니다.
  2. 미리 보기 탭에서 여러 개 이상의 레코드를 반환하는 레코드를 찾을 때까지 다른 이름 입력 매개 변수 값을 시도합니다. 이상 이름 값은 두 개의 이름을 반환합니다.
  3. 절차 구성에서 통합 절차가 활성화된 경우 버전 비활성화를 클릭하여 편집할 수 있습니다. Chainable Query Rows Limit을 체인화할 수 있을 정도로 낮은 값으로 설정합니다.
    예를 들어, 이전 단계의 이름 값이 두 개의 레코드를 반환하는 경우 1의 체인 가능 쿼리 행 제한 값이 두 개의 트랜잭션을 생성합니다. 이름 값이 3개의 레코드를 반환하는 경우 2의 Chainable Query Rows Limit 값이 3개의 트랜잭션을 생성합니다.
  4. DRExtractAction1 구성 요소로 이동하여 해당 Chain on Step 속성을 확인합니다.
  5. 절차 구성으로 돌아가서 버전 활성화를 클릭합니다.
  6. 터미널에서 다음 양식의 curl 명령을 입력하여 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_SubType

    예를 들어, 이름이 Jones이고 네임스페이스가 omnistudio이고 유형이 Documentation이고 하위 유형이 IPTryCatchF2인 경우 이 curl 명령을 입력합니다. 양식 00Dnn000000nnnn!ARUAQLt...QqodNY3의 긴 문자열인 세션 ID는 명확성을 위해 SessionId로 표시됩니다.

    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_IPTryCatchF2
    팁

    텍스트 편집기에서 curl 명령을 조립하고 터미널에 복사할 수 있습니다.

  7. 다음 vlcIPData가 포함된 응답을 검사합니다.
    {
      "vlcUseQueueableApexRemoting": false,
      "vlcMessage": null,
      "vlcIPData": "dc3e1986-2f7c-0871-e968-28eb63e11820",
      "vlcStatus": "InProgress"
    }
    노트
    노트

    통합 절차 미리 보기는 체인화를 자동으로 처리하므로 미리 보기에 이 유형의 응답이 표시되지 않습니다.

  8. curl 명령에 vlcIPData의 머리글을 추가하고 다음을 입력합니다.
    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
  9. 응답을 검사합니다. 다른 vlcIPData 값이 포함된 경우 새 vlcIPData 값으로 이전 단계를 반복합니다. 응답에 해당 값이 없을 때까지 각각의 새 vlcIPData 값을 반복합니다.

    이 응답은 통합 절차가 완료되면 반환되는 항목의 예입니다.

    {
      "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
    }
 
로드 중
Salesforce Help | Article