Memperkenalkan Meja Kerja
Workbench bukan produk resmi Salesforce.com. Namun kami akan menggunakan Salesforce untuk melakukan operasi manipulasi data seperti memilih, memasukkan, menambahkan, memperbarui, dan menghapus hanya dengan masuk ke akun Salesforce Anda (mendukung Sandbox dan Produksi). Ini adalah situs web resmi untuk masuk Workbench dengan Salesforce: https://workbench.developerforce.com/login.php .
Sampai sekarang, pertahankan versi API sebagai yang ada saja dan klik tombol 'Login with Salesforce'.
Kami membutuhkan REST Explorer. Arahkan ke tab 'utilitas' dan klik 'REST Explorer'.
Anda akan melihat UI seperti pada ilustrasi berikut. Kita harus memilih GET untuk mengambil catatan dari Salesforce di seluruh panduan ini. Kita perlu menentukan URI yang mengambil record Salesforce dan klik tombol “Execute”.
Ambil Catatan Tertentu dengan Salesforce ID
Berdasarkan ID rekaman Salesforce, kami dapat mengambil seluruh rekaman Salesforce. Kita perlu mengatur URI sebagai berikut:
/ jasa / data / v56.0 / sobjek / objekAPIName / pengenalDi sini, 'objectAPIName' adalah objek Standar/Kustom Salesforce dan 'id' mengacu pada ID Salesforce.
Kembali:
Anda akan mendapatkan respons mentah HTTP/1.1 200 OK dalam format JSON seperti berikut ini:
{'atribut' : {
'jenis' :
'url' :
} ,
'bidang' : Nilai,
...
}
Contoh:
Dalam contoh ini, kami mengambil catatan kasus 5005i00000W4GM5AAN.
JENIS: / jasa / data / v56.0 / sobjek / Kasus / 5005i00000W4GM5AANHasil:
Kita dapat melihat bahwa respon dihasilkan dalam format JSON.
Kita juga bisa melihat hasilnya langsung dari sini:
Ambil Banyak Rekaman dengan Kueri
Saatnya mengambil banyak rekaman dari objek Salesforce. Sebelumnya, kami menentukan sobjects di URI. Di sini, kita perlu menentukan kueri yang menjadikan kueri sebagai parameter.
URI: layanan / data / v57.0 / pertanyaan / ? Q =SELECT+field1,field2,....+dari+ObjectAPINameKita perlu menggunakan '+' sebagai pembatas untuk menggabungkan kata kunci dalam kueri. Ini mengembalikan totalSize dan catatan dalam folder. Nama folder untuk setiap record adalah [Item 1],…[Item n].
Contoh 1:
Mari kembalikan record yang menyertakan CaseNumber, status, prioritas, dan deskripsi dari objek Case.
Hasil:
Saat Anda mengklik 'Perluas Semua', Anda akan melihat semua catatan dengan atribut dan nilainya.
Biarkan saya menunjukkan catatan pertama dan terakhir:
Contoh 2:
Mari kembalikan hanya tiga catatan dengan bidang yang sama seperti yang terlihat pada contoh pertama.
Hasil:
Dua record pertama yang ada di objek Case dikembalikan.
Contoh 3:
Mari tentukan kondisi WHERE dalam kueri yang memilih rekaman dengan status 'Baru'.
Hasil:
Ada lima catatan dengan status 'Baru'.
Sumber Daya Istirahat Khusus di Apex
Kita dapat menggunakan Salesforce Apex yang mengembalikan record dari objek Salesforce dengan menentukan URI di Workbench. Untuk menulis REST di Apex, kita harus menggunakan beberapa anotasi yang mengakses REST API di kelas Apex Anda. Pastikan kelas Apex kita harus statis secara global.
1. Anotasi @RestResource
Anotasi ini digunakan untuk mengaktifkan yang memperlihatkan kelas Apex sebagai sumber daya REST. Dibutuhkan urlMapping sebagai parameter yang digunakan untuk menemukan URI di Workbench.
Sintaks: @RestResource(urlMapping='/Version/ApexClassName/')
'Versi' adalah versi Workbench Anda seperti V56.0 dan 'ApexClassName' adalah kelas Apex Anda di mana sumber daya Rest API terlibat.
2. @HttpGet Anotasi
Anotasi ini digunakan untuk mengaktifkan yang memperlihatkan kelas Apex sebagai sumber daya REST. Ini dipanggil saat permintaan HTTP GET dikirim ke server dan mengembalikan sumber daya yang ditentukan.
Sintaks: @httpGet
Contoh 1: Param Tunggal
Tulis kelas Apex “RestApi_Get_Record.apxc” yang melibatkan metode “Rest Get” untuk mengembalikan id, CaseNumber, status, prioritas, dan asal dari case dari objek Case.
@ Sumber Daya Istirahat ( Pemetaan url = '/v56.0/RestApi_Get_Record/' )kelas global RestApi_Get_Record {
// REST - Dapatkan Metode
@ httpDapatkan
getCaseDetails Kasus statis global ( ) {
// Buat objek untuk objek kasus
Kasus case_obj = Kasus baru ( ) ;
Peta < Tali, Tali > paramsMap = RestContext.request.params;
// Ambil kasus pengenal
String caseid =paramsMap.get ( 'input_id' ) ;
// permintaan SOQL yang akan kembali pengenal ,Nomor Kasus,Status,Prioritas,Asal dari Kasus dari
// objek Kasus
kasus_obj = [ Pilih pengenal ,NomorKasus,Status,Prioritas,Asal dari Kasus di mana Id =:caseid ] ;
kembali kasus_obj;
}
}
URI dan Hasil:
Pergi ke Workbench dan arahkan ke REST Explorer. Berikan id sebagai 5002t00000Pdzr2AAB ke param input_id.
/ jasa / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Penjelasan:
- Buat objek untuk kasus 'case_obj'.
- Dapatkan params menggunakan RestContext.request.params.
- Dapatkan id case dari param input_id dan simpan ini di variabel caseid.
- Tulis kueri SOQL yang mengembalikan id, CaseNumber, status, prioritas, asal dari case dari objek Case dari case 'caseid'.
- Kembalikan objek kasus (case_obj).
Contoh 2: Beberapa Params
Manfaatkan Kelas Apex sebelumnya dan dapatkan param 'Status' bersama dengan id. Tentukan kedua parameter ini di Workbench URI yang dipisahkan dengan “&”.
@ Sumber Daya Istirahat ( Pemetaan url = '/v56.0/RestApi_Get_Record/' )kelas global RestApi_Get_Record {
// REST - Dapatkan Metode
@ httpDapatkan
getCaseDetails Kasus statis global ( ) {
// Buat objek untuk objek kasus
Kasus case_obj = Kasus baru ( ) ;
Peta < Tali, Tali > id_param = RestContext.request.params;
Peta < Tali, Tali > status_param = RestContext.request.params;
// Dapatkan id_param ke dalam case_id
String case_id = id_param.get ( 'input_id' ) ;
// Dapatkan status_param ke dalam case_status
String case_status =status_param.get ( 'status' ) ;
kasus_obj = [ Pilih pengenal ,NomorKasus,Status,Prioritas,Asal dari Kasus di mana Id =:case_id dan Status =: case_status ] ;
kembali kasus_obj;
}
}
URI dan Hasil:
Pergi ke Workbench dan arahkan ke REST Explorer. Berikan input_id sebagai 5002t00000PdzqwAAB dan statusnya sebagai 'Tertutup' di URI.
/ jasa / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & status =Tutup
Kesimpulan
Kami membahas tiga skenario pengambilan catatan Salesforce melalui Salesforce REST API menggunakan Workbench. Untuk mengembalikan catatan tertentu, kita perlu menentukan sObject dengan meneruskan id sebagai parameter di URI. Demikian pula, kami meneruskan parameter kueri untuk mendapatkan rekaman tertentu. Dengan menggunakan Apex, kita dapat membuat metode “Get” kita sendiri untuk memilih record berdasarkan single/multiple params.