คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
เวอร์ชัน: 1.0.5
เข้าถึงข้อมูลในบัญชี Salesforce แทรก อัปเดต เรียกข้อมูล และค้นหาข้อมูล
เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้
ข้อกำหนดเบื้องต้น
เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout
สร้างคู่คีย์ส่วนตัว/ใบรับรอง RSA x509
คุณจะใช้คีย์ส่วนตัว (.key) เป็นข้อมูลเข้าสู่ระบบเมื่อกําหนดค่าส่วนขยาย คุณจะใช้ไฟล์ใบรับรอง (.crt) เมื่อสร้างแอปที่เชื่อมต่อซึ่งจะให้สิทธิ์เข้าถึง Salesforce แก่ส่วนขยาย
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
-
แอปที่เชื่อมต่อของ Salesforce จะมอบสิทธิ์เข้าถึงสําหรับส่วนขยาย Salesforce ดูวิธีการตั้งค่าแอปได้ที่ด้านล่าง
รับคีย์ผู้บริโภคสําหรับแอปที่เชื่อมต่อ ส่วนขยายจะใช้คีย์นี้เมื่อตรวจสอบสิทธิ์กับแอป
- ในการตั้งค่า Salesforce ให้ไปที่แอป > ตัวจัดการแอปในการนําทางด้านซ้าย
- ค้นหาแอปที่เชื่อมต่อซึ่งคุณสร้างขึ้นในรายการ
- จากเมนูแบบเลื่อนลงทางด้านขวาในแถวของแอปพลิเคชัน ให้คลิกดู
- ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้ค้นหา Consumer Key แล้วคัดลอกค่าไปยังที่ปลอดภัยเพื่อใช้เมื่อกําหนดค่าส่วนขยาย
ตั้งค่าแอปที่เชื่อมต่อสำหรับการเข้าถึงโดยส่วนขยาย
ก่อนที่ส่วนขยาย Salesforce จะเข้าถึง Salesforce ได้ คุณจะต้องสร้างแอปที่เชื่อมต่อ Salesforce ซึ่งส่วนขยายจะเชื่อมต่อกับ Salesforce ได้
ใน Salesforce แอปที่เชื่อมต่อเป็นช่องทางให้แอปพลิเคชันภายนอกเชื่อมต่อกับ Salesforce ผ่าน API
วิธีตั้งค่าแอปที่เชื่อมต่อ
- เข้าสู่ระบบ Salesforce
- คลิกไอคอนรูปเฟืองที่ด้านขวาบน แล้วคลิกตั้งค่า
- ในการนําทางด้านซ้าย ให้ขยายแอป > เครื่องมือจัดการแอป
- ในหน้าตัวจัดการแอป ให้คลิกแอปที่เชื่อมต่อใหม่
- กรอกข้อมูลในช่องที่ต้องกรอกในส่วนข้อมูลพื้นฐาน ค่าเหล่านี้มีไว้เพื่อบันทึกบัญชี ส่วนขยายจะไม่ใช้ค่าเหล่านี้
- เลือกช่องทำเครื่องหมายเปิดใช้การตั้งค่า OAuth ในส่วน API (เปิดใช้การตั้งค่า OAuth)
- ป้อน URL เรียกกลับ แม้ว่าส่วนขยายจะไม่ได้ใช้ก็ตาม คุณสามารถใช้
http://localhost/
หรือโฮสต์ตัวยึดตําแหน่งอื่นๆ - เลือกช่องทำเครื่องหมายใช้ลายเซ็นดิจิทัล
- ในส่วนใช้ลายเซ็นดิจิทัล ให้คลิกเลือกไฟล์เพื่อค้นหาและอัปโหลด
salesforce.crt
ที่สร้างไว้ก่อนหน้านี้ - ในส่วนขอบเขต OAuth ที่เลือก ให้เพิ่มรายการต่อไปนี้เพื่อให้อยู่ภายใต้ขอบเขต OAuth ที่เลือก
- เข้าถึงและจัดการข้อมูล (API)
- ดำเนินการตามคำขอในนามของคุณได้ทุกเมื่อ (refresh_token, offline_access)
- คลิกบันทึก หากมีข้อผิดพลาด คุณอาจต้องสร้างและอัปโหลดไฟล์
salesforce.crt
อีกครั้ง - คลิกจัดการในหน้าแอปที่ปรากฏขึ้น
- ในหน้าเครื่องมือจัดการแอปสําหรับแอปที่คุณเพิ่งสร้าง ให้คลิกแก้ไขนโยบาย
- ในส่วนนโยบาย OAuth ให้คลิกเมนูแบบเลื่อนลงผู้ใช้ที่ได้รับอนุญาต แล้วคลิกผู้ใช้ที่ได้การอนุมัติจากผู้ดูแลระบบจะได้รับการให้สิทธิ์ล่วงหน้า
- คลิกบันทึก
- กลับไปที่หน้าแอป ในส่วนโปรไฟล์ ให้คลิกจัดการโปรไฟล์
ในหน้าการกำหนดโปรไฟล์แอปพลิเคชัน ให้เลือกช่องทำเครื่องหมายสำหรับโปรไฟล์ผู้ใช้ที่ใช้แอปพลิเคชันนี้ได้
โปรดเลือกโปรไฟล์ที่สอดคล้องกับผู้ใช้ที่คุณจะใช้ชื่อผู้ใช้เมื่อกำหนดค่าส่วนขยาย นอกจากนี้ ให้ตรวจสอบว่าผู้ใช้ที่มีสิทธิ์ระดับผู้ดูแลระบบอย่างน้อย 1 คนมีสิทธิ์เข้าถึงแอปพลิเคชันนี้
คุณสามารถดูการตั้งค่าโปรไฟล์ของผู้ใช้ได้ใน Salesforce ในพื้นที่การตั้งค่า ให้ขยายผู้ใช้ > ผู้ใช้ ค้นหาผู้ใช้ที่จะแสดงโดยส่วนขยาย จากนั้นค้นหาโปรไฟล์ของผู้ใช้ดังกล่าวในคอลัมน์โปรไฟล์
คลิกบันทึก
เกี่ยวกับ Salesforce
Salesforce เป็นแพลตฟอร์มการจัดการลูกค้าสัมพันธ์ (CRM) การจัดการลูกค้าสัมพันธ์ช่วยให้บริษัทเข้าใจความต้องการของลูกค้าและแก้ปัญหาได้ดีขึ้นด้วยการจัดการข้อมูลและการโต้ตอบกับลูกค้าได้ดียิ่งขึ้น ทั้งหมดนี้ทำได้บนแพลตฟอร์มเดียวที่เข้าถึงได้จากเดสก์ท็อปหรืออุปกรณ์ทุกเครื่อง
การทำงาน
Insert
แทรกระเบียนเป็นประเภท sObject
ไวยากรณ์
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
ตัวอย่าง
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
sobject | ประเภท sObject ของระเบียนที่จะแทรก | สตริง | ไม่มี | ได้ |
รายการ | อาร์เรย์ของระเบียน sObject ใน JSON สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ได้ |
allOrNone | true เพื่อทำให้อัปเดตทั้งระบบล้มเหลวหากการอัปเดตส่วนใดส่วนหนึ่งไม่สำเร็จ |
บูลีน | เท็จ | ไม่ |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์จากการดำเนินการแทรก
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
results[*].id | รหัส sObject ที่สร้างขึ้นสําหรับระเบียนใหม่ | สตริง | ไม่มี | ได้ |
results[*].success | true หากแทรกระเบียนนั้นสําเร็จ |
บูลีน | ไม่มี | ได้ |
results[*].errors | อาร์เรย์ของข้อผิดพลาด (หากมี) ที่ตรวจพบระหว่างการดําเนินการ | อาร์เรย์ | ไม่มี | ได้ |
อัปเดต
อัปเดตระเบียน Salesforce
ไวยากรณ์
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
ตัวอย่าง
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
sobject | ประเภท sObject ของระเบียนที่จะอัปเดต | สตริง | ไม่มี | ได้ |
รายการ | อาร์เรย์ของระเบียน sObject ใน JSON ระเบียนแต่ละรายการที่จะอัปเดตต้องมีค่ารหัสของระเบียน สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ได้ |
allOrNone | true เพื่อทำให้อัปเดตทั้งระบบล้มเหลวหากการอัปเดตส่วนใดส่วนหนึ่งไม่สำเร็จ |
บูลีน | เท็จ | ไม่ |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์จากการอัปเดต
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
results[*].id | รหัส sObject ที่สร้างขึ้นสำหรับระเบียนที่อัปเดต | สตริง | ไม่มี | ได้ |
results[*].success | true หากแทรกระเบียนนั้นสําเร็จ |
บูลีน | ไม่มี | ได้ |
results[*].errors | อาร์เรย์ของข้อผิดพลาด (หากมี) ที่ตรวจพบระหว่างการดําเนินการ | อาร์เรย์ | ไม่มี | ได้ |
เรียกข้อมูล
ดึงข้อมูลระเบียนเป็น sObjects ตามรหัส แสดงผลช่องทั้งหมดของประเภท sObject
ไวยากรณ์
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
ตัวอย่าง
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
sobject | ประเภท sObject ของระเบียนที่จะดึงข้อมูล | สตริง | ไม่มี | ได้ |
ids | อาร์เรย์ของระเบียนรหัส sObject ที่จะดึงข้อมูล สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ได้ |
allOrNone | true เพื่อดำเนินการทั้งหมดไม่สำเร็จหากคำขอส่วนใดส่วนหนึ่งดำเนินการไม่สำเร็จ |
บูลีน | เท็จ | ไม่ |
คำตอบ
อาร์เรย์ records
ของ sObject ที่แสดงเป็น JSON โปรดทราบว่าพร็อพเพอร์ตี้ทั้งหมดของออบเจ็กต์จะรวมอยู่ใน JSON แม้ว่าค่าพร็อพเพอร์ตี้จะเป็น Null ก็ตาม
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
ค้นหา Salesforce.com โดยใช้ Salesforce Object Query Language (SOQL)
ไวยากรณ์
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
ตัวอย่าง
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
soql | คำสั่ง SOQL ที่จะใช้ในการค้นหา | สตริง | ไม่มี | ได้ |
คำตอบ
ผลการค้นหา
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
totalSize | จํานวนระเบียนที่แสดงโดยคําค้นหา | จำนวนเต็ม | ไม่มี | ได้ |
รายการ | อาร์เรย์ของระเบียนที่แสดงผลเป็น sObjects ใน JSON สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ได้ |
เสร็จสิ้น | true หากการดำเนินการค้นหาเสร็จสมบูรณ์ |
บูลีน | ไม่มี | ได้ |
list
แสดงรายการระเบียน Salesforce.com แสดงผลช่องทั้งหมดของประเภท sObject ที่ระบุ
ไวยากรณ์
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
ตัวอย่าง
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
sobject | ประเภท sObject ของระเบียนที่จะแสดง | สตริง | ไม่มี | ได้ |
ขีดจำกัด | จำนวนระเบียนสูงสุดที่จะแสดง | จำนวนเต็ม | 1000 | ไม่ |
ออฟเซ็ต | ส่วนเพิ่มสำหรับระเบียนที่จะแสดง | จำนวนเต็ม | 0 |
ไม่ |
คำตอบ
อาร์เรย์ records
ที่มี sObject ที่แสดงเป็น JSON
{
records: [
{ sobject-json },
{ sobject-json }
]
}
ลบ
ลบระเบียนที่มีรหัสที่ระบุ
ไวยากรณ์
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
ตัวอย่าง
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
sobject | ประเภท sObject ของระเบียนที่จะลบ | สตริง | ไม่มี | ได้ |
ids | อาร์เรย์รหัส sObject ของระเบียนที่จะลบ สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ได้ |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์ของการดำเนินการ
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
results[*].id | รหัส sObject ของระเบียนที่ระบุ | สตริง | ไม่มี | ได้ |
results[*].success | true หากการดำเนินการสําหรับระเบียนนั้นสําเร็จ |
บูลีน | ไม่มี | ได้ |
results[*].errors | อาร์เรย์ของข้อผิดพลาด (หากมี) ที่ตรวจพบระหว่างการดําเนินการ | อาร์เรย์ | ไม่มี | ได้ |
getAccessToken
รับโทเค็นการเข้าถึง API ของ Salesforce.com ใช้เพื่อค้นหา REST API ได้
ไวยากรณ์
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
พารามิเตอร์คำขอ
ไม่มี
คำตอบ
โทเค็นการเข้าถึงในรูปแบบ JSON
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
accessToken | โทเค็นการเข้าถึง | สตริง | ไม่มี | ได้ |
ขอบเขต | ขอบเขตที่โทเค็นให้สิทธิ์เข้าถึง | สตริง | ไม่มี | ได้ |
instanceUrl | URL ของอินสแตนซ์ที่องค์กร Salesforce ใช้ | สตริง | ไม่มี | ได้ |
id | รหัสของแอปที่เชื่อมต่อ | สตริง | ไม่มี | ได้ |
tokenType | พิมพ์โทเค็นการเข้าถึง | สตริง | Bearer | ได้ |
ข้อมูลอ้างอิงการกําหนดค่า
ใช้ข้อมูลต่อไปนี้เมื่อกําหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API
พร็อพเพอร์ตี้ส่วนขยายทั่วไป
พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ
พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|
name |
ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย | ไม่มี | ได้ |
packageName |
ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge | ไม่มี | ได้ |
version |
หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย | ไม่มี | ได้ |
configuration |
ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ | ไม่มี | ได้ |
พร็อพเพอร์ตี้สำหรับแพ็กเกจส่วนขยายนี้
ระบุค่าสำหรับพร็อพเพอร์ตี้การกําหนดค่าต่อไปนี้ที่เจาะจงสําหรับส่วนขยายนี้
พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|
URL ของเซิร์ฟเวอร์การให้สิทธิ์ | URL ที่จะใช้ในการรับสิทธิ์จาก Salesforce โดยปกติคือ https://login.salesforce.com |
ไม่มี | ได้ |
คีย์ผู้ใช้ของแอปที่เชื่อมต่อ | คีย์ผู้บริโภคที่ Salesforce ระบุสำหรับแอปที่เชื่อมต่อซึ่งคุณสร้างขึ้น ดูวิธีการในส่วนข้อกําหนดเบื้องต้นสำหรับการเรียกข้อมูลคีย์ผู้บริโภค | ไม่มี | ได้ |
ข้อมูลเข้าสู่ระบบ | เมื่อป้อนในคอนโซล Apigee Edge เนื้อหาของไฟล์ salesforce.key ที่คุณสร้างในขั้นตอนด้านบนจะแสดงดังนี้ เมื่อส่งผ่าน Management API ค่าจะเป็นค่าที่เข้ารหัส Base64 ที่สร้างขึ้นจากไฟล์ salesforce.key | ไม่มี | ได้ |
ชื่อผู้ใช้ของผู้ใช้ Salesforce | ชื่อผู้ใช้ที่เชื่อมโยงกับแอปที่เชื่อมต่อที่คุณสร้างขึ้น ส่วนขยาย Salesforce จะใช้ข้อมูลนี้เพื่อรับสิทธิ์จาก Salesforce | ไม่มี | ได้ |