Extract soap api credentials for webhook use

Extract soap api credentials for webhook use

Hi, I am using an integration which sends request to my application with webhhok and syncs the result using SOAP API.
Different Marketo users can use it so i need to know when calling the soap api to which user to send the data in soap api.
I need to know the encryption key, user id and end point.
What is the best way to do this?
Should i send these parameters in the webhook Payload Template or does any one have an idea of a better way to do this?
Also, is there a way to extract these parameters dynamically using the the token feature?

Thanks,
17 Comments
Anonymous
Not applicable
To the best of my knowledge there is no method to retrieve SOAP API's encryption key, user id and end point.

That would raise serious security risks, namely giving non-administrative users access to SOAP credentials through tokens, to highlight one risk among many others. Most applications - not just Marketo - would avoid that.

Anonymous
Not applicable
Ok. So what is the best way to send different responses to different users using SOAP?
Each user has different end point url and diffenert user and different encryption key.
The only way is to send these hard coded in the webhook's payload template?
Anonymous
Not applicable
The SOAP endpoint is unique to the entire instance regardless the number of users.
 
The only circumstance you will have mutiple endpoints is managing multiple instances of Marketo.
 
Hard coding in the webhook's payload template is unsafe. Applications may expose it in URL along the way. 

Would mind to clarify exactly what you are trying to implement? Describing the process and application involved would be helpful to undesrtand the context.

 
Anonymous
Not applicable
We will be introducing system tokens for soap user id and soap key in the upcoming June release.  Perhaps, you can maintain a lookup table on your end to figure out which endpoint each user belongs to.

June release date is June 21
Anonymous
Not applicable
So just to understand, you are saying that i need to save on my application the information from all the users on which endPoint, user and encryption key they need for the SOAP Api. and this way, when i get a request from Marketo,
according to the user that sent it i will know which end point, user and encryption key to use for the SOAP call?

thanks
Anonymous
Not applicable
No - you just need a mapping between user and end-point.  We will have tokens to send the soap user id and encryption key.  If it turns out that there are way too many users, we will introduce a system token to send the SOAP endpoint URL as well.  HTH,
Raj
Anonymous
Not applicable
Just to confirm what you told in the thread is we can get marketo user id as part of the webhook request.
Are we getting this in june 21st release
Anonymous
Not applicable
yes, June 21 release
Anonymous
Not applicable
I just checked. this works great with the new system tokens:
system.soapId,
system.soapKey

It would be nice to have the same on end point.

thanks
Anonymous
Not applicable
I tried with this it didnt work. Is the token correct
 
https://<URL>/sendMessage?message={{lead.id}}&userId={{system.soapId}}