Overview
The following operations allow you to work with users. Click an operation name to see details on how to use it.
For a sample proxy service that illustrates how to work with users, see Sample configuration.
Operation | Description |
---|---|
11Working with Users in SurveyMonkey | Retrieves details of a user |
Operation details
This section provides details on each of the operations.
Retrieving details of the user
The getUserDetails
operation returns the logged-in user's basic information.
<surveymonkey.getUserDetails/>
Sample request
Following is a sample REST request that can be handled by the getUserDetails
operation.
{ "apiUrl":"https://api.surveymonkey.net", "accessToken":"UFHR1aBDl2QjFoOzyDhoj91aM1Q3Atp-HtOvcI8kBk.HIBEdrGLtGKLnbSmHGcE-O0lYLVuaD910D6MPZv.iRH5X7-jBQeLsb6WS1eya7gc=", "apiKey":"u366xz3zv6s9jje5mm3495fk" }
Related SurveyMonkey documentation
https://developer.surveymonkey.com/mashery/get_user_details
Sample configuration
Following is a sample proxy service that illustrates how to connect to SurveyMonkey with the init
operation and use the getUserDetails
operation. The sample request for this proxy can be found in getUserDetails sample request. You can use this sample as a template for using other operations in this category.
As a best practice, create a separate sequence for handling the response payload for errors. In the following sample, this sequence is "faultHandlerSeq".
<?xml version="1.0" encoding="UTF-8"?> <proxy xmlns="http://ws.apache.org/ns/synapse" name="SurveyMonkey_getUserDetails" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence onError="faultHandlerSeq"> <property name="apiUrl" expression="json-eval($.apiUrl)"/> <property name="accessToken" expression="json-eval($.accessToken)"/> <property name="apiKey" expression="json-eval($.apiKey)"/> <surveymonkey.init> <accessToken>{$ctx:accessToken}</accessToken> <apiUrl>{$ctx:apiUrl}</apiUrl> <apiKey>{$ctx:apiKey}</apiKey> </surveymonkey.init> <surveymonkey.getUserDetails/> <property name="responseStatus" expression="json-eval($.status)"/> <filter source="$axis2:HTTP_SC" regex="^[^2][0-9][0-9]"> <then> <switch source="$axis2:HTTP_SC"> <case regex="401"> <property name="ERROR_CODE" value="600401"/> <property name="ERROR_MESSAGE" value="Unauthorized"/> </case> <case regex="404"> <property name="ERROR_CODE" value="600404"/> <property name="ERROR_MESSAGE" value="Not Found"/> </case> <case regex="400"> <property name="ERROR_CODE" value="600400"/> <property name="ERROR_MESSAGE" value="Bad Request"/> </case> <case regex="403"> <property name="ERROR_CODE" value="600403"/> <property name="ERROR_MESSAGE" value="Forbidden."/> </case> <case regex="500"> <property name="ERROR_CODE" value="600500"/> <property name="ERROR_MESSAGE" value="Internal Server Error"/> </case> </switch> <property name="messageType" value="application/json" scope="axis2"/> <sequence key="faultHandlerSeq"/> </then> <else> <filter xpath="get-property('responseStatus') != 0"> <then> <switch source="get-property('responseStatus')"> <case regex="1"> <property name="HTTP_SC" value="401" scope="axis2"></property> <property name="ERROR_CODE" value="600401"/> <property name="ERROR_MESSAGE" value="Unauthorized"/> </case> <case regex="2"> <property name="HTTP_SC" value="403" scope="axis2"></property> <property name="ERROR_CODE" value="600403"/> <property name="ERROR_MESSAGE" value="Forbidden."/> </case> <case regex="3"> <property name="HTTP_SC" value="400" scope="axis2"></property> <property name="ERROR_CODE" value="600400"/> <property name="ERROR_MESSAGE" value="Bad Request"/> </case> <case regex="4"> <property name="HTTP_SC" value="403" scope="axis2"></property> <property name="ERROR_CODE" value="600403"/> <property name="ERROR_MESSAGE" value="Unknown User"/> </case> <case regex="5"> <property name="HTTP_SC" value="500" scope="axis2"></property> <property name="ERROR_CODE" value="600500"/> <property name="ERROR_MESSAGE" value="Internal Server Error"/> </case> </switch> <property name="error_description" expression="json-eval($.errmsg)"/> <property name="messageType" value="application/json" scope="axis2"/> <sequence key="faultHandlerSeq"/> </then> </filter> </else> </filter> <respond/> </inSequence> <outSequence> <send/> </outSequence> <faultSequence> <property name="ERROR_CODE" value="600500"/> <property name="ERROR_MESSAGE" value="Internal Server Error"/> <property name="messageType" value="application/json" scope="axis2"/> <sequence key="faultHandlerSeq"/> </faultSequence> </target> <description/> </proxy>