Local testing
This tutorial explains how to test webhooks configured in your securiCAD Enterprise project locally. Do not use this in production.
NOTE
This example expects the webhook to be setup with JSON as payload type.
Setting up a local web server
To consume the simulation results from the webhooks you need a web server that listens to HTTP POST requests. The example below for a simple Flask
application webhook.py
that accepts POST requests to the /webhook
endpoint.
from flask import Flask, request, Response
import json
import os
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def respond():
print("New post received")
filedir = os.path.dirname(os.path.realpath('__file__'))
filename = filedir+"\output.json"
with open(filename, 'w') as file:
json.dump(request.json, file)
return Response(status=200)
To use the above code you need to install Flask
and its dependencies by running pip install flask
and export the FLASK_APP
environment variable export FLASK_APP=webhook
.
Start the server with flask run --host=0.0.0.0
and some output should be presented, with the last message saying Running on http://<Your IP>:5000/
. This is the IP address and port the web server is listening on. In other words where we need to direct the webhook POST message coming from securiCAD Enterprise.
Go to your Project in securiCAD Enterprise and add a webhook with the URL http://<Your IP>:5000/webhook
and start simulating to receive simulation results in your local web server.
Updated 10 months ago