Salesforce 확장 프로그램

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

<ph type="x-smartling-placeholder">

버전: 1.0.2

Salesforce 계정의 데이터에 액세스합니다. 데이터를 삽입, 업데이트, 검색, 쿼리합니다.

이 콘텐츠는 이 확장 프로그램을 구성하고 사용하기 위한 참조를 제공합니다.

기본 요건

이 콘텐츠는 이 확장 프로그램을 구성하고 사용하기 위한 참조를 제공합니다. 확장 문구 정책을 사용하여 API 프록시의 확장 프로그램을 사용하려면 먼저 다음 요건을 충족해야 합니다.

  1. RSA x509 비공개 키/인증 쌍을 만듭니다.

    확장 프로그램을 구성할 때 비공개 키 (.key)를 사용자 인증 정보로 사용합니다. 확장 프로그램에 Salesforce에 대한 액세스 권한을 부여하는 연결된 앱을 만들 때 인증서 (.crt) 파일을 사용합니다.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. 연결된 앱을 설정합니다.

    Salesforce 연결 앱을 통해 Salesforce 확장 프로그램에 액세스할 수 있습니다. 앱 설정에 대한 아래 안내를 참조하세요.

  3. 연결된 앱의 고객 키를 가져옵니다. 확장 프로그램은 앱으로 인증할 때 이 ID를 사용합니다.

    1. Salesforce 설정의 왼쪽 탐색 메뉴에서 앱 > App Manager를 사용합니다.
    2. 목록에서 내가 만든 연결된 앱을 찾습니다.
    3. 애플리케이션 행의 오른쪽에 있는 드롭다운에서 보기를 클릭합니다.
    4. API (OAuth 설정 사용)에서 고객 키를 찾아 확장 프로그램을 구성할 때 사용할 수 있도록 안전한 위치에 값을 복사합니다.

확장 프로그램에서 액세스할 수 있도록 연결된 앱 설정

Salesforce 확장 프로그램에서 Salesforce에 액세스하려면 먼저 확장 프로그램이 Salesforce와 연결할 수 있는 Salesforce 연결 앱을 만들어야 합니다.

Salesforce에서 연결된 앱을 사용하면 외부 애플리케이션이 API를 통해 Salesforce에 연결할 수 있습니다.

연결된 앱 설정하기

  1. Salesforce에 로그인합니다.
  2. 오른쪽 위에서 톱니바퀴 아이콘을 클릭한 후 설정을 클릭합니다.
  3. 왼쪽 탐색에서 앱 > 앱 관리자를 확장합니다.
  4. 앱 관리자 페이지에서 새로 연결된 앱을 클릭합니다.
  5. 기본 정보에서 필수 입력란을 작성합니다. 값은 부기용입니다. 확장 프로그램에서 사용되지 않습니다.
  6. API(OAuth 설정 사용 설정)에서 OAuth 설정 사용 설정 체크박스를 선택합니다.
  7. 확장 프로그램에 사용되지 않지만 콜백 URL을 입력합니다. http://localhost/ 또는 다른 자리표시자 호스트를 사용할 수 있습니다.
  8. 디지털 서명 사용 체크박스를 선택합니다.
  9. 디지털 서명 사용에서 파일 선택을 클릭하여 이전에 생성한 salesforce.crt를 찾아서 업로드합니다.
  10. 선택한 OAuth 범위 섹션에서 다음을 추가하여 선택된 OAuth 범위 아래에 위치하도록 합니다. <ph type="x-smartling-placeholder">
      </ph>
    • 데이터 액세스 및 관리(api)
    • 사용자를 대신하여 언제든지 요청 수행(refresh_token, offline_access)
  11. 저장을 클릭합니다. 오류가 있는 경우 salesforce.crt 파일을 다시 생성하여 업로드해야 할 수 있습니다.
  12. 결과 앱 페이지에서 관리를 클릭합니다.
  13. 방금 만든 앱의 앱 관리자 페이지에서 정책 수정을 클릭합니다.
  14. OAuth 정책에서 허용되는 사용자 드롭다운을 클릭한 후 관리자 승인 사용자가 사전 승인됨을 클릭합니다.
  15. 저장을 클릭합니다.
  16. 앱 페이지의 프로필에서 프로필 관리를 클릭합니다.
  17. 애플리케이션 프로필 할당 페이지에서 이 애플리케이션을 사용할 수 있는 사용자 프로필의 체크박스를 선택합니다.

    확장 프로그램을 구성할 때 사용자 이름을 사용할 사용자의 프로필을 선택해야 합니다. 또한 최소한 시스템 관리자 사용자가 이 애플리케이션에 액세스할 수 있어야 합니다.

    Salesforce에서 사용자의 프로필 설정을 확인할 수 있습니다. 설정 영역에서 사용자 > 사용자 아래에서 확장 프로그램이 나타내는 사용자를 찾은 다음 프로필 열에서 프로필을 찾습니다.

  18. 저장을 클릭합니다.

