Salesforce menyediakan perangkat lunak berbasis permintaan untuk manajemen hubungan pelanggan (CRM), mencakup manajemen kontak, katalog produk, manajemen pesanan, manajemen peluang, dan manajemen penjualan. Integrasi DataWorks mendukung pembacaan dari sumber data Salesforce. Topik ini menjelaskan cara menggunakan Salesforce sebagai sumber data.
Tipe bidang yang didukung
|
Field type |
DataWorks type |
|
address |
STRING |
|
anyType |
STRING |
|
base64 |
BYTES |
|
boolean |
BOOL |
|
combobox |
STRING |
|
complexvalue |
STRING |
|
currency |
DOUBLE |
|
date |
DATE |
|
datetime |
DATE |
|
double |
DOUBLE |
|
|
STRING |
|
encryptedstring |
STRING |
|
id |
STRING |
|
int |
LONG |
|
json |
STRING |
|
long |
LONG |
|
multipicklist |
STRING |
|
percent |
DOUBLE |
|
phone |
STRING |
|
picklist |
STRING |
|
reference |
STRING |
|
string |
STRING |
|
textarea |
STRING |
|
time |
DATE |
|
url |
STRING |
|
geolocation |
STRING |
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Manajemen sumber data. Anda dapat melihat deskripsi parameter di konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Anda dapat membuat sumber data Salesforce dengan salah satu cara berikut:
-
Salesforce official: Login ke website Salesforce untuk secara otomatis mendapatkan URL akses dan membuat sumber data.
-
Customize: Jika ingin menetapkan kredensial koneksi khusus untuk DataWorks, Anda dapat mengonfigurasi sumber data Salesforce dalam mode Customize. Anda perlu login ke Salesforce dan membuat Connected App untuk mendapatkan kredensial keamanan (Consumer Key dan Consumer Secret), yang memberikan otorisasi koneksi kepada DataWorks. Prosedur konfigurasinya adalah sebagai berikut:
Konfigurasi kustom
Salesforce adalah layanan pihak ketiga. Pastikan VPC untuk kelompok sumber daya Anda dapat terhubung ke platform Salesforce. Jika tidak, Anda tidak dapat membuat sumber data tersebut.
Tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Tugas sinkronisasi offline tabel tunggal
-
Lihat Konfigurasi dalam mode wizard dan Konfigurasi dalam mode skrip untuk petunjuknya.
-
Lampiran: Demo skrip dan deskripsi parameter menyediakan daftar lengkap parameter dan demo skrip untuk mode skrip.
Lampiran: Demo skrip dan parameter
Konfigurasi tugas sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Konfigurasi mode skrip. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Demo skrip Reader
Contoh 1: Kueri objek Salesforce
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "sobject",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Contoh 2: Kueri menggunakan Bulk API 1.0
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "bulk1",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"blockCompoundColumn":true,
"bulkQueryJobTimeoutSeconds":86400,
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{
"print": true
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"concurrent":1
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Contoh 3: Kueri menggunakan Bulk API 2.0
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "bulk2",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"blockCompoundColumn":true,
"bulkQueryJobTimeoutSeconds":86400,
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Contoh 4: Kueri menggunakan pernyataan SOQL
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "query",
"query": "select Id, Name, IsDeleted, CreatedDate from Account where Name!='Aliyun' ",
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Parameter skrip Reader
|
Parameter |
Wajib |
Deskripsi |
Default |
|
datasource |
Ya |
Nama sumber data. Dalam mode skrip, Anda dapat menambahkan sumber data. Nilai parameter ini harus sesuai dengan nama sumber data yang telah ditambahkan. |
Tidak ada |
|
serviceType |
Tidak |
Mode sinkronisasi. Nilai yang valid:
|
sobject |
|
table |
Ya |
Objek Salesforce, yang mirip dengan nama tabel, seperti |
Tidak ada |
|
beginDateTime |
Tidak |
|
Tidak ada |
|
endDateTime |
Tidak |
Tidak ada |
|
|
splitPk |
Tidak |
|
Tidak ada |
|
blockCompoundColumn |
Tidak |
Menentukan perilaku saat menemui tipe data majemuk. Parameter ini digunakan ketika
|
true |
|
bulkQueryJobTimeoutSeconds |
Tidak |
|
86400 |
|
batchSize |
Tidak |
|
300000 |
|
where |
Tidak |
|
Tidak ada |
|
query |
Tidak |
|
Tidak ada |
|
queryAll |
Tidak |
|
false |
|
column |
Ya |
Kolom yang ingin Anda sinkronkan. Tentukan kolom sebagai array JSON.
|
Tidak ada |
|
connectTimeoutSeconds |
Tidak |
|
30 |
|
socketTimeoutSeconds |
Tidak |
|
600 |
|
retryIntervalSeconds |
Tidak |
|
60 |
|
retryTimes |
Tidak |
|
3 |