กําหนดค่านโยบายการบันทึกธุรกรรม

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

กำหนดค่านโยบายการบันทึกธุรกรรมสำหรับผลิตภัณฑ์ API แต่ละรายการในชุดผลิตภัณฑ์ API ตามที่อธิบายไว้ในส่วนต่อไปนี้

บทนำ

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

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

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

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

การกำหนดค่านโยบายการบันทึกธุรกรรม

เข้าถึงหน้าชุดผลิตภัณฑ์ตามที่อธิบายไว้ด้านล่าง

Edge

เมื่อเพิ่มชุดผลิตภัณฑ์ API โดยใช้ UI ของ Edge คุณต้องกำหนดค่านโยบายการบันทึกธุรกรรม โดยทำตามขั้นตอนต่อไปนี้

  1. เลือกผลิตภัณฑ์ API ที่จะกำหนดค่าในส่วนนโยบายการบันทึกธุรกรรม (หากมีผลิตภัณฑ์ API หลายรายการในแพ็กเกจผลิตภัณฑ์)
  2. กำหนดค่าแอตทริบิวต์ธุรกรรม
  3. กำหนดค่าแอตทริบิวต์ที่กำหนดเอง
  4. ลิงก์แหล่งข้อมูลกับรหัสธุรกรรมที่ไม่ซ้ำกัน
  5. กำหนดค่าการคืนเงิน
  6. ทำซ้ำสำหรับผลิตภัณฑ์ API แต่ละรายการที่กำหนดไว้ในชุดผลิตภัณฑ์ API

Classic Edge (Private Cloud)

วิธีกำหนดค่านโยบายการบันทึกธุรกรรมโดยใช้ UI ของ Classic Edge

  1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือ ที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ
  2. เลือกเผยแพร่ > ผลิตภัณฑ์ในแถบนำทางด้านบน
  3. คลิก + นโยบายการบันทึกธุรกรรมในแถวของผลิตภัณฑ์ API ที่เกี่ยวข้อง หน้าต่างนโยบายการบันทึกธุรกรรมใหม่จะแสดงขึ้น
  4. กำหนดค่านโยบายการบันทึกธุรกรรมโดยทำตามขั้นตอนต่อไปนี้
  5. คลิกบันทึก

การกำหนดค่าแอตทริบิวต์ธุรกรรม

ในส่วนแอตทริบิวต์ธุรกรรม ให้ระบุเกณฑ์ที่บ่งบอกถึงธุรกรรมการสร้างรายได้ที่สำเร็จ

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

    txProviderStatus == 'OK'

  2. แอตทริบิวต์สถานะมีค่าที่ใช้โดยนิพจน์ที่กำหนดค่าไว้ใน ฟิลด์เกณฑ์ความสําเร็จของธุรกรรม กำหนดค่าแอตทริบิวต์สถานะโดยกำหนดช่องต่อไปนี้
    ช่อง คำอธิบาย
    ทรัพยากร API รูปแบบ URI ที่กำหนดไว้ในผลิตภัณฑ์ API ซึ่งจะใช้ในการระบุธุรกรรมที่มีการสร้างรายได้
    ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML
    ค่า ค่าของคำตอบ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์)
  3. หากต้องการกำหนดค่าแอตทริบิวต์ธุรกรรมที่ไม่บังคับ ให้เปิดปุ่มสลับใช้แอตทริบิวต์ที่ไม่บังคับ แล้วกำหนดค่า แอตทริบิวต์ธุรกรรมใดก็ได้ที่กำหนดไว้ในตารางต่อไปนี้
    แอตทริบิวต์ คำอธิบาย
    ราคาขั้นต้น

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

    ราคาสุทธิ

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

    สกุลเงิน

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

    รหัสข้อผิดพลาด

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

    คำอธิบายรายการ

    คำอธิบายธุรกรรม

    ภาษี

    แอตทริบิวต์นี้เกี่ยวข้องกับโมเดลการแบ่งรายได้เท่านั้น และจะเกี่ยวข้องก็ต่อเมื่อ มีการบันทึกจำนวนภาษีในการเรียก 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 คุณจะต้องระบุ Content-Length เป็นค่า

ธุรกรรมบางอย่างนั้นง่ายๆ โดยเกี่ยวข้องกับการเรียก 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 ที่ทำการคืนเงิน การสร้างรายได้จะทำการปรับการสร้างรายได้ที่จำเป็น โดยจะดำเนินการตามข้อมูลที่คุณระบุไว้ในส่วน การคืนเงินของนโยบายการบันทึกธุรกรรม

หากต้องการกำหนดค่าการคืนเงิน ให้เปิดใช้ปุ่มสลับใช้แอตทริบิวต์การคืนเงินและกำหนดรายละเอียดการคืนเงินดังนี้

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

    txProviderStatus == 'OK'

  2. กำหนดค่าแอตทริบิวต์สถานะโดยกำหนดช่องต่อไปนี้
    ช่อง คำอธิบาย
    ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML
    ค่า ค่าของคำตอบ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์)
  3. กำหนดค่าแอตทริบิวต์รหัสหลักโดยกำหนดฟิลด์ต่อไปนี้
    ช่อง คำอธิบาย
    ตำแหน่งการตอบกลับ ตำแหน่งของการตอบกลับที่มีการระบุแอตทริบิวต์ ค่าที่ใช้ได้ ได้แก่ ตัวแปรโฟลว์, ส่วนหัว, เนื้อหา JSON และเนื้อหา XML
    ค่า รหัสธุรกรรมที่ดำเนินการคืนเงิน เช่น หากผู้ใช้ซื้อผลิตภัณฑ์แล้วขอเงินคืน รหัสธุรกรรมหลักจะเป็นรหัสของธุรกรรมการซื้อ หากต้องการระบุค่ามากกว่า 1 ค่า ให้คลิก + เพิ่ม x (เช่น + เพิ่มตัวแปรโฟลว์)
  4. หากต้องการกำหนดค่าแอตทริบิวต์การคืนเงินที่ไม่บังคับ ให้เปิดปุ่มสลับใช้แอตทริบิวต์การคืนเงินที่ไม่บังคับ แล้วกำหนดค่า แอตทริบิวต์ แอตทริบิวต์การคืนเงินที่ไม่บังคับจะเหมือนกับแอตทริบิวต์ธุรกรรมที่ไม่บังคับตามที่กำหนดไว้ใน การกำหนดค่าแอตทริบิวต์ธุรกรรม

การจัดการนโยบายการบันทึกธุรกรรมโดยใช้ 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
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
จริง "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" เท็จ