Ekstensi Salesforce

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Versi: 1.0.3

Mengakses data di akun Salesforce. Menyisipkan, memperbarui, mengambil, dan mengkueri data.

Konten ini menyediakan referensi untuk mengonfigurasi dan menggunakan ekstensi ini.

Prasyarat

Konten ini menyediakan referensi untuk mengonfigurasi dan menggunakan ekstensi ini. Sebelum menggunakan ekstensi dari proxy API menggunakan kebijakan Extensionscallout, Anda harus:

  1. Buat pasangan kunci pribadi/sertifikasi RSA x509.

    Anda akan menggunakan kunci pribadi (.key) sebagai kredensial saat mengonfigurasi ekstensi. Anda akan menggunakan file sertifikat (.crt) saat membuat aplikasi terhubung yang akan memberikan akses ekstensi ke Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. Menyiapkan aplikasi yang terhubung.

    Aplikasi yang terhubung dengan Salesforce akan memberikan akses untuk ekstensi Salesforce. Lihat petunjuk di bawah untuk menyiapkan aplikasi.

  3. Dapatkan kunci konsumen untuk aplikasi yang terhubung. Ekstensi akan menggunakannya saat melakukan autentikasi dengan aplikasi.

    1. Di penyiapan Salesforce, di navigasi kiri, buka Aplikasi > Pengelola Aplikasi.
    2. Dalam daftar, cari aplikasi terhubung yang Anda buat.
    3. Dari dropdown di sebelah kanan baris aplikasi, klik Lihat.
    4. Di bagian API (Aktifkan Setelan OAuth), temukan Kunci Konsumen, lalu salin nilainya ke tempat yang aman untuk digunakan saat mengonfigurasi ekstensi.

Menyiapkan aplikasi yang terhubung agar dapat diakses oleh ekstensi

Sebelum ekstensi Salesforce dapat mengakses Salesforce, Anda harus membuat aplikasi yang terhubung dengan Salesforce, yang bisa digunakan ekstensi untuk terhubung dengan Salesforce.

Di Salesforce, aplikasi yang terhubung menyediakan cara bagi aplikasi eksternal untuk terhubung ke Salesforce melalui API.

Untuk menyiapkan aplikasi yang terhubung

  1. Login ke Salesforce.
  2. Klik ikon roda gigi di kanan atas, lalu klik Setup.
  3. Pada navigasi di sebelah kiri, luaskan Aplikasi > Pengelola Aplikasi.
  4. Di halaman App Manager, klik New Connected App.
  5. Di bagian Informasi Dasar, isi kolom yang wajib diisi. Nilai-nilainya adalah untuk pembukuan; dan tidak digunakan oleh ekstensi.
  6. Di bagian API (Aktifkan Setelan OAuth), centang kotak Aktifkan Setelan OAuth.
  7. Meskipun tidak digunakan oleh ekstensi, masukkan URL Callback. Anda dapat menggunakan http://localhost/ atau beberapa host placeholder lainnya.
  8. Centang kotak Gunakan tanda tangan digital.
  9. Di bagian Gunakan tanda tangan digital, klik Pilih File untuk menemukan dan mengupload salesforce.crt yang Anda buat sebelumnya.
  10. Di bagian Cakupan OAuth yang Dipilih, tambahkan hal berikut sehingga diletakkan di bagian Cakupan OAuth yang Dipilih:
    • Mengakses dan mengelola data Anda (api)
    • Melakukan permintaan atas nama Anda kapan saja (refresh_token, offline_access)
  11. Klik Simpan. Jika terjadi error, Anda mungkin perlu membuat ulang dan mengupload file salesforce.crt.
  12. Di halaman aplikasi yang dihasilkan, klik Manage.
  13. Di halaman App Manager untuk aplikasi yang baru saja Anda buat, klik Edit Policy.
  14. Di bagian Kebijakan OAuth, klik menu dropdown Pengguna yang Diizinkan, lalu klik Admin yang disetujui pengguna telah diberi otorisasi sebelumnya.
  15. Klik Simpan.
  16. Kembali ke halaman aplikasi, di bagian Profiles, klik Manage Profiles.
  17. Di halaman Application Profile Assignment, centang kotak untuk profil pengguna yang dapat menggunakan aplikasi ini.

    Pastikan untuk memilih profil yang sesuai dengan pengguna yang nama penggunanya akan Anda gunakan saat mengonfigurasi ekstensi. Pastikan juga bahwa setidaknya pengguna Administrator Sistem memiliki akses ke aplikasi ini.

    Anda dapat melihat setelan profil untuk pengguna di Salesforce. Di area Setup, luaskan Users > Pengguna, cari pengguna yang akan diwakili oleh ekstensi, lalu cari profil mereka di kolom Profil.

  18. Klik Simpan.

