ส่วนขยาย Salesforce

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.2

เข้าถึงข้อมูลในบัญชี Salesforce แทรก อัปเดต เรียกข้อมูล และค้นหาข้อมูล

เนื้อหานี้เป็นข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้

ข้อกำหนดเบื้องต้น

เนื้อหานี้เป็นข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout คุณต้องทำดังนี้

  1. สร้างคีย์ส่วนตัวหรือคู่การรับรอง RSA x509

    คุณจะใช้คีย์ส่วนตัว (.key) เป็นข้อมูลเข้าสู่ระบบเมื่อกำหนดค่าส่วนขยาย คุณจะใช้ไฟล์ใบรับรอง (.crt) เมื่อสร้างแอปที่เชื่อมต่อซึ่งจะให้สิทธิ์การเข้าถึง Salesforce แก่ส่วนขยาย

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. ตั้งค่าแอปที่เชื่อมต่อ

    แอปที่เชื่อมต่อของ Salesforce จะให้สิทธิ์เข้าถึงส่วนขยาย Salesforce ดูวิธีการตั้งค่าแอป

  3. รับคีย์ผู้บริโภคสำหรับแอปที่เชื่อมต่อ ส่วนขยายจะใช้คีย์นี้เมื่อตรวจสอบสิทธิ์กับแอป

    1. ในการตั้งค่า Salesforce ให้ไปที่แอป > App Manager ในการนำทางด้านซ้าย
    2. ค้นหาแอปที่เชื่อมต่อที่คุณสร้างไว้ในรายการ
    3. จากเมนูแบบเลื่อนลงทางด้านขวาในแถวของแอปพลิเคชัน ให้คลิกดู
    4. ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้ค้นหาคีย์ผู้บริโภคและคัดลอกค่าไปยังที่ที่ปลอดภัยเพื่อใช้เมื่อกำหนดค่าส่วนขยาย

ตั้งค่าแอปที่เชื่อมต่อเพื่อให้ส่วนขยายเข้าถึงได้

ก่อนที่ส่วนขยาย Salesforce จะเข้าถึง Salesforce ได้ คุณจะต้องสร้างแอปที่เชื่อมต่อกับ Salesforce ซึ่งส่วนขยายจะใช้เชื่อมต่อกับ Salesforce ได้

ใน Salesforce แอปที่เชื่อมต่อช่วยให้แอปพลิเคชันภายนอกเชื่อมต่อกับ Salesforce ผ่าน API ได้

วิธีกำหนดค่าแอปที่เชื่อมต่อ

  1. ลงชื่อเข้าใช้ Salesforce
  2. คลิกไอคอนรูปเฟืองที่ด้านขวาบน แล้วคลิกตั้งค่า
  3. ในการนำทางทางด้านซ้าย ให้ขยายแอป > App Manager
  4. ในหน้า App Manager ให้คลิก New Connected App
  5. ในส่วนข้อมูลพื้นฐาน ให้กรอกข้อมูลในช่องที่ต้องกรอก ค่าดังกล่าวมีไว้สำหรับการทำบัญชี และส่วนขยายไม่ได้ใช้ค่าเหล่านี้
  6. ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้เลือกช่องทำเครื่องหมายเปิดใช้การตั้งค่า OAuth
  7. แม้ว่าส่วนขยายจะไม่ได้ใช้ แต่ให้ป้อนURL เรียกกลับ คุณใช้ http://localhost/ หรือโฮสต์ตัวยึดตำแหน่งอื่นๆ ได้
  8. เลือกช่องทําเครื่องหมายใช้ลายเซ็นดิจิทัล
  9. ในส่วนใช้ลายเซ็นดิจิทัล ให้คลิกเลือกไฟล์เพื่อค้นหาและอัปโหลด salesforce.crt ที่คุณสร้างไว้ก่อนหน้านี้
  10. ในส่วนขอบเขต OAuth ที่เลือก ให้เพิ่มรายการต่อไปนี้เพื่อให้รายการอยู่ภายใต้ขอบเขต OAuth ที่เลือก
    • เข้าถึงและจัดการข้อมูล (API)
    • ดำเนินการตามคำขอในนามของคุณได้ทุกเมื่อ (refresh_token, offline_access)
  11. คลิกบันทึก หากมีข้อผิดพลาด คุณอาจต้องสร้างและอัปโหลดไฟล์ salesforce.crt อีกครั้ง
  12. ในหน้าแอปที่ปรากฏขึ้น ให้คลิกจัดการ
  13. ในหน้า App Manager สำหรับแอปที่คุณเพิ่งสร้าง ให้คลิกแก้ไขนโยบาย
  14. ในส่วนนโยบาย OAuth ให้คลิกเมนูแบบเลื่อนลงผู้ใช้ที่ได้รับอนุญาต แล้วคลิกผู้ใช้ที่ผู้ดูแลระบบอนุมัติจะได้รับอนุญาตล่วงหน้า
  15. คลิกบันทึก
  16. กลับไปที่หน้าแอป ในส่วนโปรไฟล์ ให้คลิกจัดการโปรไฟล์
  17. ในหน้าการกำหนดโปรไฟล์แอปพลิเคชัน ให้เลือกช่องทำเครื่องหมายสำหรับโปรไฟล์ผู้ใช้ที่ใช้แอปพลิเคชันนี้ได้

    โปรดเลือกโปรไฟล์ที่สอดคล้องกับผู้ใช้ที่คุณจะใช้ชื่อผู้ใช้เมื่อกำหนดค่าส่วนขยาย นอกจากนี้ ให้ตรวจสอบว่าผู้ใช้ที่มีสิทธิ์เข้าถึงระดับผู้ดูแลระบบอย่างน้อยมีสิทธิ์เข้าถึงแอปพลิเคชันนี้

    คุณดูการตั้งค่าโปรไฟล์ของผู้ใช้ใน Salesforce ได้ ในส่วนการตั้งค่า ให้ขยายผู้ใช้ > ผู้ใช้ ค้นหาผู้ใช้ที่ส่วนขยายจะแสดง แล้วค้นหาโปรไฟล์ของผู้ใช้ในคอลัมน์โปรไฟล์

  18. คลิกบันทึก

เกี่ยวกับ 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 อาร์เรย์ของข้อผิดพลาด (หากมี) ที่ตรวจพบระหว่างการดำเนินการ อาร์เรย์ ไม่มี ได้

ดึงข้อมูล

ดึงข้อมูลระเบียนเป็น SObject ตามรหัส แสดงฟิลด์ทั้งหมดของประเภท 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 จำนวนระเบียนที่ส่งคืนโดยการค้นหา จำนวนเต็ม ไม่มี ได้
รายการ อาร์เรย์ของระเบียนที่แสดงผลเป็น sObject ใน 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 ใช้เพื่อค้นหา 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"
}
พร็อพเพอร์ตี้ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
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 ไม่มี ได้