Tiện ích Salesforce

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
Thông tin

Phiên bản: 2.0.2

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 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 một cặp khoá riêng tư hoặc chứng chỉ x509 RSA.

    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ẽ 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 một ứng dụng được kết nối.

    Ứng dụng đã kết nối của Salesforce sẽ cấp quyền truy cập cho tiện ích Salesforce. Xem hướng dẫn thiết lập ứng dụng.

  3. Lấy khoá người dùng cho ứng dụng được 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 Ứ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 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 rồi sao chép giá trị của khoá này 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 được kết nối để tiện ích có thể 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 của Salesforce để tiện ích này có thể kết nối với Salesforce.

Trong Salesforce, ứng dụng được kết nối là 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 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 ở 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 được 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ổ kế toán; tiện ích không sử dụng các giá trị này.
  6. Trong phần API (Enable OAuth Settings) (API (Bật chế độ cài đặt OAuth)), hãy chọn hộp đánh dấu 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 một 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ữ giữ chỗ khác.
  8. Chọn 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 để chúng nằm trong 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)
    • Thực hiện các yêu cầu thay cho bạn 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 mà bạn vừa tạo, hãy nhấp vào Chỉnh sửa chính sách.
  14. Trong mục Chính sách 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 sẽ đượ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 đánh dấu vào hộp kiểm 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ơ của người dùng trong Salesforce. Trong mụ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). Quản lý mối 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ý thông tin và hoạt động tương tác của khách hàng hiệu quả hơn – tất cả trên một nền tảng duy nhất mà bạn luô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 các 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

Tham 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 chèn. Chuỗi Không có. Có.
bản ghi Mảng gồm các 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ộ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ã nhận dạng sObject được tạo cho bản ghi mới. Chuỗi Không có. Có.
results[*].success true nếu việc 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 trên 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

Tham 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 cập nhật. Chuỗi Không có. Có.
bản ghi Mảng gồm các bản ghi sObject ở định dạng JSON. Mỗi bản ghi cần cập nhật phải có 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ột 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: [] }
  ]
}
Tham số Mô tả Loại Mặc định Bắt buộc
results[*].id Mã nhận dạng sObject được tạo cho bản ghi đã cập nhật. Chuỗi Không có. Có.
results[*].success true nếu việc 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 các 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

Tham 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 gồm các bản ghi mã nhận dạng sObject cần truy xuất. Tối đa: 1.000. Mảng Không có. Có.
allOrNone true để khiến toàn bộ thao tác không thành công nếu 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 gồm các sObject được biểu thị dưới dạng JSON. Xin lưu ý rằng tất cả các thuộc tính của đối tượng đều có trong JSON, ngay cả khi giá trị thuộc tính là giá trị 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

Tham 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
}
Tham số Mô tả Loại Mặc định Bắt buộc
totalSize Số lượng bản ghi mà 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 sObject 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 đượ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>

Tham số yêu cầu

Tham 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 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 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>

Tham số yêu cầu

Tham số Mô tả Loại Mặc định Bắt buộc
sobject Loại sObject của bản ghi cần xoá. Chuỗi Không có. Có.
mã nhận dạng Mảng gồm các mã nhận dạng sObject cho 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 thao tác.

{
  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ã nhận dạng 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 cho 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 của 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 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 mà tổ chức Salesforce sử dụng. Chuỗi Không có. Có.
id Mã nhận dạng của ứng dụng được kết nối. Chuỗi Không có. Có.
tokenType Loại 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 những thông tin 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 mở rộng chung

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 các 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 dùng khi nhận được uỷ quyền từ Salesforce. Thông thường, thời gian này là https://login.salesforce.com Không có. Có.
Khoá người dùng của ứng dụng được 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 đượ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 trong các bước. Khi được gửi bằng 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 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 để nhận được uỷ quyền từ Salesforce. Không có. Có.