Tentang Salesforce

Salesforce adalah platform pengelolaan hubungan pelanggan (CRM). Manajemen Hubungan Pelanggan membantu perusahaan memahami pelanggan mereka kebutuhan pelanggan dan memecahkan masalah dengan mengelola informasi dan interaksi pelanggan dengan lebih baik — semuanya di satu platform yang selalu dapat diakses dari desktop atau perangkat apa pun.

Tindakan

insert

Menyisipkan kumpulan data sebagai jenis sObject.

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
benda Jenis sObject data yang akan disisipkan. String Tidak ada. Ya.
record Array data sObject di JSON. Maksimum: 1.000. Array Tidak ada. Ya.
allOrNone true untuk menggagalkan seluruh update jika ada bagian update yang gagal. Boolean salah Tidak.

Respons

Array results dengan hasil dari operasi penyisipan.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Properti Deskripsi Jenis Default Wajib
results[*].id ID sObject yang dibuat untuk kumpulan data baru. String Tidak ada. Ya.
results[*].success true jika data tersebut berhasil disisipkan. Boolean Tidak ada. Ya.
results[*].errors Array error, jika ada, yang tertangkap selama eksekusi. Array Tidak ada. Ya.

update

Perbarui catatan Salesforce.

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
benda Jenis sObject catatan yang akan diperbarui. String Tidak ada. Ya.
record Array data sObject di JSON. Setiap kumpulan data yang akan diperbarui harus menyertakan nilai ID data. Maksimum: 1.000. Array Tidak ada. Ya.
allOrNone true untuk menggagalkan seluruh update jika ada bagian update yang gagal. Boolean salah Tidak.

Respons

Array results yang berisi hasil dari update.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Parameter Deskripsi Jenis Default Wajib
results[*].id ID sObject yang dibuat untuk kumpulan data yang diperbarui. String Tidak ada. Ya.
results[*].success true jika data tersebut berhasil disisipkan. Boolean Tidak ada. Ya.
results[*].errors Array error, jika ada, yang tertangkap selama eksekusi. Array Tidak ada. Ya.

retrieve

Mengambil kumpulan data sebagai sObject menurut ID-nya. Menampilkan semua kolom jenis sObject.

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
benda Jenis sObject kumpulan data yang akan diambil. String Tidak ada. Ya.
ids Array catatan ID sObject yang akan diambil. Maksimum: 1.000. Array Tidak ada. Ya.
allOrNone true untuk menggagalkan seluruh operasi jika ada bagian dari permintaan yang gagal. Boolean salah Tidak.

Respons

Array records sObject yang direpresentasikan sebagai JSON. Perhatikan bahwa semua properti objek disertakan dalam JSON, meskipun nilai propertinya null.

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

querySOQL

Buat kueri Salesforce.com menggunakan Salesforce Object Query Language (SOQL).

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
Soql Pernyataan SOQL yang akan digunakan untuk kueri. String Tidak ada. Ya.

Respons