Salesforce 정보

Salesforce는 고객 관계 관리(CRM) 플랫폼입니다. 고객 관계 관리를 통해 회사는 고객의 모든 데스크톱이나 기기에서 항상 액세스할 수 있는 단일 플랫폼에서 고객 정보와 상호작용을 더 효과적으로 관리하여 니즈와 문제를 해결할 수 있습니다.

작업

<ph type="x-smartling-placeholder">

insert

레코드를 sObject 유형으로 삽입합니다.

구문

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records":[ records-to-insert ],
  "allOrNone": true | false
}]]></Input>

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { "Name": "MyAccountName" }
  ],
  "allOrNone": true
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Sobject 삽입할 레코드의 sObject type입니다. 문자열 없음 예.
기록 JSON 형식의 sObject 레코드 배열입니다. 최대: 1,000 배열 없음 예.
allOrNone true: 업데이트의 일부가 실패할 경우 전체 업데이트가 실패합니다. 불리언 거짓 아니요.

응답

삽입 작업의 결과가 있는 results 배열

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
속성 설명 유형 기본값 필수
results[*].id 새 레코드에 대해 생성된 sObject ID입니다. 문자열 없음 예.
results[*].success 레코드 삽입에 성공한 경우 true입니다. 불리언 없음 예.
results[*].errors 실행 중에 발견된 오류의 배열입니다(있는 경우). 배열 없음 예.

update

Salesforce 레코드를 업데이트합니다.

구문

<Action>update</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records": [ records-to-update ],
  "allOrNone": true | false
}]]></Input>

<Action>update</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { 
      "id":"0011U00000LQ76KQAT",
      "Name": "MyNewAccountName" 
    }
  ],
  "allOrNone": true
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Sobject 업데이트할 레코드의 sObject 유형입니다. 문자열 없음 예.
기록 JSON 형식의 sObject 레코드 배열입니다. 업데이트할 각 레코드에는 레코드의 ID 값이 포함되어야 합니다. 최대: 1,000 배열 없음 예.
allOrNone true: 업데이트의 일부가 실패할 경우 전체 업데이트가 실패합니다. 불리언 거짓 아니요.

응답

업데이트 결과가 포함된 results 배열입니다.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
매개변수 설명 유형 기본값 필수
results[*].id 업데이트된 레코드에 대해 생성된 sObject ID입니다. 문자열 없음 예.
results[*].success 레코드 삽입에 성공한 경우 true입니다. 불리언 없음 예.
results[*].errors 실행 중에 발견된 오류의 배열입니다(있는 경우). 배열 없음 예.

retrieve

ID를 기준으로 레코드를 sObject로 검색합니다. sObject 유형의 모든 필드를 반환합니다.

구문

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Sobject 검색할 레코드의 sObject 유형입니다. 문자열 없음 예.
ids 검색할 sObject ID 레코드 배열입니다. 최대: 1,000 배열 없음 예.
allOrNone true: 요청의 일부가 실패할 경우 전체 작업을 실패합니다. 불리언 거짓 아니요.

응답

JSON으로 표시되는 sObject의 records 배열입니다. 속성 값이 null인 경우에도 객체의 모든 속성이 JSON에 포함됩니다.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Salesforce 객체 쿼리 언어 (SOQL)를 사용하여 Salesforce.com에 쿼리합니다.

