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

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

หัวข้อนี้จะอธิบายวิธีการซื้อแพ็กเกจราคาที่เผยแพร่ รวมถึงหมดอายุหรือยกเลิกแพ็กเกจราคาที่ซื้อด้วย 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
  }'