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

- ไปที่พอร์ทัลนักพัฒนาในแอปพลิเคชันเว็บ
- ขยายส่วนเว็บฮุก
- กดสร้างเว็บฮุก
- ป้อน URL ที่คุณต้องการให้ข้อมูลถูกโพสต์ไป รวมถึงเลือกเหตุการณ์ที่คุณต้องการสมัครรับ
- กดบันทึก
การฟังเหตุการณ์
บนเซิร์ฟเวอร์ของคุณ เพิ่มจุดสิ้นสุดเดียวกับที่คุณระบุในส่วน URL ข้างต้นเมื่อสร้างจุดสิ้นสุด
from flask import Flask, request, abort
import hmac
import hashlib
app = Flask(__name__)
@app.route('/events-from-cargoplanner/', methods=['POST'])
def receive_webhook():
payload = request.get_data(as_text=True)
received_signature = request.headers.get('X-Hub-Signature')
secret = "_nf7TmrgTJt6Gk43d9aSAK_yOEE58KXlTgvotei3Xe4" # Add the secret generated for your endpoint
expected_signature = hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest()
if hmac.compare_digest(f'sha256={expected_signature}', received_signature):
# Process the payload
return "Payload processed", 200s
else:
abort(403, 'Signature verification failed')
if __name__ == '__main__':
app.run()
เมื่อสร้างเว็บฮุกคุณจะได้รับความลับซึ่งสามารถใช้บนเซิร์ฟเวอร์ของคุณเพื่อให้แน่ใจว่าข้อมูลมาจาก Cargo-Planner จริงๆ