Luminate TeamRaiser API. Getting error "Unable to process request" for method getSuggestedMessages and several other methods

Options
Hi community,


I'm having a few issues with the Luminate TeamRaiser API. I'm trying touse the method getSuggestedMessages and getSuggestedMessage. You can see the documentation for these calls here http://open.convio.com/api/#teamraiser_api.getSuggestedMessage_method.html and here http://open.convio.com/api/#teamraiser_api.getSuggestedMessages_method.html .


When I make a POST requests and a GET requests, I keep getting the error:


{ "errorResponse": { "code": "1", "message": "Unable to process request." } }



I'm omitting the organization and the API key that I'm using for security reasons.


I'm sending the correct auth token to the server. The auth token works with other methods. I also tried sending an sso_auth_token as well and I'm getting the same error. Here's the request I'm sending.

curl -X "POST" "https://secure3.convio.net/organization-here/site/CRTeamraiserAPI?method=getSuggestedMessages&api_key=api-key-here&fr_id=2590&v=1.0&auth=bf06495068496dca7e141a57cf3e40926033311e.1558072.24898547&response_format=json" \\ -H "Content-Type: application/x-www-form-urlencoded"


I tried sending the AP requests data in the body of the POST message like but I still get the same error.


I turned on the API log and put it into debugging mode. Here's the error message I get back:

com.convio.security.DecryptionFailureException at com.convio.security.SiteCipher.decrypt64(SiteCipher.java:260) at com.convio.security.SiteCipherManager.decrypt64(SiteCipherManager.java:158) at com.convio.util.CVEncryptionUtil.decrypt64(CVEncryptionUtil.java:119) at com.convio.uicontrols.AuthTokenComponent$AuthToken.(AuthTokenComponent.java:366) at com.convio.uicontrols.AuthTokenComponent.validate(AuthTokenComponent.java:258) at com.convio.extensions.RestMethodDispatcher.isFromTrustedSource(RestMethodDispatcher.java:663) at com.convio.extensions.RestMethodDispatcher.checkMethodAccess(RestMethodDispatcher.java:432) at com.convio.friendraiser.extensions.TeamraiserExtensions.checkMethodAccess(TeamraiserExtensions.java:41) at com.convio.extensions.RestMethodDispatcher.processRequest(RestMethodDispatcher.java:322) at com.convio.servlet.AbstractRestServlet.processRequest(AbstractRestServlet.java:241) at com.convio.servlet.BaseServlet.processCVRequest(BaseServlet.java:1075) at com.convio.servlet.BaseServlet.doGet(BaseServlet.java:426) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at com.convio.servlet.BaseServlet.service(BaseServlet.java:301) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at com.convio.servlet.BaseServlet.service(BaseServlet.java:317) at com.convio.service.ServletDispatcher.service(ServletDispatcher.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at com.convio.global.servlet.ServletManager.service(ServletManager.java:154) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.convio.sessionfilters.SessionPreprocessorFilter.doFilter(SessionPreprocessorFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:450) at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:403) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1778) at java.lang.Thread.run(Thread.java:745)


This forum keeps placing the error message into one line, which makes it harder to read so I'll paste it here as formatted text so you can at least read the API log:


com.convio.security.DecryptionFailureException

at com.convio.security.SiteCipher.decrypt64(SiteCipher.java:260)

at com.convio.security.SiteCipherManager.decrypt64(SiteCipherManager.java:158)

at com.convio.util.CVEncryptionUtil.decrypt64(CVEncryptionUtil.java:119)

at com.convio.uicontrols.AuthTokenComponent$AuthToken.<init>(AuthTokenComponent.java:366)

at com.convio.uicontrols.AuthTokenComponent.validate(AuthTokenComponent.java:258)

at com.convio.extensions.RestMethodDispatcher.isFromTrustedSource(RestMethodDispatcher.java:663)

at com.convio.extensions.RestMethodDispatcher.checkMethodAccess(RestMethodDispatcher.java:432)

at com.convio.friendraiser.extensions.TeamraiserExtensions.checkMethodAccess(TeamraiserExtensions.java:41)

at com.convio.extensions.RestMethodDispatcher.processRequest(RestMethodDispatcher.java:322)

at com.convio.servlet.AbstractRestServlet.processRequest(AbstractRestServlet.java:241)

at com.convio.servlet.BaseServlet.processCVRequest(BaseServlet.java:1075)

at com.convio.servlet.BaseServlet.doGet(BaseServlet.java:426)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

at com.convio.servlet.BaseServlet.service(BaseServlet.java:301)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

at com.convio.servlet.BaseServlet.service(BaseServlet.java:317)

at com.convio.service.ServletDispatcher.service(ServletDispatcher.java:103)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

at com.convio.global.servlet.ServletManager.service(ServletManager.java:154)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.convio.sessionfilters.SessionPreprocessorFilter.doFilter(SessionPreprocessorFilter.java:72)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:450)

at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:403)

at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1778)

at java.lang.Thread.run(Thread.java:745)


I don't know Java but from what I can see reading the log, it looks like the Luminate API is having trouble reading the auth token but I have no idea if that is what is actually happening.


I contacted Blackbaud support and they recommended reaching out here to hopefully get answers on this.


I've had this exact error message appear with several other Luminate API methods and up until now I've been able to figure out ways to get around this by using the SOAP API or some other way to get the information I want but there is no SOAP API method to get this info. I'm banging my head up against a wall on this one.


The API returns a cryptic error message and the API log doesn't tell me what the actual issue with my request is. If it helps, I'm using PHP to work with the API but my PHP requests kept getting stipped from this post. I attached the cURL equivalent of my requests.


Hopefully someone has come across this issue and can help me troubleshoot the problem. I will be very grateful with any help I can get with this one. Thanks!!
Tagged:

Comments

  • It's been a while since I've seen this myself. LuminateExtend over at GitHub is a helper library for the Convio API that takes care of all the auth code business for you. Switching over to that is going to be the first bit of advice everyone gives.


    I think the DecryptionFailureException happens when you are passing the SSOAuthToken in for the AuthToken.


    Seems like I've also run into that when trying to proxy client methods through a server, which is a PCI no-no. I don't recall if that was the actual cause or just a red herring. It's been years since I worked on that project.

Categories