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

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

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

เกริ่นนำ

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

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

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

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

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

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

Edge

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

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

Classic Edge (Private Cloud)

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

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

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

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

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

    txProviderStatus == 'OK'

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

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

    ราคาสุทธิ

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

    สกุลเงิน

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

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

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

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

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

    ภาษี

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ส่วนหัว

session_id
/charge/{id}**

ส่วนหัว

reference_id

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

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

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

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

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

    txProviderStatus == 'OK'

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

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

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

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

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

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

    ในกรณีนี้ บริการ API จะประเมินคำต่อท้าย URI ของทรัพยากรเป็น /reserve ตามด้วยไดเรกทอรีย่อยที่เริ่มต้นด้วยรหัสที่กำหนดโดยผู้ให้บริการ API

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

คุณเพิ่มแอตทริบิวต์นโยบายการบันทึกธุรกรรมลงในผลิตภัณฑ์ API ด้วยการส่งคำขอ PUT ไปยัง 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" false
"" false "200" false
" " false "200" false
"sdfsdfsdf" false "200" false
"txProviderStatus =='100'" จริง "200" false
"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 false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" จริง "bad request" จริง
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" จริง "Redirect" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" จริง "heeeelllooo" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" จริง null false
"txProviderStatus == 100" จริง "200" false