Sending a response code
Sending an Interaction response code can be useful when displaying Optimizations programmatically and capturing the user's response.
android://touchpoint/interaction
.To send a response code, call the mxoSendInteractionResponseCode
Kotlin top-level function or the MedalliaMXO.sendInteractionResponseCode
Java method, with the response code and the corresponding Interaction path as parameters, as shown below:
import com.medallia.mxo.interactions.MXOInteraction
import com.medallia.mxo.interactions.MXOResponseCode
import com.medallia.mxo.mxoSendInteractionResponseCode
import java.net.URI
scope.launch {
mxoSendInteractionResponseCode {
interaction = MXOInteraction(URI("/InteractionPath"))
responseCode = MXOResponseCode("responseCode")
}
}
import com.medallia.mxo.MedalliaMXO;
import com.medallia.mxo.interactions.MXOResponseCodeRequest;
import com.medallia.mxo.interactions.MXOInteraction;
import com.medallia.mxo.interactions.MXOResponseCode;
import java.net.URI;
final MXOResponseCodeRequest responseCodeRequest = new MXOResponseCodeRequest.Builder()
.responseCode(new MXOResponseCode("responseCode"))
.interaction(new MXOInteraction(URI.create("/InteractionPath")))
.build();
try {
MedalliaMXO.sendInteractionResponseCode(responseCodeRequest);
} catch (Exception e) {
e.printStackTrace();
}
To capture errors, set the throwErrors
parameter to true
and wrap the method in a try/catch
block, as shown below:
import com.medallia.mxo.interactions.MXOInteraction
import com.medallia.mxo.mxoSendInteractionResponseCode
import com.medallia.mxo.interactions.MXOResponseCode
import com.medallia.mxo.MXOErrorApi
import com.medallia.mxo.MXOErrorSdk
import java.net.URI
scope.launch {
try {
mxoSendInteractionResponseCode(throwErrors = true) {
interaction = MXOInteraction(URI("/InteractionPath"))
responseCode = MXOResponseCode("responseCode")
}
} catch (error: MXOErrorSdk) {
Log.e(TAG, "SDK Error: ${error.errorMessage}")
} catch (error: MXOErrorApi) {
Log.e(TAG, "Api Error: ${error.errorMessage}")
}
}
import com.medallia.mxo.MedalliaMXO;
import com.medallia.mxo.interactions.MXOResponseCodeRequest;
import com.medallia.mxo.interactions.MXOInteraction;
import com.medallia.mxo.interactions.MXOResponseCode;
import com.medallia.mxo.MXOErrorApi;
import com.medallia.mxo.MXOErrorSdk;
import java.net.URI;
final MXOResponseCodeRequest responseCodeRequest = new MXOResponseCodeRequest.Builder()
.responseCode(new MXOResponseCode("responseCode"))
.interaction(new MXOInteraction(URI.create("/InteractionPath")))
.build();
try {
MedalliaMXO.sendInteractionResponseCode(true, sendPropertiesRequest);
} catch (ExecutionException e) {
e.printStackTrace();
} catch (MXOErrorApi mxoErrorApi) {
mxoErrorApi.printStackTrace();
} catch (MXOErrorSdk mxoErrorSdk) {
mxoErrorSdk.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
This sends a PUT request to Medallia Experience Orchestration.