Tiện ích Salesforce

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Phiên bản: 1.0.5

Truy cập vào dữ liệu trong tài khoản Salesforce. Chèn, cập nhật, truy xuất và truy vấn dữ liệu.

Nội dung này cung cấp thông tin tham khảo để định cấu hình và sử dụng tiện ích này.

Điều kiện tiên quyết

Nội dung này cung cấp thông tin tham khảo để định cấu hình và sử dụng tiện ích này. Trước khi sử dụng tiện ích từ một proxy API bằng chính sách ExtensionCallout, bạn phải:

  1. Tạo cặp khoá riêng tư/chứng chỉ RSA x509.

    Bạn sẽ sử dụng khoá riêng tư (.key) làm thông tin xác thực khi định cấu hình tiện ích. Bạn sẽ sử dụng tệp chứng chỉ (.crt) khi tạo một ứng dụng được kết nối để cấp cho tiện ích quyền truy cập vào Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Thiết lập ứng dụng được kết nối.

    Ứng dụng đã kết nối với Salesforce sẽ cấp quyền truy cập cho tiện ích Salesforce. Hãy xem hướng dẫn bên dưới để thiết lập ứng dụng.

  3. Lấy khoá người dùng cho ứng dụng đã kết nối. Tiện ích sẽ sử dụng khoá này khi xác thực với ứng dụng.

    1. Trong phần thiết lập Salesforce, trong bảng điều hướng bên trái, hãy chuyển đến Apps > App Manager (Ứng dụng > Trình quản lý ứng dụng).
    2. Trong danh sách, hãy tìm ứng dụng đã kết nối mà bạn đã tạo.
    3. Trong trình đơn thả xuống ở bên phải trong hàng của ứng dụng, hãy nhấp vào Xem.
    4. Trong phần API (Bật chế độ cài đặt OAuth), hãy tìm Khoá người dùng và sao chép giá trị của khoá đó vào một nơi an toàn để sử dụng khi định cấu hình tiện ích.

Thiết lập một ứng dụng đã kết nối để tiện ích truy cập

Trước khi tiện ích Salesforce có thể truy cập vào Salesforce, bạn cần tạo một ứng dụng đã kết nối với Salesforce để tiện ích có thể kết nối với Salesforce.

Trong Salesforce, ứng dụng được kết nối cung cấp một cách để các ứng dụng bên ngoài kết nối với Salesforce thông qua API.

Cách thiết lập ứng dụng đã kết nối

  1. Đăng nhập vào Salesforce.
  2. Nhấp vào biểu tượng bánh răng ở trên cùng bên phải, rồi nhấp vào Thiết lập.
  3. Trong bảng điều hướng ở bên trái, hãy mở rộng mục Ứng dụng > Trình quản lý ứng dụng.
  4. Trên trang Trình quản lý ứng dụng, hãy nhấp vào Ứng dụng đã kết nối mới.
  5. Trong phần Thông tin cơ bản, hãy điền vào các trường bắt buộc. Các giá trị này dùng để ghi sổ sách; phần mở rộng không sử dụng các giá trị này.
  6. Trong phần API (Bật chế độ cài đặt OAuth), hãy chọn hộp đánh dấu Bật chế độ cài đặt OAuth.
  7. Mặc dù tiện ích này không sử dụng URL này, nhưng hãy nhập URL gọi lại. Bạn có thể sử dụng http://localhost/ hoặc một số máy chủ lưu trữ phần giữ chỗ khác.
  8. Đánh dấu vào hộp đánh dấu Sử dụng chữ ký số.
  9. Trong phần Sử dụng chữ ký số, hãy nhấp vào Chọn tệp để tìm và tải salesforce.crt mà bạn đã tạo trước đó lên.
  10. Trong phần Selected OAuth Scopes (Phạm vi OAuth đã chọn), hãy thêm các phạm vi sau đây vào phần Selected OAuth Scopes (Phạm vi OAuth đã chọn):
    • Truy cập và quản lý dữ liệu của bạn (api)
    • Thay mặt bạn thực hiện các yêu cầu bất cứ lúc nào (refresh_token, offline_access)
  11. Nhấp vào Lưu. Nếu có lỗi, bạn có thể phải tạo lại và tải tệp salesforce.crt lên.
  12. Trên trang ứng dụng xuất hiện, hãy nhấp vào Quản lý.
  13. Trên trang Trình quản lý ứng dụng cho ứng dụng bạn vừa tạo, hãy nhấp vào Chỉnh sửa chính sách.
  14. Trong phần Chính sách về OAuth, hãy nhấp vào trình đơn thả xuống Người dùng được phép, rồi nhấp vào Người dùng được quản trị viên phê duyệt được uỷ quyền trước.
  15. Nhấp vào Lưu.
  16. Quay lại trang ứng dụng, trong mục Hồ sơ, hãy nhấp vào Quản lý hồ sơ.
  17. Trên trang Application Profile Assignment (Chỉ định hồ sơ ứng dụng), hãy chọn hộp đánh dấu cho những hồ sơ người dùng có thể sử dụng ứng dụng này.

    Hãy nhớ chọn một hồ sơ tương ứng với người dùng có tên người dùng mà bạn sẽ sử dụng khi định cấu hình tiện ích. Ngoài ra, hãy đảm bảo rằng ít nhất người dùng Quản trị viên hệ thống có quyền truy cập vào ứng dụng này.

    Bạn có thể xem chế độ cài đặt hồ sơ cho người dùng trong Salesforce. Trong khu vực Thiết lập, hãy mở rộng Người dùng > Người dùng, tìm người dùng mà tiện ích sẽ đại diện, sau đó tìm hồ sơ của người dùng đó trong cột Hồ sơ.

  18. Nhấp vào Lưu.

