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

Truy cập vào dữ liệu trong tài khoản Salesforce của bạn. 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 của một proxy API bằng chính sách ExtensionAnnotation (Chú thích tiện ích), bạn phải:

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

    Bạn sẽ sử dụng khoá riêng tư (.key) làm thông tin đăng nhập khi định cấu hình tiện ích. Bạn 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 một ứ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 tiêu dùng cho ứng dụng đã kết nối. Tiện ích sẽ sử dụng thông tin này khi xác thực với ứng dụng.

    1. Trong quy trình thiết lập Salesforce, trong thanh đ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, hãy tìm ứng dụng được 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 View (Xem).
    4. Trong mục API (Enable OAuth Settings) (API (Bật chế độ cài đặt OAuth)), hãy tìm Consumer Key (Khoá người dùng) rồi 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 phải tạo ứng dụng được kết nối với Salesforce mà thông qua tiện ích đó, 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 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, sau đó 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 phần Ứ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ành cho sổ sách kế toán; chúng không được tiện ích sử dụng.
  6. Trong mục API (Enable OAuth Settings) (API (Bật chế độ cài đặt OAuth)), 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ủ 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 mục Các phạm vi OAuth đã chọn, hãy thêm đoạn mã sau để đưa các phạm vi đó vào phần Các 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 thu được, 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 Chính sách của OAuth, hãy nhấp vào trình đơn thả xuống Người dùng được phép, sau đó nhấp vào Người dùng do 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 phần Hồ sơ, hãy nhấp vào Quản lý hồ sơ.
  17. Trên trang Chỉ định 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.

    Hãy đảm bảo chọn cấu hình 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 í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 mục Người dùng > Người dùng, hãy 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). Quản lý quan hệ khách hàng giúp các công ty hiểu rõ khách hàng của mình cần và giải quyết vấn đề bằng cách quản lý hiệu quả hơn các hoạt động tương tác và thông tin của khách hàng — tất cả trên một nền tảng duy nhất, luôn có thể truy cập từ mọi máy tính để bàn hoặc thiết bị.

Thao tác

insert

Chèn các 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>

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
đối tượng 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 trong JSON. Tối đa: 1000. Mảng Không có. Có.
allOrNone true để 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 trong quá trình cập nhật không thành công. Boolean false STT

Phản hồi

Một mảng results có kết quả của 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ó) bị 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>

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject của các bản ghi cần cập nhật. Chuỗi Không có. Có.
bản ghi Mảng 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 có. Có.
allOrNone true để 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 trong quá trình cập nhật không thành công. Boolean false STT

Phản hồi

Một mảng results chứa các 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ó) bị phát hiện trong quá trình thực thi. Mảng Không có. Có.

truy xuất

Truy xuất các bản ghi dưới dạng sObjects 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>

Yêu cầu thông số

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

Yêu cầu thông số

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ố lượng 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: 1000. 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 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>

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject của các 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
bù trừ Mức bù trừ cho các bản ghi cần liệt kê. Số nguyên 0 STT

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>

Yêu cầu thông số

Thông số Mô tả Loại Mặc định Bắt buộc
đối tượng Loại sObject của các bản ghi cần xoá. Chuỗi Không có. Có.
id Mảng mã sObject để xoá các bản ghi. Tối đa: 1000. 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ó) bị 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 các API REST.

Cú pháp

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

Yêu cầu thông số

Không có.

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"
}
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 Các 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 cho phiên bản được tổ chức Salesforce sử dụng. Chuỗi Không có. Có.
id Mã của ứng dụng được kết nối. Chuỗi Không có. Có.
tokenType Nhập mã truy cập. Chuỗi Sóng mang Có.

Tham chiếu cấu hình

Sử dụng mã sau 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 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 của 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.

Thuộc tính Mô tả Mặc định Bắt buộc
URL máy chủ uỷ quyền URL để sử dụng khi yêu cầu uỷ quyền từ Salesforce. Giá thông thường là https://login.salesforce.com Không có. Có.
Khoá dành cho người dùng ứng dụng đã kết nối Khoá của người tiêu dùng do Salesforce cung cấp cho ứng dụng được 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 tiêu dùng. Không có. Có.
Thông tin xác thực

Khi sử dụng trong bảng điều khiển Apigee Edge: Toàn bộ nội dung của tệp salesforce.key (bao gồm cả các thẻ BEGINEND) mà bạn đã tạo trước đó theo Điều kiện tiên quyết.

Khi gửi qua API quản 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 của 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 thông tin này để yêu cầu uỷ quyền từ Salesforce. Không có. Có.