แผนอัตราการซื้อโดยใช้ API

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

ส่วนนี้อธิบายวิธีซื้อแพ็กเกจราคาที่เผยแพร่แล้ว รวมถึงวิธีทำให้แพ็กเกจราคาที่ซื้อหมดอายุหรือยกเลิกแพ็กเกจราคาที่ซื้อ หากต้องการ โดยใช้ API

การซื้อแพ็กเกจราคาที่เผยแพร่แล้วโดยใช้ API

หลังจากเผยแพร่แพ็กเกจราคาแล้ว นักพัฒนาแอปหรือบริษัทสามารถซื้อ (หรือ "ยอมรับ") แพ็กเกจดังกล่าวได้โดย ส่งคำขอ POST ไปยัง /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, โดยที่ {org_name} คือชื่อองค์กร และ {developer_or_company_id} คือรหัสของนักพัฒนาแอปหรือบริษัท

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

ตารางต่อไปนี้สรุปพร็อพเพอร์ตี้การกำหนดค่าที่คุณระบุได้ใน เนื้อหาของคำขอ ค่าเริ่มต้น และระบุว่าจำเป็นหรือไม่

ชื่อ คำอธิบาย ค่าเริ่มต้น จำเป็นหรือไม่
startDate

วันที่แพ็กเกจราคาเริ่มต้น เช่น 2017-03-24

ไม่มี ใช่
endDate

วันที่แพ็กเกจราคาสิ้นสุด เช่น 2017-09-24

แพ็กเกจราคาจะมีผลจนถึงสิ้นวัน ในวันที่ระบุ เช่น หากต้องการให้แพ็กเกจราคาสิ้นสุดในวันที่ 1 ธันวาคม 2017 คุณควรตั้งค่า endDate เป็น 2017-11-30 ในกรณีนี้ แพ็กเกจราคาจะหมดอายุเมื่อสิ้นวันในวันที่ 30 พฤศจิกายน 2017 และระบบจะบล็อกคำขอทั้งหมดในวันที่ 1 ธันวาคม 2017

ไม่มี ไม่
developer

พร็อพเพอร์ตี้ id ที่กำหนดรหัสของนักพัฒนาแอปหรือบริษัทที่กำลังซื้อแพ็กเกจราคา

ไม่มี ใช่
quotaTarget

จำนวนธุรกรรมเป้าหมายที่อนุญาตสำหรับนักพัฒนาแอป คุณสามารถกำหนดค่าได้ว่าจะให้ส่งการแจ้งเตือนเมื่อใด โดยอิงตามเปอร์เซ็นต์ของจำนวนเป้าหมายที่ทำได้ เช่น 90%, 100% หรือ 150% ระบบจะไม่บล็อกธุรกรรมเพิ่มเติมหลังจากทำได้ตามจำนวนเป้าหมาย

ตั้งค่านี้เป็นจำนวนเต็มบวกหรือ 0 เพื่อปิดใช้การแจ้งเตือนสำหรับนักพัฒนาแอป

0 ไม่
ratePlan

พร็อพเพอร์ตี้ id ที่กำหนดรหัสของแพ็กเกจราคา

รหัสแพ็กเกจราคาจะแตกต่างจากชื่อที่แสดง หากต้องการดูรายละเอียดแพ็กเกจราคา รวมถึงรหัส ให้ดูหัวข้อ สำรวจหน้าแพ็กเกจราคา

ไม่มี ใช่
suppressWarning

แฟล็กที่ระบุว่าจะระงับข้อผิดพลาดหรือไม่ หากนักพัฒนาแอปพยายามซื้อ แพ็กเกจราคาที่ทับซ้อนกับแพ็กเกจราคาอื่นที่ซื้อไว้ ค่าอาจเป็นค่าใดค่าหนึ่งต่อไปนี้

  • true - การสร้างรายได้จะยกเลิกแพ็กเกจราคาทั้งหมดที่นักพัฒนาแอปซื้อไว้สำหรับแพ็กเกจ API ที่มีผลิตภัณฑ์ API ที่ขัดแย้งกัน จากนั้น จะซื้อแพ็กเกจ API ใหม่ให้นักพัฒนาแอป
  • false - ระบบจะแสดงข้อผิดพลาดในกรณีที่มีแพ็กเกจราคาที่ทับซ้อนกัน
