แผนอัตราการซื้อโดยใช้ 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

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

  • 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
  }'