![]() ![]() |
|
#1
|
|||
|
|||
![]()
I am using Avaya Collaboratory and have setup in the Event Catalog an event that expects a JSON REST post and used that event to start a workflow I created in Engagement Designer. I can test this workflow by simulating the event by creating an instance and it works great. What I can't figure out how to do is to trigger this event from the outside world. After much digging, I found the link below that mentions in the "Publishing Events through HTTP" that there is a base URL you can call with the format: https://securityModuleIP/services/ EventingConnector/events
I cannot seem to figure out where this Security Module IP comes from, so can anyone help with that? I would need this IP to be externally accessibly so that it can be called from anywhere, which seems to be the point of this function. The only external IP address I see in my Collaboratory documentation is the Outgoing NAT IP/FQDN, but if I plug that in to the URL above I get a 404 error. https://www.devconnectprogram.com/me...e-summary.html |
#2
|
|||
|
|||
![]()
Ander458,
You should be using the EDPa security ip addess assign to your lab. |
#3
|
|||
|
|||
![]()
Now that you have your start schema in the Event Catalog, you can use POSTman to trigger that Engagement Designer workflow externally with these steps:
1. Download Postman from Google Store. 2. Using “0XX” is your collaboratory lab ID, Populate with: 3. POST - https://edpa0XX.collaboratory.avaya....nnector/events 4. Using the default “form-data” body type, populate the family, type, version and eventBody parts. Use something like this for the eventBody: {"Team":"test", "MeetingName":"Operational Outage"}5. Click SEND to trigger an instance of your workflow. I hope this helps! -Valerie |
#4
|
|||
|
|||
![]()
Thanks Valerie! That seems to work great, but what if the HTTP POST I want to use comes from a 3rd party service and I can't modify it to include family, type and version? Can I just accept a straight POST with the parameters it currently uses? For instance, I do a POST to some service that triggers a POST back to the URL I provide (the edpa0XX URL you gave me) and then have an event triggered when that POST comes back. Is there anyway to do that because many times the format of the POST isn't under the control of the developer using ED. thanks!
|
#5
|
|||
|
|||
![]()
A much more versatile way to do this would be to give each event in the Event Catalog a unique ID, and then just append that to the end of the URL so it just knows what the event is without having to somehow modify the incoming POSTs format. ie-My event would have an ID of 123 and I would simply use the URL: https://edpa0XX.collaboratory.avaya....tor/events/123 and not have to modify the incoming POST at all.
|
#6
|
|||
|
|||
![]()
Hi Andrew, sorry it's taken me so long to reply to this thread. Your suggestion is a very interesting one! We'll definitely have to consider it in a future release.
In the meantime, it's not impossible to interface to a system that is not flexible in the format of the events that it publishes. This is where the concept of a "Connector" snap-in comes into play. The Connector would: - Expose a web service that can take the incoming event in whatever form the publisher wants to send it. - Massage the data into a form that can be accepted by the Breeze Eventing Framework and Engagement Designer. - Invoke the Java Eventing Framework interface to publish the event locally without needing to send another HTTP request. Does that make sense? Note that this approach could also be used for event retrieval via (long) polling and in the future, websockets. |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|