Expand my Community achievements bar.

Webhook listener

Avatar

Level 2

Hi,

 

Can we create custom webhook listener using runtime? If its can anyone direct to documentation or setup guidelines? Is there any limitations? 

Also, events will be triggered from non-adobe applications.

 

Thanks

Naveen

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

8 Replies

Avatar

Employee

Hi @Naveen_Srinivas - if you want to make your Runtime action a webhook listener, the only requirement is to make it a web action which can be called via HTTP. See https://www.adobe.io/apis/experienceplatform/runtime/docs.html#!adobedocs/adobeio-runtime/master/gui....

I assume you don't use I/O Events for these non-Adobe triggers. If they are through I/O Events, there could be better alternatives than webhook listeners, namely Journal API and Runtime action listener (without making it a web action), depending on your specific needs.

Avatar

Level 2

Thanks for your reply,

 

I had built web-actions but am not able to see all invokes. Also non-adobe application is triggering 25calls/sec. 

 

Thanks

Naveen

Avatar

Employee

That could be because your web action was invoked successfully, which by default does not save any record. More details here: https://www.adobe.io/apis/experienceplatform/runtime/docs.html#!adobedocs/adobeio-runtime/master/gui....

Avatar

Level 2

Thanks for the reply, one last question. As I read system settings action can be invoke only 600/min so how can we manage web actions to hold 25calls/sec simultaneously? Also I need to store response in a file or in some db? 

Avatar

Employee

Is the projected traffic 25 calls / sec constant or only at peak time? You should consider the impact on cost of this approach, because it potentially result in lots of invocations.

If that's only for a short period of peak time, please work with @KanikaGera about your use case, current Runtime license and possibility to increase the limits.

On the question about storing responses - it's totally up to you to decide based on your needs. You can leverage Firefly Files SDK for that.

Avatar

Level 2

Its can be constant. I had dropped a message to Kanika.

 

On storing part, apart from files is there any other alternative? Also, how long files will be stored, accessible and I need to write into a file in asynchronously way. Need more information on file management do we have more documentation on this sdk?

 

await files.write is not helping to writing in asynchronously after making couple of simultaneous calls I can see only few data are loaded.

 

Thanks

Naveen

 

 

Avatar

Employee

We also support aio-lib-state for key-value store. However that is not a good place for JSON data.

If you are writing / reading data asynchronously, you should store them in separate files. I'm not sure how complex your data retrieval will be, but the OOTB Files / State SDK in Firefly are only for simple stuff (not querying, filtering). Instead you may want to bring your own storage solution (Azure Cosmos DB, AWS DynamoDB, etc.)

When you go to the Github repo of those SDKs, lots of docs are available in Readme. For an overview of state management in Firefly, this is a good one: https://www.adobe.io/project-firefly/docs/guides/application_state/.

Avatar

Level 2

Our data is quite simple. Also our vendor has accepted to do 10calls/sec so I am thinking to go with IO runtime existing features. However will discuss with my internal team and will take final actions.

 

Thanks @duypnguyen for all your assistance.