Cargo-Planner Docs

الاتصال ثنائي الاتجاه

نمط الاستخدام المتكرر هو أنك ترسل بعض بيانات الإدخال إلى واجهة برمجة التطبيقات الخاصة بنا، نقوم بمعالجة الأرقام وستحصل بعد ذلك على نتيجة يمكنك تضمينها في تطبيقك.

أحيانًا ترغب في إجراء بعض الترتيبات يدويًا حيث قد ترغب في حذف بعض البضائع من حاوية، وإضافة أخرى. عندما تقوم بإجراء تلك التعديلات، سيكون من الرائع إذا حصل تطبيقك على تلك التغييرات أيضًا - أنت تريد أن يتفاعل Cargo-Planner مع نظامك أيضًا. ستحتاج عندئذٍ إلى إضافة بعض webhooks.

Webhooks

Webhooks هي في الأساس نقاط نهاية تقوم بإعدادها للاشتراك في أحداث معينة.

لنفترض أنه بمجرد حفظ / تحديث خطة التحميل من قبلك، تريد إرسال هذه النتيجة إلى الخادم الخاص بك. هذه هي الطريقة التي تحقق بها ذلك:

إنشاء webhook

  1. انتقل إلى بوابة المطور في التطبيق الويب
  2. قم بتوسيع قسم webhooks
  3. اضغط على إنشاء webhook
  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()

عند إنشاء webhook ستتلقى سرًا يمكن استخدامه على الخادم الخاص بك للتأكد من أن البيانات تأتي بالفعل من Cargo-Planner