ส่วนขยาย Salesforce

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

เวอร์ชัน: 1.0.5

เข้าถึงข้อมูลในบัญชี 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 ให้ไปที่แอป > ตัวจัดการแอปในการนําทางด้านซ้าย
    2. ค้นหาแอปที่เชื่อมต่อซึ่งคุณสร้างขึ้นในรายการ
    3. จากเมนูแบบเลื่อนลงทางด้านขวาในแถวของแอปพลิเคชัน ให้คลิกดู
    4. ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้ค้นหา Consumer Key แล้วคัดลอกค่าไปยังที่ปลอดภัยเพื่อใช้เมื่อกําหนดค่าส่วนขยาย

ตั้งค่าแอปที่เชื่อมต่อสำหรับการเข้าถึงโดยส่วนขยาย

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

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

วิธีตั้งค่าแอปที่เชื่อมต่อ

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

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

    คุณสามารถดูการตั้งค่าโปรไฟล์ของผู้ใช้ได้ใน 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 อาร์เรย์ของข้อผิดพลาด (หากมี) ที่ตรวจพบระหว่างการดําเนินการ อาร์เรย์ ไม่มี ได้

เรียกข้อมูล

ดึงข้อมูลระเบียนเป็น 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 ไม่มี ได้