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

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

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

บทนำ

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

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

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

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

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

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

Edge

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

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

คลาสสิก Edge (Private Cloud)

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

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

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

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

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

    txProviderStatus == 'OK'

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

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

    ราคาสุทธิ

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

    สกุลเงิน

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

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

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

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

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

    ภาษี

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

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

ช่อง ค่า
เกณฑ์ความสำเร็จของธุรกรรม txProviderStatus == 'OK'
สถานะ: ทรัพยากร API **
สถานะ: ตำแหน่งคำตอบ ตัวแปรโฟลว์
สถานะ: ตัวแปรโฟลว์ response.reason.phrase

การกำหนดค่าแอตทริบิวต์ที่กำหนดเอง

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

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

คุณสามารถใส่แอตทริบิวต์ที่กำหนดเองซึ่งระบุไว้ในนโยบายการบันทึกธุรกรรมในรายได้ของคุณ รายงานสรุป ตามที่อธิบายไว้ใน รวมธุรกรรมที่กำหนดเอง ในรายงานสรุปรายได้

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

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

ตัวอย่างเช่น ถ้าคุณกำหนดค่าแอตทริบิวต์ที่กำหนดเองชื่อ ความยาวของเนื้อหา และเลือกส่วนหัวเป็นตำแหน่งการตอบกลับ หากมีการระบุค่าความยาวของเนื้อหาในช่องความยาวของเนื้อหา HTTP คุณจะต้องระบุ Content-Length เป็นค่า

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

  • การเรียก API แบบจองล่วงหน้าเพื่อให้แน่ใจว่าผู้ใช้ที่ชำระล่วงหน้ามีเครดิตเพียงพอที่จะซื้อ และจัดสรร ("สำรอง") เงินสำหรับการซื้อ
  • การเรียกใช้ Charge API ที่จะหักเงินจากบัญชีของผู้ใช้แบบชำระล่วงหน้า

ในการประมวลผลธุรกรรมทั้งหมด การสร้างรายได้ต้องมีวิธีในการลิงก์แหล่งข้อมูลแรก ( การเรียกและการตอบกลับไปยังและจาก API การจอง) ด้วยทรัพยากรที่ 2 (การเรียกและการตอบกลับ และจาก Charge API) วิธีการคือต้องอาศัยข้อมูลที่คุณระบุใน ส่วนลิงก์ทรัพยากรกับรหัสธุรกรรมที่ไม่ซ้ำกัน

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

ตัวอย่างเช่น สมมติว่าการเรียก API แบบจองและการเรียก API การเรียกเก็บเงิน ลิงก์กันดังนี้ ฟิลด์ชื่อ session_id ในส่วนหัวการตอบกลับจาก Reserve API สอดคล้องกับ ส่วนหัวการตอบกลับชื่อ reference_id จาก Charge API ในกรณีนี้ คุณอาจตั้งค่ารายการ ในส่วน "ทรัพยากรของลิงก์ด้วยรหัสธุรกรรมที่ไม่ซ้ำกัน" ดังนี้

ทรัพยากร ตำแหน่งของคำตอบ ค่า
reserve/{id}**

ส่วนหัว

session_id
/charge/{id}**

ส่วนหัว

reference_id

การกำหนดค่าการคืนเงิน

ในส่วนการคืนเงิน คุณต้องระบุแอตทริบิวต์ที่ การสร้างรายได้ ใช้เพื่อดำเนินการคืนเงิน

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

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

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

    txProviderStatus == 'OK'

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

การจัดการนโยบายการบันทึกธุรกรรมโดยใช้ API

ส่วนต่อไปนี้จะอธิบายวิธีจัดการนโยบายการบันทึกธุรกรรมโดยใช้ API

การสร้างนโยบายการบันทึกธุรกรรมโดยใช้ API

คุณระบุนโยบายการบันทึกธุรกรรมเป็นแอตทริบิวต์ของผลิตภัณฑ์ API ค่าของแอตทริบิวต์ ระบุ:

  • คำต่อท้าย URI ของทรัพยากรผลิตภัณฑ์ที่มีนโยบายการบันทึกธุรกรรม แนบมาด้วย ส่วนต่อท้ายจะมีตัวแปรรูปแบบที่อยู่ในวงเล็บปีกกา ลาย จะได้รับการประเมินโดยบริการ API ขณะรันไทม์ ตัวอย่างเช่น คำต่อท้าย 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} (และไม่ใช่ API การสร้างรายได้)

การระบุเกณฑ์ความสำเร็จของธุรกรรมโดยใช้ API

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

คุณระบุเกณฑ์ความสำเร็จของธุรกรรมเป็นแอตทริบิวต์ของผลิตภัณฑ์ API ดำเนินการโดย การออกคำขอ PUT ไปยัง Management API https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (ไม่ใช่กับ 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} (ไม่ใช่กับ 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" เท็จ