ไม่มี ไม่
waveTerminationCharge

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

  • true - ยกเว้นค่าธรรมเนียมการยกเลิกเมื่อมีการยกเลิกแพ็กเกจราคาที่ใช้งานอยู่ ซึ่งเป็นส่วนหนึ่งของการเปิดใช้งานแพ็กเกจราคาใหม่
  • false - ไม่ยกเว้นค่าธรรมเนียมการยกเลิกเมื่อมีการยกเลิกแพ็กเกจราคาที่ใช้งานอยู่ซึ่งเป็นส่วนหนึ่งของการเปิดใช้งานแพ็กเกจราคาใหม่
ไม่มี ไม่

ตัวอย่างเช่น คำขอต่อไปนี้จะซื้อแพ็กเกจราคา location_&_messaging สำหรับนักพัฒนาแอปที่ระบุ

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

ในตัวอย่างนี้ พร็อพเพอร์ตี้ suppressWarning ตั้งค่าเป็น false ใน กรณีนี้ ระบบจะแสดงข้อผิดพลาดในกรณีที่เกิดความขัดแย้ง เช่น หากนักพัฒนาแอป พยายามซื้อแพ็กเกจราคาที่ทับซ้อนกับแพ็กเกจราคาอื่นที่ซื้อไว้ ระบบจะแสดงข้อผิดพลาด ซึ่งจะช่วยให้แอปพลิเคชันที่มีอินเทอร์เฟซผู้ใช้สำหรับการสร้างรายได้สามารถดักจับข้อผิดพลาดและ แสดงผลิตภัณฑ์ที่ขัดแย้งกันแก่นักพัฒนาแอปเพื่อขอการยืนยัน (ตามความเหมาะสม) หาก suppressWarning ตั้งค่าเป็น true การสร้างรายได้จะยกเลิกแพ็กเกจราคาทั้งหมดที่นักพัฒนาแอปซื้อไว้สำหรับแพ็กเกจ API ที่มีผลิตภัณฑ์ที่ขัดแย้งกัน จากนั้นจะซื้อแพ็กเกจ API ใหม่ให้นักพัฒนาแอป

คำขอต่อไปนี้จะซื้อแพ็กเกจราคาการแจ้งเตือนที่ปรับได้และตั้งค่าจำนวนธุรกรรมเป้าหมาย เป็น 4,000

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

ในตัวอย่างใดตัวอย่างหนึ่งข้างต้น หากระบบแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้

Developer legal name not specified. 

คุณต้องตั้งค่าแอตทริบิวต์การสร้างรายได้ MINT_DEVELOPER_ADDRESS และ MINT_DEVELOPER_LEGAL_NAME แล้วเรียก API อีกครั้ง

การทำให้แพ็กเกจราคาที่นักพัฒนาแอปซื้อหมดอายุโดยใช้ API

หากต้องการทำให้แพ็กเกจราคาที่นักพัฒนาแอปซื้อหมดอายุ (หรือยกเลิก) ให้อัปเดตรายละเอียดแพ็กเกจราคาที่ซื้อ และระบุพร็อพเพอร์ตี้ endDate ในเนื้อหาของคำขอใน คำขอ PUT ไปยัง ทรัพยากร /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}

แพ็กเกจราคาจะมีผลจนถึงสิ้นวัน ในวันที่สิ้นสุดที่ระบุ เช่น หากต้องการให้แพ็กเกจราคาสิ้นสุดในวันที่ 1 ธันวาคม 2017 คุณควร ตั้งค่า endDate เป็น 2017-11-30 ในกรณีนี้ แพ็กเกจราคาจะหมดอายุเมื่อสิ้นวันในวันที่ 30 พฤศจิกายน 2017 และระบบจะบล็อกคำขอทั้งหมดในวันที่ 1 ธันวาคม 2017

ระบบจะแสดง {developer_rateplan_id} ในการตอบกลับเมื่อคุณซื้อ แพ็กเกจราคาที่เผยแพร่แล้ว

ตัวอย่างเช่น

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

หรือคุณจะรับ {developer-rateplan-id} สำหรับ แพ็กเกจราคานักพัฒนาแอปได้โดยส่งคำขอ GET ไปยัง /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, โดยที่ {developer_id} คืออีเมลของนักพัฒนาแอป ดูข้อมูลเพิ่มเติมได้ที่หัวข้อการดูแพ็กเกจราคาทั้งหมดที่นักพัฒนาแอปซื้อ

คำขอต่อไปนี้จะอัปเดตวันที่สิ้นสุดเป็นวันที่ 1 ธันวาคม 2017 นั่นคือแพ็กเกจราคา จะหมดอายุเมื่อสิ้นวันในวันที่ 30 พฤศจิกายน 2017 และระบบจะบล็อกคำขอทั้งหมดในวันที่ 1 ธันวาคม 2017

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'