คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
กำหนดค่านโยบายการบันทึกธุรกรรมสำหรับผลิตภัณฑ์ API แต่ละรายการในชุดผลิตภัณฑ์ API ตามที่อธิบายไว้ในส่วนต่อไปนี้
บทนำ
นโยบายการบันทึกธุรกรรมช่วยให้การสร้างรายได้สามารถจับพารามิเตอร์ธุรกรรมและ แอตทริบิวต์ที่กำหนดเองได้ การสร้างรายได้ต้องใช้ข้อมูลนี้เพื่อดำเนินการประมวลผลการสร้างรายได้ เช่น การใช้แพ็กเกจราคา
ตัวอย่างเช่น หากคุณตั้งค่าแพ็กเกจอัตราส่วนแบ่งรายได้ ระบบจะแบ่งปันเปอร์เซ็นต์ ของรายได้ที่เกิดจากธุรกรรมแต่ละรายการที่เกี่ยวข้องกับผลิตภัณฑ์ API ที่สร้างรายได้ของคุณ กับนักพัฒนาแอปที่ออกคำขอ ส่วนแบ่งรายได้จะอิงตามราคาสุทธิหรือราคาขั้นต้น ของธุรกรรม (คุณระบุได้ว่าจะใช้ราคาใด) กล่าวคือ ระบบจะใช้เปอร์เซ็นต์ของราคาขั้นต้นหรือราคาสุทธิ ของแต่ละธุรกรรมเพื่อกำหนดส่วนแบ่งรายได้ ด้วยเหตุนี้ การสร้างรายได้จึงต้องทราบราคาขั้นต้นหรือราคาสุทธิของธุรกรรมตามความเหมาะสม โดยจะดึงราคาขั้นต้นหรือราคาสุทธิ จากการตั้งค่าที่คุณทำในนโยบายการบันทึกธุรกรรม
หากตั้งค่าแพ็กเกจ บัตรราคา ซึ่งคุณจะเรียกเก็บเงินจากนักพัฒนาแอปสำหรับธุรกรรมแต่ละรายการ คุณสามารถตั้งค่าสำหรับแพ็กเกจ ตามแอตทริบิวต์ที่กำหนดเอง เช่น จำนวนไบต์ที่ส่งในธุรกรรม การสร้างรายได้ต้องทราบว่าแอตทริบิวต์ที่กําหนดเองคืออะไรและดูได้จากที่ใด ดังนั้นคุณจึงต้อง ระบุแอตทริบิวต์ที่กำหนดเองในนโยบายการบันทึกธุรกรรม
นอกเหนือจากการระบุแอตทริบิวต์ธุรกรรมในนโยบายการบันทึกธุรกรรมแล้ว คุณยัง ระบุเกณฑ์ความสําเร็จของธุรกรรมเพื่อพิจารณาว่าธุรกรรมสําเร็จเมื่อใด (สําหรับ วัตถุประสงค์ในการเรียกเก็บเงิน) ได้ด้วย ดูตัวอย่างการตั้งค่าเกณฑ์ความสําเร็จของธุรกรรมได้ที่ตัวอย่างการตั้งค่าเกณฑ์ความสําเร็จของธุรกรรมในนโยบายการบันทึกธุรกรรม นอกจากนี้ คุณยังระบุแอตทริบิวต์ที่กำหนดเองสำหรับผลิตภัณฑ์ API (ซึ่งคุณใช้เป็นฐานในการเรียกเก็บเงินตามแพ็กเกจอัตรา) ได้ด้วย
การกำหนดค่านโยบายการบันทึกธุรกรรม
เข้าถึงหน้าชุดผลิตภัณฑ์ตามที่อธิบายไว้ด้านล่าง
Edge
เมื่อเพิ่มชุดผลิตภัณฑ์ API โดยใช้ UI ของ Edge คุณต้องกำหนดค่านโยบายการบันทึกธุรกรรม โดยทำตามขั้นตอนต่อไปนี้
- เลือกผลิตภัณฑ์ API ที่จะกำหนดค่าในส่วนนโยบายการบันทึกธุรกรรม (หากมีผลิตภัณฑ์ API หลายรายการในแพ็กเกจผลิตภัณฑ์)
- กำหนดค่าแอตทริบิวต์ธุรกรรม
- กำหนดค่าแอตทริบิวต์ที่กำหนดเอง
- ลิงก์แหล่งข้อมูลกับรหัสธุรกรรมที่ไม่ซ้ำกัน
- กำหนดค่าการคืนเงิน
- ทำซ้ำสำหรับผลิตภัณฑ์ API แต่ละรายการที่กำหนดไว้ในชุดผลิตภัณฑ์ API
Classic Edge (Private Cloud)
วิธีกำหนดค่านโยบายการบันทึกธุรกรรมโดยใช้ UI ของ Classic Edge
- ลงชื่อเข้าใช้
http://ms-ip:9000โดยที่ ms-ip คือ ที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ - เลือกเผยแพร่ > ผลิตภัณฑ์ในแถบนำทางด้านบน
- คลิก + นโยบายการบันทึกธุรกรรมในแถวของผลิตภัณฑ์ API ที่เกี่ยวข้อง หน้าต่างนโยบายการบันทึกธุรกรรมใหม่จะแสดงขึ้น
- กำหนดค่านโยบายการบันทึกธุรกรรมโดยทำตามขั้นตอนต่อไปนี้
- คลิกบันทึก
การกำหนดค่าแอตทริบิวต์ธุรกรรม
ในส่วนแอตทริบิวต์ธุรกรรม ให้ระบุเกณฑ์ที่บ่งบอกถึงธุรกรรมการสร้างรายได้ที่สำเร็จ
- ในช่องเกณฑ์ความสําเร็จของธุรกรรม ให้ระบุนิพจน์ตามค่าของแอตทริบิวต์สถานะ
(อธิบายถัดไป) เพื่อกําหนดเวลาที่ธุรกรรมสําเร็จ (สําหรับวัตถุประสงค์ในการเรียกเก็บเงิน) ระบบจะบันทึกธุรกรรมที่ไม่สำเร็จ
(กล่าวคือ ธุรกรรมที่ไม่เป็นไปตามเกณฑ์ในนิพจน์) แต่จะไม่ใช้แพ็กเกจราคาสำหรับธุรกรรมเหล่านั้น เช่น
txProviderStatus == 'OK' - แอตทริบิวต์สถานะมีค่าที่ใช้โดยนิพจน์ที่กำหนดค่าไว้ใน
ฟิลด์เกณฑ์ความสําเร็จของธุรกรรม กำหนดค่าแอตทริบิวต์สถานะโดยกำหนดช่องต่อไปนี้
ช่อง คำอธิบาย ทรัพยากร API รูปแบบ URI ที่กำหนดไว้ในผลิตภัณฑ์ API ซึ่งจะใช้ในการระบุธุรกรรมที่มีการสร้างรายได้ ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML ค่า ค่าของคำตอบ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์) - หากต้องการกำหนดค่าแอตทริบิวต์ธุรกรรมที่ไม่บังคับ ให้เปิดปุ่มสลับใช้แอตทริบิวต์ที่ไม่บังคับ แล้วกำหนดค่า
แอตทริบิวต์ธุรกรรมใดก็ได้ที่กำหนดไว้ในตารางต่อไปนี้
แอตทริบิวต์ คำอธิบาย ราคาขั้นต้น แอตทริบิวต์นี้ใช้ได้กับแพ็กเกจราคาที่ใช้โมเดลส่วนแบ่งรายได้เท่านั้น สำหรับแพ็กเกจราคาเหล่านั้น คุณต้องระบุราคารวมหรือราคาสุทธิ ตรวจสอบว่า ค่าตัวเลขแสดงเป็นประเภทสตริง ราคารวมสำหรับธุรกรรม สำหรับ แพ็กเกจส่วนแบ่งรายได้ คุณต้องบันทึกแอตทริบิวต์ราคารวมหรือแอตทริบิวต์ราคา สุทธิ แอตทริบิวต์ที่จำเป็นจะขึ้นอยู่กับพื้นฐานของส่วนแบ่งรายได้ ตัวอย่างเช่น คุณสามารถตั้งค่าแพ็กเกจอัตราส่วนรายได้ที่อิงตามราคาขั้นต้นของธุรกรรมได้ ในกรณีนี้ คุณต้องระบุฟิลด์ราคารวม
ราคาสุทธิ แอตทริบิวต์นี้ใช้ได้กับแพ็กเกจราคาที่ใช้โมเดลส่วนแบ่งรายได้เท่านั้น สำหรับแพ็กเกจราคาเหล่านั้น คุณต้องระบุราคารวมหรือราคาสุทธิ ตรวจสอบว่า ค่าตัวเลขแสดงเป็นประเภทสตริง ราคาสุทธิสำหรับธุรกรรม สำหรับ แผนส่วนแบ่งรายได้ คุณต้องบันทึกฟิลด์ราคาสุทธิหรือฟิลด์ราคารวม ช่องที่ต้องระบุจะขึ้นอยู่กับพื้นฐานของส่วนแบ่งรายได้ เช่น คุณสามารถตั้งค่าแพ็กเกจอัตราส่วนแบ่งรายได้ที่อิงตามราคาสุทธิของธุรกรรม ในกรณีดังกล่าว คุณต้องระบุข้อมูลในช่องราคาหลังหักส่วนลด
สกุลเงิน แอตทริบิวต์นี้จำเป็นสำหรับแพ็กเกจราคาที่ใช้รูปแบบส่วนแบ่งรายได้ ประเภทสกุลเงินที่ใช้กับธุรกรรม
รหัสข้อผิดพลาด รหัสข้อผิดพลาดที่เชื่อมโยงกับธุรกรรม โดยจะให้ข้อมูลเพิ่มเติม เกี่ยวกับธุรกรรมที่ไม่สำเร็จ
คำอธิบายรายการ คำอธิบายธุรกรรม
ภาษี แอตทริบิวต์นี้เกี่ยวข้องกับโมเดลการแบ่งรายได้เท่านั้น และจะเกี่ยวข้องก็ต่อเมื่อ มีการบันทึกจำนวนภาษีในการเรียก API ตรวจสอบว่าค่าตัวเลขแสดงเป็นประเภทสตริง จำนวนภาษีในการซื้อ ราคาสุทธิบวกภาษี = ราคารวม
เช่น การตั้งค่าต่อไปนี้จะทำให้การสร้างรายได้ได้รับค่าของตัวแปรโฟลว์จากการตอบกลับของข้อความในตัวแปรที่ชื่อ response.reason.phrase หากค่าเป็น OK และ
นโยบายการตรวจสอบขีดจํากัดการสร้างรายได้
แนบมากับคําขอ ProxyEndpoint ของพร็อกซี API การสร้างรายได้จะนับเป็นธุรกรรม
| ช่อง | ค่า |
|---|---|
| เกณฑ์ความสำเร็จของธุรกรรม | txProviderStatus == 'OK' |
| สถานะ: ทรัพยากร API | ** |
| สถานะ: ตำแหน่งการตอบกลับ | ตัวแปรโฟลว์ |
| สถานะ: ตัวแปรโฟลว์ | response.reason.phrase |
การกำหนดค่าแอตทริบิวต์ที่กำหนดเอง
ในส่วนแอตทริบิวต์ที่กำหนดเอง คุณจะระบุแอตทริบิวต์ที่กำหนดเองเพื่อรวมไว้ใน นโยบายการบันทึกธุรกรรม ตัวอย่างเช่น หากตั้งค่าแพ็กเกจอัตราค่าบริการที่คุณเรียกเก็บเงินจากนักพัฒนาแอปสำหรับธุรกรรมแต่ละรายการ คุณจะตั้งค่าสำหรับแพ็กเกจตามแอตทริบิวต์ที่กำหนดเองได้ เช่น จำนวน ไบต์ที่ส่งในธุรกรรม จากนั้นคุณต้องรวมแอตทริบิวต์ที่กำหนดเองนั้นไว้ใน นโยบายการบันทึกธุรกรรม
ระบบจะจัดเก็บแอตทริบิวต์แต่ละรายการเหล่านี้ไว้ในบันทึกธุรกรรม ซึ่งคุณสามารถค้นหาได้ นอกจากนี้ ระบบยังแสดงแอตทริบิวต์เหล่านี้เมื่อคุณสร้างแพ็กเกจราคา (เพื่อให้คุณเลือกแอตทริบิวต์เหล่านี้อย่างน้อย 1 รายการเพื่อใช้เป็นพื้นฐานในการกำหนดราคาสำหรับแพ็กเกจ)
คุณสามารถรวมแอตทริบิวต์ที่กำหนดเองซึ่งกำหนดไว้ในนโยบายการบันทึกธุรกรรมไว้ในรายงานสรุปรายได้ได้ตามที่อธิบายไว้ในการรวมแอตทริบิวต์ธุรกรรมที่กำหนดเองไว้ในรายงานสรุปรายได้
หากต้องการกำหนดค่าแอตทริบิวต์ที่กำหนดเอง ให้เปิดปุ่มสลับใช้แอตทริบิวต์ที่กำหนดเอง แล้วกำหนดแอตทริบิวต์ที่กำหนดเองได้สูงสุด 10 รายการ สำหรับแอตทริบิวต์ที่กำหนดเองแต่ละรายการที่คุณรวมไว้ในนโยบายการบันทึกธุรกรรม คุณต้องระบุข้อมูลต่อไปนี้
| ช่อง | คำอธิบาย |
|---|---|
| ชื่อแอตทริบิวต์ที่กำหนดเอง | ป้อนชื่อที่อธิบายแอตทริบิวต์ที่กำหนดเอง หากแพ็กเกจราคาอิงตามแอตทริบิวต์ที่กำหนดเอง ชื่อนี้จะแสดงต่อผู้ใช้ในรายละเอียดแพ็กเกจราคา เช่น หากแอตทริบิวต์ที่กําหนดเองบันทึกระยะเวลา คุณควรตั้งชื่อแอตทริบิวต์ว่าระยะเวลา หน่วยจริงสำหรับแอตทริบิวต์ที่กำหนดเอง (เช่น ชั่วโมง นาที หรือวินาที) จะตั้งค่าในฟิลด์หน่วยการให้คะแนน เมื่อคุณสร้างแพ็กเกจราคาที่มีแอตทริบิวต์ที่กำหนดเอง (ดูระบุแพ็กเกจราคาพร้อมรายละเอียดแอตทริบิวต์ที่กำหนดเอง) |
| ทรัพยากร API | เลือกคำต่อท้าย URI อย่างน้อย 1 รายการ (นั่นคือส่วน URI ที่ต่อจากเส้นทางฐาน) ของทรัพยากร API ที่เข้าถึงในธุรกรรม แหล่งข้อมูลที่ใช้ได้จะเหมือนกับแอตทริบิวต์ธุรกรรม |
| ตำแหน่งการตอบกลับ | เลือกตำแหน่งในคำตอบที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์ ส่วนหัว เนื้อหา JSON และเนื้อหา XML |
| ค่า | ระบุค่าสำหรับแอตทริบิวต์ที่กำหนดเอง ค่าแต่ละค่าที่คุณระบุจะสอดคล้องกับฟิลด์ พารามิเตอร์
หรือองค์ประกอบเนื้อหาที่ระบุแอตทริบิวต์ที่กำหนดเองในตำแหน่งที่คุณระบุ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์)
ตัวอย่างเช่น หากคุณกำหนดค่าแอตทริบิวต์ที่กำหนดเองชื่อความยาวเนื้อหาและเลือกส่วนหัวเป็นตำแหน่งการตอบกลับ
หากระบุค่าความยาวเนื้อหาในฟิลด์ Content-Length ของ HTTP คุณจะต้องระบุ |
ลิงก์แหล่งข้อมูลกับรหัสธุรกรรมที่ไม่ซ้ำกัน
ธุรกรรมบางอย่างนั้นง่ายๆ โดยเกี่ยวข้องกับการเรียก API ไปยังทรัพยากรหนึ่ง อย่างไรก็ตาม ธุรกรรมอื่นๆ อาจมีความซับซ้อนมากกว่า ตัวอย่างเช่น สมมติว่าธุรกรรมสำหรับการซื้อผลิตภัณฑ์ในแอป ในแอปเกมบนอุปกรณ์เคลื่อนที่เกี่ยวข้องกับการเรียกทรัพยากรหลายครั้ง
- การเรียกใช้ API การจองที่ช่วยให้มั่นใจว่าผู้ใช้แบบชำระเงินล่วงหน้ามีเครดิตเพียงพอที่จะซื้อ ผลิตภัณฑ์ และจัดสรร ("จอง") เงินสำหรับการซื้อ
- การเรียก API การเรียกเก็บเงินที่หักเงินจากบัญชีของผู้ใช้แบบชำระเงินล่วงหน้า
หากต้องการประมวลผลธุรกรรมทั้งหมด การสร้างรายได้ต้องมีวิธีลิงก์แหล่งข้อมูลแรก (การเรียกและการตอบกลับไปยังและจาก Reserve API) กับแหล่งข้อมูลที่สอง (การเรียกและการตอบกลับไปยังและจาก Charge API) โดยจะใช้ข้อมูลที่คุณระบุในส่วนลิงก์แหล่งข้อมูลกับรหัสธุรกรรมที่ไม่ซ้ำกัน
หากต้องการกำหนดค่าแอตทริบิวต์ที่กำหนดเอง ให้เปิดปุ่มสลับใช้รหัสธุรกรรมที่ไม่ซ้ำกันและลิงก์ ธุรกรรม สำหรับธุรกรรมแต่ละรายการ คุณจะระบุแหล่งข้อมูล ตำแหน่งการตอบกลับ และค่าแอตทริบิวต์ที่ ลิงก์กับค่าที่เกี่ยวข้องในธุรกรรมอื่นๆ
ตัวอย่างเช่น สมมติว่าการเรียก API สำหรับการจองและการเรียก API สำหรับการเรียกเก็บเงินลิงก์กันดังนี้ ฟิลด์ชื่อ session_id ในส่วนหัวการตอบกลับจาก API สำหรับการจองจะสอดคล้องกับส่วนหัวการตอบกลับชื่อ reference_id จาก API สำหรับการเรียกเก็บเงิน ในกรณีนี้ คุณอาจตั้งค่ารายการ
ในส่วนลิงก์แหล่งข้อมูลกับรหัสธุรกรรมที่ไม่ซ้ำกันดังนี้
| ทรัพยากร | ตำแหน่งการตอบกลับ | ค่า |
|---|---|---|
reserve/{id}** |
ส่วนหัว |
session_id |
/charge/{id}** |
ส่วนหัว |
reference_id |
การกำหนดค่าการคืนเงิน
ในส่วนการคืนเงิน คุณจะระบุแอตทริบิวต์ที่การสร้างรายได้ใช้เพื่อประมวลผลการคืนเงิน
เช่น สมมติว่าผู้ใช้ซื้อผลิตภัณฑ์จากแอปบนอุปกรณ์เคลื่อนที่ที่ใช้ API ที่สร้างรายได้ของคุณ ระบบจะสร้างรายได้จากธุรกรรมตามแผนรายได้ที่แชร์ อย่างไรก็ตาม หากผู้ใช้ไม่พอใจกับผลิตภัณฑ์และต้องการคืนสินค้า หากมีการคืนเงินผลิตภัณฑ์โดยใช้การเรียก API ที่ทำการคืนเงิน การสร้างรายได้จะทำการปรับการสร้างรายได้ที่จำเป็น โดยจะดำเนินการตามข้อมูลที่คุณระบุไว้ในส่วน การคืนเงินของนโยบายการบันทึกธุรกรรม
หากต้องการกำหนดค่าการคืนเงิน ให้เปิดใช้ปุ่มสลับใช้แอตทริบิวต์การคืนเงินและกำหนดรายละเอียดการคืนเงินดังนี้
- กำหนดเกณฑ์การคืนเงินโดยกำหนดช่องต่อไปนี้
ช่อง คำอธิบาย ตำแหน่งการตอบกลับ แหล่งข้อมูลสำหรับธุรกรรมการคืนเงิน หากผลิตภัณฑ์ API มี ทรัพยากรหลายรายการ คุณจะเลือกได้เฉพาะทรัพยากรที่ดำเนินการคืนเงิน เกณฑ์ความสำเร็จในการคืนเงิน นิพจน์ที่อิงตามค่าของแอตทริบิวต์สถานะ (อธิบายถัดไป) เพื่อพิจารณาว่าธุรกรรมการคืนเงินสําเร็จเมื่อใด (สําหรับวัตถุประสงค์ในการเรียกเก็บเงิน) ระบบจะบันทึกธุรกรรมการคืนเงินที่ไม่สำเร็จ (กล่าวคือ ไม่เป็นไปตามเกณฑ์ในนิพจน์) แต่จะไม่ใช้แพ็กเกจราคาสำหรับธุรกรรมดังกล่าว เช่น txProviderStatus == 'OK' - กำหนดค่าแอตทริบิวต์สถานะโดยกำหนดช่องต่อไปนี้
ช่อง คำอธิบาย ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML ค่า ค่าของคำตอบ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์) - กำหนดค่าแอตทริบิวต์รหัสหลักโดยกำหนดฟิลด์ต่อไปนี้
ช่อง คำอธิบาย ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML ค่า รหัสธุรกรรมที่ดำเนินการคืนเงิน เช่น หากผู้ใช้ซื้อผลิตภัณฑ์แล้วขอเงินคืน รหัสธุรกรรมหลักจะเป็นรหัสของธุรกรรมการซื้อ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์) - หากต้องการกำหนดค่าแอตทริบิวต์การคืนเงินที่ไม่บังคับ ให้เปิดปุ่มสลับใช้แอตทริบิวต์การคืนเงินที่ไม่บังคับ แล้วกำหนดค่า แอตทริบิวต์ แอตทริบิวต์การคืนเงินที่ไม่บังคับจะเหมือนกับแอตทริบิวต์ธุรกรรมที่ไม่บังคับตามที่กำหนดไว้ใน การกำหนดค่าแอตทริบิวต์ธุรกรรม
การจัดการนโยบายการบันทึกธุรกรรมโดยใช้ API
ส่วนต่อไปนี้จะอธิบายวิธีกำหนดนโยบายการบันทึกธุรกรรมโดยใช้ API
การสร้างนโยบายการบันทึกธุรกรรมโดยใช้ API
คุณระบุนโยบายการบันทึกธุรกรรมเป็นแอตทริบิวต์ของผลิตภัณฑ์ API ค่าของแอตทริบิวต์ จะระบุสิ่งต่อไปนี้
- คำต่อท้าย URI ของทรัพยากรผลิตภัณฑ์ที่แนบนโยบายการบันทึกธุรกรรม
ไว้ โดยคำต่อท้ายจะมีตัวแปรรูปแบบที่อยู่ในเครื่องหมายปีกกา API Services จะประเมินตัวแปรรูปแบบ
ที่รันไทม์ ตัวอย่างเช่น คำต่อท้าย URI ต่อไปนี้
มีตัวแปรรูปแบบ
{id}/reserve/{id}**ในกรณีนี้ บริการ API จะประเมินคำต่อท้าย URI ของทรัพยากรเป็น
/reserveตามด้วยไดเรกทอรีย่อยที่ขึ้นต้นด้วยรหัสที่กำหนดโดยผู้ให้บริการ API - ทรัพยากรในคำตอบที่แนบ ผลิตภัณฑ์ API มีทรัพยากรได้หลายรายการ และทรัพยากรแต่ละรายการอาจมีนโยบายการบันทึกธุรกรรมแนบมากับการตอบกลับจาก ทรัพยากรนั้น
- นโยบายตัวแปรการแยกที่ช่วยให้นโยบายการบันทึกธุรกรรมสามารถแยกเนื้อหา จากข้อความตอบกลับสำหรับพารามิเตอร์ธุรกรรมที่คุณต้องการบันทึก
คุณเพิ่มแอตทริบิวต์นโยบายการบันทึกธุรกรรมลงในผลิตภัณฑ์ API ได้โดยส่งคำขอ PUT
ไปยัง Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(และไม่ใช่ไปยัง Monetization API)
การระบุเกณฑ์ความสำเร็จของธุรกรรมโดยใช้ API
คุณสามารถระบุเกณฑ์ความสำเร็จของธุรกรรมเพื่อพิจารณาว่าธุรกรรมสำเร็จเมื่อใด (เพื่อวัตถุประสงค์ในการเรียกเก็บเงิน) ระบบจะบันทึกธุรกรรมที่ไม่สำเร็จ (กล่าวคือ ธุรกรรมที่ไม่เป็นไปตามเกณฑ์ ในนิพจน์) แต่จะไม่ใช้แพ็กเกจราคาสำหรับธุรกรรมเหล่านั้น ดูตัวอย่างการตั้งค่าเกณฑ์ความสำเร็จของธุรกรรมได้ที่ ตัวอย่างการตั้งค่าเกณฑ์ความสำเร็จของธุรกรรมในนโยบายการบันทึกธุรกรรม
คุณระบุเกณฑ์ความสำเร็จของธุรกรรมเป็นแอตทริบิวต์ของผลิตภัณฑ์ API โดยทำดังนี้
ส่งคำขอ PUT ไปยัง Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(และไม่ใช่ไปยัง Monetization API)
ตัวอย่างเช่น ในคำขอต่อไปนี้ ธุรกรรมจะสำเร็จหากค่าของ
txProviderStatus คือ success (ข้อกำหนดที่เกี่ยวข้องกับเกณฑ์ความสำเร็จของธุรกรรม
จะได้รับการไฮไลต์)
$ curl -H "Content-Type: application/json" -X PUT -d \
'{
"apiResources": [
"/reserve/{id}**"
],
"approvalType": "auto",
"attributes": [
{
"name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
"value": "txProviderStatus == 'OK'"
}
],
"description": "Payment",
"displayName": "Payment",
"environments": [
"dev"
],
"name": "payment",
"proxies": [],
"scopes": [
""
]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password
การระบุแอตทริบิวต์ที่กำหนดเองโดยใช้ API
คุณระบุแอตทริบิวต์ที่กำหนดเองสำหรับผลิตภัณฑ์ API ที่คุณใช้เป็นฐานในการเรียกเก็บเงินตามแพ็กเกจอัตราค่าบริการได้ ตัวอย่างเช่น หากคุณตั้งค่าแพ็กเกจตารางอัตรา ซึ่งคุณจะเรียกเก็บเงินจากนักพัฒนาแอปสำหรับธุรกรรมแต่ละรายการ คุณจะตั้งค่าสำหรับแพ็กเกจตามแอตทริบิวต์ที่กำหนดเองได้ เช่น จำนวนไบต์ที่ส่งในธุรกรรม เมื่อสร้างแพ็กเกจราคา คุณจะระบุแอตทริบิวต์ที่กำหนดเองอย่างน้อย 1 รายการเพื่อใช้เป็นฐานในการกำหนดราคาสำหรับแพ็กเกจได้ อย่างไรก็ตาม ผลิตภัณฑ์ที่เฉพาะเจาะจงในแพ็กเกจราคาจะมีแอตทริบิวต์ที่กำหนดเองได้เพียง 1 รายการเท่านั้น ซึ่งจะใช้เป็นพื้นฐานในการกำหนดราคาสำหรับแพ็กเกจ
คุณระบุแอตทริบิวต์ที่กำหนดเองเป็นแอตทริบิวต์ของผลิตภัณฑ์ API โดยส่งคำขอ PUT
ไปยัง Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(และไม่ใช่ไปยัง Monetization API)
สำหรับแอตทริบิวต์ที่กำหนดเองแต่ละรายการที่คุณเพิ่มลงในผลิตภัณฑ์ API คุณต้องระบุชื่อและ
ค่าแอตทริบิวต์ ชื่อต้องอยู่ในรูปแบบ MINT_CUSTOM_ATTRIBUTE_{num} โดยที่
{num} เป็นจำนวนเต็ม
ตัวอย่างเช่น คำขอต่อไปนี้ระบุแอตทริบิวต์ที่กำหนดเอง 3 รายการ
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**", "/charge/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_CUSTOM_ATTRIBUTE_1", "value": "test1" }, { "name": "MINT_CUSTOM_ATTRIBUTE_2", "value": "test2" } ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
ตัวอย่างการตั้งค่าเกณฑ์ความสำเร็จของธุรกรรมในนโยบายการบันทึกธุรกรรม
ตารางต่อไปนี้แสดงตัวอย่างธุรกรรมที่สำเร็จและไม่สำเร็จ โดยอิงตาม
นิพจน์เกณฑ์ความสำเร็จของธุรกรรมและค่า txProviderStatus ที่พร็อกซี API ส่งคืน
txProviderStatus คือตัวแปรภายในที่การสร้างรายได้ใช้
เพื่อพิจารณาความสำเร็จของธุรกรรม
| นิพจน์เกณฑ์ความสำเร็จ | นิพจน์ที่ถูกต้อง | ค่า txProviderStatus จากพร็อกซี API | ผลการประเมิน |
|---|---|---|---|
null |
จริง | "200" |
เท็จ |
"" |
เท็จ | "200" |
เท็จ |
" " |
เท็จ | "200" |
เท็จ |
"sdfsdfsdf" |
เท็จ | "200" |
เท็จ |
"txProviderStatus =='100'" |
จริง | "200" |
เท็จ |
"txProviderStatus =='200'" |
จริง | "200" |
จริง |
"true" |
จริง | "200" |
จริง |
"txProviderStatus=='OK' OR |
จริง | "OK" |
จริง |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
จริง | "OK" |
จริง |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
จริง | "Not Found" |
จริง |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
จริง | "Bad Request" |
จริง |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | "Bad Request" |
จริง |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | null |
เท็จ |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | "bad request" |
จริง |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | "Redirect" |
เท็จ |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | "heeeelllooo" |
เท็จ |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
จริง | null |
เท็จ |
"txProviderStatus == 100" |
จริง | "200" |
เท็จ |