ส่วนขยาย Salesforce

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

เวอร์ชัน: 1.0.3

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

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

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

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

  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) ให้ค้นหาคีย์ผู้ใช้และคัดลอกค่าไปยังที่ปลอดภัยเพื่อใช้เมื่อกำหนดค่าส่วนขยาย

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

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

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

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

  1. ลงชื่อเข้าสู่ระบบ Salesforce
  2. คลิกไอคอนรูปเฟืองที่ด้านขวาบน แล้วคลิกตั้งค่า
  3. ในการนำทางด้านซ้าย ให้ขยายแอป > เครื่องมือจัดการแอป
  4. ในหน้าเครื่องมือจัดการแอป ให้คลิกแอปที่เชื่อมต่อใหม่
  5. กรอกข้อมูลในช่องที่ต้องกรอกในส่วนข้อมูลพื้นฐาน ค่าเหล่านี้มีไว้เพื่อการทำบัญชี ส่วนขยายจะไม่ใช้ค่าเหล่านี้
  6. ในส่วน API (เปิดใช้การตั้งค่า OAuth) ให้เลือกช่องทำเครื่องหมายเปิดใช้การตั้งค่า OAuth
  7. แม้ว่าส่วนขยายจะไม่ได้ใช้ URL นี้ ให้ป้อน 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. ในหน้าการกำหนดโปรไฟล์แอปพลิเคชัน ให้เลือกช่องทำเครื่องหมายสำหรับโปรไฟล์ผู้ใช้ที่สามารถใช้แอปพลิเคชันนี้

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

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

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

เกี่ยวกับ 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 ไม่มี ใช่