Hasil kueri.

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
Parameter Deskripsi Jenis Default Wajib
totalSize Jumlah kumpulan data yang ditampilkan oleh kueri. Bilangan Bulat Tidak ada. Ya.
record Array kumpulan data yang ditampilkan sebagai sObject di JSON. Maksimum: 1.000. Array Tidak ada. Ya.
selesai true jika operasi kueri selesai. Boolean Tidak ada. Ya.

list

Mencantumkan data Salesforce.com. Menampilkan semua kolom dari jenis sObject yang ditentukan.

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
benda Jenis sObject catatan yang akan dicantumkan. String Tidak ada. Ya.
batas Jumlah maksimum data yang akan ditampilkan. Bilangan Bulat 1000 Tidak.
offset Offset untuk data yang akan dicantumkan. Bilangan Bulat 0 Tidak.

Respons

Array records yang berisi sObject yang tercantum sebagai JSON.

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

del

Menghapus kumpulan data dengan ID yang ditentukan.

Sintaksis

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

Contoh

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

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
benda Jenis sObject yang akan dihapus. String Tidak ada. Ya.
ids Array ID sObject untuk catatan yang akan dihapus. Maksimum: 1.000. Array Tidak ada. Ya.

Respons

Array results yang berisi hasil operasi.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
Properti Deskripsi Jenis Default Wajib
results[*].id ID sObject dari catatan yang ditentukan. String Tidak ada. Ya.
results[*].success true jika operasi berhasil untuk perekaman. Boolean Tidak ada. Ya.
results[*].errors Array error, jika ada, yang tertangkap selama eksekusi. Array Tidak ada. Ya.

getAccessToken

Dapatkan token akses API Salesforce.com. Dapat digunakan untuk membuat kueri REST API.

Sintaksis

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

Parameter permintaan

Tidak ada.

Respons

Token akses di JSON.

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
Properti Deskripsi Jenis Default Wajib
accessToken Token akses. String Tidak ada. Ya.
cakupan Cakupan tempat token memberikan akses. String Tidak ada. Ya.
instanceUrl URL untuk instance yang digunakan oleh organisasi Salesforce. String Tidak ada. Ya.
id ID aplikasi yang terhubung. String Tidak ada. Ya.
tokenType Ketik token akses. String Operator Ya.

Referensi Konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API.

Properti ekstensi umum

Properti berikut ada untuk setiap ekstensi.

Properti Deskripsi Default Wajib
name Nama yang Anda berikan pada konfigurasi ekstensi ini. Tidak ada Ya
packageName Nama paket ekstensi seperti yang diberikan oleh Apigee Edge. Tidak ada Ya
version Nomor versi untuk paket ekstensi tempat Anda mengonfigurasi ekstensi. Tidak ada Ya
configuration Nilai konfigurasi khusus untuk ekstensi yang Anda tambahkan. Lihat Properti untuk paket ekstensi ini Tidak ada Ya

Properti untuk paket ekstensi ini

Tentukan nilai untuk properti konfigurasi berikut khusus untuk ekstensi ini.

Properti Deskripsi Default Wajib
URL server otorisasi URL yang akan digunakan saat mendapatkan otorisasi dari Salesforce. Biasanya, nilainya adalah https://login.salesforce.com Tidak ada. Ya.
Kunci konsumen aplikasi yang terhubung Kunci konsumen yang disediakan oleh Salesforce untuk aplikasi terhubung yang Anda buat. Lihat petunjuk pada Prasyarat untuk mengambil kunci konsumen Anda. Tidak ada. Ya.
Kredensial Saat dimasukkan ke konsol Apigee Edge, ini adalah isi file salesforce.key yang Anda buat pada langkah-langkah di atas. Saat dikirim melalui API pengelolaan, nilai ini berenkode base64 yang dihasilkan dari file salesforce.key. Tidak ada. Ya.
Nama pengguna dari pengguna Salesforce Nama pengguna yang terkait dengan aplikasi terhubung yang Anda buat. Ekstensi Salesforce akan menggunakan ini untuk mendapatkan otorisasi dari Salesforce. Tidak ada. Ya.