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.3

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 tài liệu 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 tài liệu 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ừ proxy API bằng Chính sách chú thích tiện ích, bạn phải:

  1. Tạo một cặp khoá cá nhân/chứng nhận 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 đã kết nối để cấp cho tiện ích này 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 kết nối.

    Ứng dụng được kết nối với Salesforce sẽ cung cấp quyền truy cập cho tiện ích Salesforce. 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 bằng ứng dụng.

    1. Trong phần thiết lập Salesforce, ở bảng điều hướng bên trái, hãy chuyển đến Ứng dụng > Trình quản lý ứng dụng.
    2. Trong danh sách này, hãy tìm ứng dụng kết nối mà bạn đã tạo.
    3. Từ 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 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 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 phải tạo một ứng dụng được kết nối với Salesforce mà thông qua tiện ích này 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.

Để thiết lập một ứ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 ở phía trên 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 Ứ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 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ành cho hoạt động ghi sổ; tiện ích không sử dụng các giá trị này.
  6. Trong mục API (Enable OAuth Settings) (Bật chế độ cài đặt OAuth), hãy chọn hộp kiểm Enable OAuth Settings (Bật chế độ cài đặt OAuth).
  7. Mặc dù tiện ích 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. Chọn hộp kiểm 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 Phạm vi OAuth đã chọn, hãy thêm thông tin sau để các phạm vi đó nằm trong phần 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 xảy ra lỗi, bạn có thể phải tạo lại rồi tải tệp salesforce.crt lên.
  12. Trên trang ứng dụng hiện ra, hãy nhấp vào Quản lý.
  13. Trên trang App Manager cho ứng dụng bạn vừa tạo, hãy nhấp vào Edit chính sách (Chỉnh sửa chính sách).
  14. Trong Chính sách OAuth, hãy nhấp vào trình đơn thả xuống Người dùng được cho phép, sau đó nhấp vào Người dùng được quản trị viên phê duyệt đã được cấp phép trước.
  15. Nhấp vào Lưu.
  16. Quay lại trang ứng dụng, trong phần Hồ sơ, hãy nhấp vào Quản lý hồ sơ.
  17. Trên trang Gán hồ sơ ứng dụng, hãy chọn hộp kiểm cho hồ sơ người dùng có thể sử dụng ứng dụng này.

    Đảm bảo chọn 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 là 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 phần 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 họ 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 rõ nhu cầu của khách hàng và giải quyết vấn đề bằng cách quản lý hiệu quả hơn thông tin và hoạt động tương tác của khách hàng — tất cả trên một nền tảng duy nhất, có thể truy cập trên máy tính hoặc thiết bị bất kỳ.

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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
đối tượng Loại đối tượng sObject (Loại đối tượng) của bản ghi cần chèn. Chuỗi Không nội dung nào. Có.
bản ghi Mảng các bản ghi sObject trong JSON. Tối đa: 1000. Mảng Không nội dung nào. Có.
allOrNone true sẽ không thực hiện được toàn bộ quá trình cập nhật nếu có bất kỳ phần nào của quá trình cập nhật bị lỗi. Boolean false Không.

Phản hồi

Mảng results với kết quả của thao tác chèn.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Tài sản Nội dung 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 nội dung nào. Có.
kết quả[*].thành công true nếu chèn bản ghi đó thành công. Boolean Không nội dung nào. Có.
kết quả[*].lỗi Một loạt lỗi (nếu có) bị phát hiện trong quá trình thực thi. Mảng Không nội dung nào. 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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject (Loại đối tượng) của bản ghi cần cập nhật. Chuỗi Không nội dung nào. Có.
bản ghi Mảng các bản ghi sObject trong 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: 1000. Mảng Không nội dung nào. Có.
allOrNone true sẽ không thực hiện được toàn bộ quá trình cập nhật nếu có bất kỳ phần nào của quá trình cập nhật bị lỗi. Boolean false Không.

Phản hồi

Mảng results chứa kết quả từ lần cập nhật.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Thông số Nội dung 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 nội dung nào. Có.
kết quả[*].thành công true nếu chèn bản ghi đó thành công. Boolean Không nội dung nào. Có.
kết quả[*].lỗi Một loạt lỗi (nếu có) bị phát hiện trong quá trình thực thi. Mảng Không nội dung nào. 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 thuộc 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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
đối tượng Loại đối tượng sObject của bản ghi cần truy xuất. Chuỗi Không nội dung nào. Có.
ids Mảng các bản ghi mã nhận dạng sObject cần truy xuất. Tối đa: 1000. Mảng Không nội dung nào. Có.
allOrNone true không thực hiện được toàn bộ hoạt độ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 Không.

Phản hồi

Một mảng records gồm sObject được biểu thị dưới dạng JSON. Lưu ý rằng tất cả thuộc tính của các đối tượng đều được đưa vào 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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
soql Câu lệnh SOQL để truy vấn. Chuỗi Không nội dung nào. 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ố Nội dung mô tả Loại Mặc định Bắt buộc
totalSize Số lượng bản ghi được truy vấn trả về. Số nguyên Không nội dung nào. Có.
bản ghi Mảng các bản ghi được trả về dưới dạng sObject trong JSON. Tối đa: 1000. Mảng Không nội dung nào. Có.
done true nếu thao tác truy vấn hoàn tất. Boolean Không nội dung nào. Có.

danh sách

Liệt kê các bản ghi Salesforce.com. Trả về tất cả các trường thuộc loại sObject được 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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject (Loại đối tượng) của bản ghi cần liệt kê. Chuỗi Không nội dung nào. Có.
giới hạn Số lượng bản ghi tối đa cần trả về. Số nguyên 1000 Không.
bù trừ Bù trừ các bản ghi để liệt kê. Số nguyên 0 Không.

Phản hồi

Một 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>

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject (Loại đối tượng) của bản ghi cần xoá. Chuỗi Không nội dung nào. Có.
ids Loạt mã nhận dạng sObject cho các bản ghi cần xoá. Tối đa: 1000. Mảng Không nội dung nào. Có.

Phản hồi

Một mảng results chứa kết quả của thao tác.

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

getAccessToken

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

Cú pháp

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

Thông số yêu cầu

Không nội dung nào.

Phản hồi

Mã truy cập trong JSON.

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

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

Sử dụng các đoạn mã sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong các proxy API.

Thuộc tính tiện ích 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ó

Cá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 dành riêng cho tiện ích này.

Tài sản Nội dung 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 sự uỷ quyền từ Salesforce. Giá thông thường là https://login.salesforce.com Không nội dung nào. Có.
Khoá người dùng ứng dụng đã kết nối Khoá của người dùng do Salesforce cung cấp cho ứng dụng đã kết nối mà bạn đã tạo. 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 nội dung nào. Có.
Bằng chứng xác thực Khi được 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 ở các bước ở trên. Khi được gửi qua API quản lý, giá trị này là giá trị được mã hóa base64 từ tệp salesforce.key. Không nội dung nào. Có.
Tên người dùng của người dùng Salesforce Tên người dùng 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 tiện ích này để nhận uỷ quyền từ Salesforce. Không nội dung nào. Có.