구문

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": soql-query-statement
}]]></Input>

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": "SELECT Id, Name FROM Account"
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Soql 쿼리할 SOQL 문입니다. 문자열 없음 예.

응답

쿼리 결과입니다.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
매개변수 설명 유형 기본값 필수
totalSize 쿼리에서 반환된 레코드 수입니다. 정수 없음 예.
기록 JSON에서 sObject로 반환된 레코드 배열입니다. 최대: 1,000 배열 없음 예.
완료 쿼리 작업이 완료된 경우 true입니다. 불리언 없음 예.

list

Salesforce.com 레코드를 나열합니다. 지정된 sObject 유형의 모든 필드를 반환합니다.

구문

<Action>list</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "limit": max-number-of-records,
  "offset": record-index-at-which-to-begin-response-set
}]]></Input>

<Action>list</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "limit": 1000,
  "offset": 0
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Sobject 나열할 레코드의 sObject 유형입니다. 문자열 없음 예.
제한 반환할 최대 레코드 수입니다. 정수 1000 아니요.
오프셋 나열할 레코드의 오프셋입니다. 정수 0 아니요.

응답

JSON으로 나열된 sObject를 포함하는 records 배열

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

del

지정된 ID가 있는 레코드를 삭제합니다.

구문

<Action>del</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

<Action>del</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

요청 매개변수

매개변수 설명 유형 기본값 필수
Sobject 삭제할 레코드의 sObject 유형입니다. 문자열 없음 예.
ids 삭제할 레코드의 sObject ID 배열입니다. 최대: 1,000 배열 없음 예.

응답

작업 결과가 포함된 results 배열입니다.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
속성 설명 유형 기본값 필수
results[*].id 지정된 레코드의 sObject ID입니다. 문자열 없음 예.
results[*].success 레코드에 대한 작업이 성공한 경우 true입니다. 불리언 없음 예.
results[*].errors 실행 중에 발견된 오류의 배열입니다(있는 경우). 배열 없음 예.

getAccessToken

Salesforce.com API 액세스 토큰을 가져옵니다. REST API를 쿼리하는 데 사용할 수 있습니다.

구문

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

요청 매개변수

없음

응답

JSON 형식의 액세스 토큰입니다.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
속성 설명 유형 기본값 필수
accessToken 액세스 토큰입니다. 문자열 없음 예.
범위 토큰이 액세스 권한을 제공하는 범위입니다. 문자열 없음 예.
instanceUrl Salesforce org에서 사용하는 인스턴스의 URL입니다. 문자열 없음 예.
id 연결된 앱의 ID입니다. 문자열 없음 예.
tokenType 액세스 토큰의 유형입니다. 문자열 베어러(Bearer) 예.

구성 참조

API 프록시에서 사용하기 위해 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요.

일반적인 확장 속성

모든 확장 프로그램에는 다음과 같은 속성이 있습니다.

속성 설명 기본 필수
name 확장 프로그램의 구성에 지정할 이름입니다. 없음 지원됨
packageName Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. 없음 지원됨
version 확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. 없음 지원됨
configuration 추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. 없음 지원됨

이 확장 프로그램의 속성

이 확장 프로그램과 관련된 다음 구성 속성의 값을 지정합니다.

속성 설명 기본값 필수
승인 서버 URL Salesforce에서 승인을 받을 때 사용할 URL입니다. 일반적으로 https://login.salesforce.com입니다. 없음 예.
연결된 앱 고객 키 생성한 연결된 앱에 대해 Salesforce에서 제공한 고객 키입니다. 고객 키를 가져오려면 기본 요건 아래의 안내를 참조하세요. 없음 예.
사용자 인증 정보 Apigee Edge 콘솔에 입력하면 위 단계에서 생성한 salesforce.key 파일의 콘텐츠가 입력됩니다. 관리 API를 통해 전송되는 경우 salesforce.key 파일에서 생성된 base64 인코딩 값입니다. 없음 예.
Salesforce 사용자의 사용자 이름 내가 만든 연결된 앱과 연결된 사용자 이름입니다. Salesforce 확장 프로그램은 이 정보를 사용하여 Salesforce로부터 승인을 받습니다. 없음 예.