Giới thiệu về Salesforce

Salesforce là một nền tảng quản lý quan hệ khách hàng (CRM). Giải pháp Quản lý quan hệ khách hàng giúp các công ty hiểu được nhu cầu của khách hàng và giải quyết vấn đề bằng cách quản lý thông tin và hoạt động tương tác với khách hàng hiệu quả hơn — tất cả đều trên một nền tảng duy nhất mà bạn có thể truy cập từ mọi máy tính hoặc thiết bị.

Thao tác

insert

Chèn bản ghi dưới dạng Loại sObject.

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của bản ghi cần chèn. Chuỗi Không có. Có.
bản ghi Mảng bản ghi sObject ở định dạng JSON. Tối đa: 1.000. Mảng Không có. Có.
allOrNone true để toàn bộ quá trình cập nhật không thành công nếu có bất kỳ phần nào của quá trình cập nhật không thành công. Boolean false STT

Phản hồi

Mảng results có kết quả từ thao tác chèn.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Thuộc tính Mô tả Loại Mặc định Bắt buộc
results[*].id Mã sObject được tạo cho bản ghi mới. Chuỗi Không có. Có.
results[*].success true nếu chèn bản ghi đó thành công. Boolean Không có. Có.
results[*].errors Mảng lỗi (nếu có) được phát hiện trong quá trình thực thi. Mảng Không có. Có.

cập nhật

Cập nhật bản ghi Salesforce.

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của bản ghi cần cập nhật. Chuỗi Không có. Có.
bản ghi Mảng bản ghi sObject ở định dạng JSON. Mỗi bản ghi cần cập nhật phải bao gồm giá trị mã nhận dạng của bản ghi. Tối đa: 1.000. Mảng Không có. Có.
allOrNone true để toàn bộ quá trình cập nhật không thành công nếu có bất kỳ phần nào của quá trình cập nhật không thành công. Boolean false STT

Phản hồi

Mảng results chứa kết quả của bản cập nhật.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Thông số Mô tả Loại Mặc định Bắt buộc
results[*].id Mã sObject được tạo cho bản ghi đã cập nhật. Chuỗi Không có. Có.
results[*].success true nếu chèn bản ghi đó thành công. Boolean Không có. Có.
results[*].errors Mảng lỗi (nếu có) được phát hiện trong quá trình thực thi. Mảng Không có. Có.

truy xuất

Truy xuất bản ghi dưới dạng sObject theo mã nhận dạng. Trả về tất cả các trường của loại sObject.

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của bản ghi cần truy xuất. Chuỗi Không có. Có.
mã nhận dạng Mảng các bản ghi mã sObject cần truy xuất. Tối đa: 1.000. Mảng Không có. Có.
allOrNone true để toàn bộ thao tác không thành công nếu có bất kỳ phần nào của yêu cầu không thành công. Boolean false STT

Phản hồi

Mảng records của sObjects được biểu thị dưới dạng JSON. Xin lưu ý rằng tất cả thuộc tính của đối tượng đều có trong JSON, ngay cả khi giá trị thuộc tính là rỗng.

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

querySOQL

Truy vấn Salesforce.com bằng Ngôn ngữ truy vấn đối tượng Salesforce (SOQL).

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
soql Câu lệnh SOQL để truy vấn. Chuỗi Không có. Có.

