Copy link to clipboard
Copied
Does anyone know of a way to schedule a BC App to run every 5 minutes? Or a way to way to trigger an app call after an order is processed?
Without oauth and external access to the RESTful APIs i'm trying to parse order data to my external app automatically in close to real time.
Cheers
Copy link to clipboard
Copied
This is not supported at the moment, you have to run the app.
Proper Oauth implementation for the new API's to use with external stuff is coming from the BC team in the near future.
I have asked and talked about needing some form of triggers on apps but that will likely be a long way off as BC has not yet open discussed any plans to implement such features to apps.
Copy link to clipboard
Copied
Maybe it could be a decision to use external server and run custom scheduler service on that external server. Selenium is easy to use for automation. Selenium also can use headless driver like PhantomJS for working on the servers without physical display. In such way almost any triggers can be launched there. It can be done as special custom solution. But I worry if it follow all the terms and conditions of Adobe BC platform. I know it can be used for automatic site testing. But is it possible to use for such way?
What you think?
Copy link to clipboard
Copied
steelconvictions: You don't need to use the BC app to talk to your external server, just directly talk SOAP and you have several options:
- BC has a notification API, it pings a URL when there is a new order. You then could use the SOAP API to pull the order details.
- Poll the SOAP API every 2 mins for new orders. I know that is not realtime, but it's reliable.
- Embed an external img or javascript file on the "thank you for ordering page", that actually executes a script on your site embed the entityID BC tag into the querystring to push the entity ID over to your server and then pull the details via SOAP. This is not a 100% foolproof system as the user might click away before your server has completed loading.
oleksiygorin: Yes external is an option, but you would be better just use CURL, you don't need to render the page (in a headless browser) just ping it to execute any code from the external server.