คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
เวอร์ชัน: 1.0.3
เข้าถึงข้อมูลในบัญชี Salesforce แทรก อัปเดต ดึง และค้นหาข้อมูล
เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและใช้ส่วนขยายนี้
ข้อกำหนดเบื้องต้น
เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและใช้ส่วนขยายนี้ ก่อนที่จะใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย Extension), คุณต้องทำดังนี้
สร้างคู่คีย์ส่วนตัว/การรับรอง 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) ให้ค้นหาคีย์ผู้ใช้และคัดลอกค่าไปยังที่ปลอดภัยเพื่อใช้เมื่อกำหนดค่าส่วนขยาย
ตั้งค่าแอปที่เชื่อมต่อเพื่อให้ส่วนขยายเข้าถึงได้
ก่อนที่ส่วนขยาย Salesforce จะเข้าถึง Salesforce ได้ คุณจะต้องสร้างแอปที่เชื่อมต่อของ Salesforce ซึ่งส่วนขยายสามารถเชื่อมต่อกับ Salesforce ได้
ใน Salesforce แอปที่เชื่อมต่อจะช่วยให้แอปพลิเคชันภายนอกเชื่อมต่อกับ Salesforce ผ่าน API ได้
วิธีตั้งค่าแอปที่เชื่อมต่อ
- ลงชื่อเข้าสู่ระบบ Salesforce
- คลิกไอคอนรูปเฟืองที่ด้านขวาบน แล้วคลิกตั้งค่า
- ในการนำทางด้านซ้าย ให้ขยายแอป > เครื่องมือจัดการแอป
- ในหน้าเครื่องมือจัดการแอป ให้คลิกแอปที่เชื่อมต่อใหม่
- กรอกข้อมูลในช่องที่ต้องกรอกในส่วนข้อมูลพื้นฐาน ค่าเหล่านี้มีไว้เพื่อการทำบัญชี ส่วนขยายจะไม่ใช้ค่าเหล่านี้
- ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้เลือกช่องทำเครื่องหมายเปิดใช้การตั้งค่า OAuth
- แม้ว่าส่วนขยายจะไม่ได้ใช้ URL นี้ ให้ป้อน URL เรียกกลับ คุณจะใช้
http://localhost/
หรือโฮสต์ตัวยึดตําแหน่งอื่นก็ได้ - เลือกช่องทำเครื่องหมายใช้ลายเซ็นดิจิทัล
- ในส่วนใช้ลายเซ็นดิจิทัล ให้คลิกเลือกไฟล์เพื่อค้นหาและอัปโหลด
salesforce.crt
ที่คุณสร้างไว้ก่อนหน้านี้ - ในส่วนขอบเขต OAuth ที่เลือก ให้เพิ่มรายการต่อไปนี้ให้อยู่ในส่วนขอบเขต OAuth ที่เลือก
- เข้าถึงและจัดการข้อมูลของคุณ (API)
- ส่งคำขอในนามของคุณได้ทุกเมื่อ (refresh_token, offline_access)
- คลิกบันทึก หากมีข้อผิดพลาด คุณอาจต้องสร้างและอัปโหลดไฟล์
salesforce.crt
อีกครั้ง - ในหน้าแอปที่ปรากฏขึ้น ให้คลิกจัดการ
- ในหน้า "ตัวจัดการแอป" ของแอปที่คุณเพิ่งสร้าง ให้คลิกแก้ไขนโยบาย
- ในส่วนนโยบาย OAuth ให้คลิกเมนูแบบเลื่อนลงผู้ใช้ที่ได้รับอนุญาต แล้วคลิกผู้ใช้ที่ได้รับการอนุมัติของผู้ดูแลระบบได้รับการอนุญาตล่วงหน้า
- คลิกบันทึก
- กลับไปที่หน้าแอป ภายใต้โปรไฟล์ ให้คลิกจัดการโปรไฟล์
ในหน้าการกำหนดโปรไฟล์แอปพลิเคชัน ให้เลือกช่องทำเครื่องหมายสำหรับโปรไฟล์ผู้ใช้ที่สามารถใช้แอปพลิเคชันนี้
ตรวจสอบให้แน่ใจว่าได้เลือกโปรไฟล์ที่สอดคล้องกับผู้ใช้ที่เป็นเจ้าของชื่อผู้ใช้ที่คุณจะใช้ในการกำหนดค่าส่วนขยาย และตรวจสอบว่าอย่างน้อยผู้ใช้ที่เป็นผู้ดูแลระบบของระบบมีสิทธิ์เข้าถึงแอปพลิเคชันนี้
คุณสามารถดูการตั้งค่าโปรไฟล์สำหรับผู้ใช้ใน Salesforce ในส่วนตั้งค่า ให้ขยายผู้ใช้ > ผู้ใช้ ค้นหาผู้ใช้ที่ส่วนขยายจะแสดง จากนั้นค้นหาโปรไฟล์ของผู้ใช้ในคอลัมน์โปรไฟล์
คลิกบันทึก
เกี่ยวกับ Salesforce
Salesforce เป็นแพลตฟอร์มการจัดการลูกค้าสัมพันธ์ (CRM) การจัดการลูกค้าสัมพันธ์ช่วยให้บริษัทเข้าใจความต้องการของลูกค้าและแก้ไขปัญหาด้วยการจัดการข้อมูลและการโต้ตอบของลูกค้าได้ดียิ่งขึ้น ทั้งหมดนี้ทำได้จากแพลตฟอร์มเดียวที่เข้าถึงได้ง่ายจากทุกเดสก์ท็อปหรืออุปกรณ์
การดำเนินการ
Insert
แทรกระเบียนเป็น sObject type
ไวยากรณ์
<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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
วัตถุ | ประเภท sObject ของระเบียนที่จะแทรก | สตริง | ไม่มี | ใช่ |
รายการ | อาร์เรย์ของระเบียน sObject ใน JSON สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ใช่ |
allOrNone | true จะไม่ผ่านการอัปเดตทั้งหมดหากการอัปเดตส่วนใดล้มเหลว |
บูลีน | false | ไม่มี |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์จากการดำเนินการแทรก
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พร็อพเพอร์ตี้ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
results[*].id | รหัส sObject ที่สร้างขึ้นสำหรับระเบียนใหม่ | สตริง | ไม่มี | ใช่ |
ผลลัพธ์[*].ความสำเร็จ | true หากแทรกระเบียนนั้นสำเร็จ |
บูลีน | ไม่มี | ใช่ |
ผลลัพธ์[*].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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
วัตถุ | ประเภท sObject ของระเบียนที่จะอัปเดต | สตริง | ไม่มี | ใช่ |
รายการ | อาร์เรย์ของระเบียน sObject ใน JSON ระเบียนแต่ละรายการที่จะอัปเดตต้องมีค่ารหัสของระเบียนดังกล่าว สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ใช่ |
allOrNone | true จะไม่ผ่านการอัปเดตทั้งหมดหากการอัปเดตส่วนใดล้มเหลว |
บูลีน | false | ไม่มี |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์จากการอัปเดต
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
results[*].id | รหัส sObject ที่สร้างขึ้นสำหรับระเบียนที่อัปเดต | สตริง | ไม่มี | ใช่ |
ผลลัพธ์[*].ความสำเร็จ | true หากแทรกระเบียนนั้นสำเร็จ |
บูลีน | ไม่มี | ใช่ |
ผลลัพธ์[*].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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
วัตถุ | ประเภท sObject ของระเบียนที่จะเรียกข้อมูล | สตริง | ไม่มี | ใช่ |
ids | อาร์เรย์ของระเบียน sObject ID ที่จะเรียกข้อมูล สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ใช่ |
allOrNone | true จะทำให้การดำเนินการล้มเหลวทั้งหมดหากมีส่วนใดส่วนหนึ่งของคำขอไม่สำเร็จ |
บูลีน | false | ไม่มี |
คำตอบ
อาร์เรย์ records
ของ sObjects ที่แสดงเป็น 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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
Soql | คำสั่ง SOQL ที่จะสอบถาม | สตริง | ไม่มี | ใช่ |
คำตอบ
ผลการค้นหา
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
totalSize | จำนวนระเบียนที่แสดงผลโดยการค้นหา | จำนวนเต็ม | ไม่มี | ใช่ |
รายการ | อาร์เรย์ของระเบียนที่แสดงผลเป็น sObjects ใน JSON สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ใช่ |
เสร็จสิ้น | true หากการดำเนินการค้นหาเสร็จสิ้นแล้ว |
บูลีน | ไม่มี | ใช่ |
ลิสต์
แสดงรายการระเบียน 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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
วัตถุ | ประเภท sObject ของระเบียนที่จะแสดงรายการ | สตริง | ไม่มี | ใช่ |
ขีดจำกัด | จำนวนระเบียนสูงสุดที่จะแสดง | จำนวนเต็ม | 1,000 | ไม่มี |
ออฟเซ็ต | ออฟเซ็ตสำหรับระเบียนที่จะแสดงรายการ | จำนวนเต็ม | 0 |
ไม่มี |
คำตอบ
อาร์เรย์ records
ที่มี sObjects ที่ระบุเป็น 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>
พารามิเตอร์คำขอ
พารามิเตอร์ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
วัตถุ | ประเภท sObject ของระเบียนที่จะลบ | สตริง | ไม่มี | ใช่ |
ids | อาร์เรย์ของ sObject ID สำหรับระเบียนที่จะลบ สูงสุด: 1,000 | อาร์เรย์ | ไม่มี | ใช่ |
คำตอบ
อาร์เรย์ results
ที่มีผลลัพธ์ของการดำเนินการ
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
พร็อพเพอร์ตี้ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
results[*].id | รหัสออบเจ็กต์ของระเบียนที่ระบุ | สตริง | ไม่มี | ใช่ |
ผลลัพธ์[*].ความสำเร็จ | true หากการดำเนินการสำหรับระเบียนสำเร็จ |
บูลีน | ไม่มี | ใช่ |
ผลลัพธ์[*].errors | อาร์เรย์ของข้อผิดพลาด (หากมี) ตรวจพบระหว่างการดำเนินการ | อาร์เรย์ | ไม่มี | ใช่ |
getAccessToken
รับโทเค็นเพื่อการเข้าถึง API ของ Salesforce.com สามารถใช้เพื่อค้นหา API ของ REST
ไวยากรณ์
<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"
}
พร็อพเพอร์ตี้ | คำอธิบาย | Type | ค่าเริ่มต้น | จำเป็น |
---|---|---|---|---|
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 | ไม่มี | ใช่ |