Phản hồi

Kết quả của truy vấn.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
Thông số Mô tả Loại Mặc định Bắt buộc
totalSize Số bản ghi được truy vấn trả về. Số nguyên Không có. Có.
bản ghi Mảng các bản ghi được trả về dưới dạng sObjects trong JSON. Tối đa: 1.000. Mảng Không có. Có.
xong true nếu thao tác truy vấn đã hoàn tất. Boolean Không có. Có.

danh sách

Liệt kê các bản ghi trên Salesforce.com. Trả về tất cả các trường của loại sObject đã chỉ định.

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của bản ghi cần liệt kê. Chuỗi Không có. Có.
giới hạn Số lượng bản ghi tối đa cần trả về. Số nguyên 1000 STT
độ lệch Độ lệch cho các bản ghi trong danh sách. Số nguyên 0 STT

Phản hồi

Mảng records chứa các sObject được liệt kê dưới dạng JSON.

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

xóa

Xoá các bản ghi có mã nhận dạng được chỉ định.

Cú pháp

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

Ví dụ:

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

Tham số yêu cầu

Thông số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của các bản ghi cần xoá. Chuỗi Không có. Có.
mã nhận dạng Mảng mã sObject của các bản ghi cần xoá. Tối đa: 1.000. Mảng Không có. Có.

Phản hồi

Một mảng results chứa kết quả của phép toán.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Thuộc tính Mô tả Loại Mặc định Bắt buộc
results[*].id Mã sObject của bản ghi được chỉ định. Chuỗi Không có. Có.
results[*].success true nếu thao tác thành công đối với bản ghi. Boolean Không có. Có.
results[*].errors Mảng lỗi (nếu có) được phát hiện trong quá trình thực thi. Mảng Không có. Có.

getAccessToken

Nhận mã thông báo truy cập API Salesforce.com. Có thể dùng để truy vấn API REST.

Cú pháp

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

Tham số yêu cầu

Không có.

Phản hồi

Mã truy cập ở định dạng JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Thuộc tính Mô tả Loại Mặc định Bắt buộc
accessToken Mã truy cập. Chuỗi Không có. Có.
phạm vi Phạm vi mà mã thông báo cung cấp quyền truy cập. Chuỗi Không có. Có.
instanceUrl URL của phiên bản mà tổ chức Salesforce sử dụng. Chuỗi Không có. Có.
id Mã của ứng dụng đã kết nối. Chuỗi Không có. Có.
tokenType Nhập mã truy cập. Chuỗi Sóng mang Có.

Tài liệu tham khảo về cấu hình

Hãy sử dụng nội dung sau đây khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong proxy API.

Các thuộc tính mở rộng phổ biến

Các thuộc tính sau có sẵn cho mỗi tiện ích.

Tài sản Mô tả Mặc định Bắt buộc
name Tên mà bạn đang đặt cho cấu hình của tiện ích này. Không có
packageName Tên của gói tiện ích do Apigee Edge cung cấp. Không có
version Số phiên bản của gói tiện ích mà bạn đang định cấu hình tiện ích. Không có
configuration Giá trị cấu hình cụ thể cho tiện ích bạn đang thêm. Xem Thuộc tính cho gói tiện ích này Không có

Thuộc tính cho gói tiện ích này

Chỉ định giá trị cho các thuộc tính cấu hình sau đây dành riêng cho tiện ích này.

Thuộc tính Mô tả Mặc định Bắt buộc
URL máy chủ uỷ quyền URL cần sử dụng khi nhận được quyền uỷ quyền từ Salesforce. Thông thường, đây là https://login.salesforce.com Không có. Có.
Khoá người dùng của ứng dụng đã kết nối Khoá người dùng do Salesforce cung cấp cho ứng dụng đã kết nối mà bạn đã tạo. Hãy xem hướng dẫn trong phần Điều kiện tiên quyết để truy xuất khoá người dùng. Không có. Có.
Thông tin xác thực Khi nhập vào bảng điều khiển Apigee Edge, đây là nội dung của tệp salesforce.key mà bạn đã tạo trong các bước ở trên. Khi được gửi qua API quản lý, đây là một giá trị được mã hoá base64 được tạo từ tệp salesforce.key. Không có. Có.
Tên người dùng Salesforce Tên người dùng được liên kết với ứng dụng đã kết nối mà bạn đã tạo. Tiện ích Salesforce sẽ sử dụng mã này để được Salesforce uỷ quyền. Không có. Có.