Cargo-Planner Docs

การสื่อสารสองทาง

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

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

เว็บฮุค

เว็บฮุคคือจุดปลายทางที่คุณตั้งค่าเพื่อสมัครรับเหตุการณ์บางอย่าง

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

Creating a webhook

  1. ไปที่พอร์ทัลนักพัฒนาในเว็บแอปพลิเคชัน
  2. ขยายส่วนเว็บฮุค
  3. กดสร้างเว็บฮุค
  4. ป้อน URL ที่คุณต้องการให้โพสต์ข้อมูลไป รวมถึงเลือกเหตุการณ์ที่คุณต้องการสมัครรับ
  5. กดบันทึก

การฟังเหตุการณ์

บนเซิร์ฟเวอร์ของคุณ เพิ่มจุดปลายทางเดียวกับที่คุณระบุในส่วน 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", 200
    else:
        abort(403, 'Signature verification failed')

if __name__ == '__main__':
    app.run()

เมื่อสร้างเว็บฮุค คุณจะได้รับความลับที่สามารถใช้บนเซิร์ฟเวอร์ของคุณเพื่อให้แน่ใจว่าข้อมูลมาจาก Cargo-Planner จริงๆ