Ambil Catatan Menggunakan Rest API di Salesforce

Ambil Catatan Menggunakan Rest Api Di Salesforce



Dalam panduan ini, kita akan membahas cara mengambil catatan Salesforce dengan REST API melalui Workbench di Salesforce. Sebagai bagian dari panduan ini, kita akan membahas cara menggunakan Workbench, mengambil record tertentu menggunakan sObject, dan mengambil beberapa record dari objek menggunakan kueri dan mengambil record dengan menulis API REST kustom Apex. Kami akan menggunakan objek Kasus Standar Salesforce untuk demonstrasi. Tidak perlu membuat rekaman kasus apa pun di backend Salesforce. Kami menggunakan catatan kasus standar yang ada yang disediakan oleh Salesforce.

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 / pengenal

Di 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 / 5005i00000W4GM5AAN

Hasil:

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+ObjectAPIName

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

/ jasa / data / v57.0 / pertanyaan / ? Q =PILIH+NomorKasus,Status,Prioritas,Deskripsi+dari+Kasus

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.

/ jasa / data / v57.0 / pertanyaan / ? Q =PILIH+NomorKasus,Status,Prioritas,Deskripsi+dari+Kasus+batas+ 2

Hasil:
Dua record pertama yang ada di objek Case dikembalikan.

Contoh 3:
Mari tentukan kondisi WHERE dalam kueri yang memilih rekaman dengan status 'Baru'.

/ jasa / data / v57.0 / pertanyaan / ? Q =PILIH+NomorKasus,Status,Prioritas,Deskripsi+dari+Kasus+tempat+ 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.