私はQualtricsで調査しています。 1つの質問では、回答者は電子メールアドレスを提供します。その電子メールアドレスを、そのAPIを使用してギフトカードプロバイダ(Giftbit)に送信する必要があります。以下の私のコードは、調査メッセージのカスタム終了として "End of Survey Element"に配置されています。Qualtrics - APIコールのJavascriptへの応答の受け渡し
回答者提供の電子メールアドレスをHTMLでパイプテキスト($ {q:// QID6/ChoiceTextEntryValue})として取得し、その値をJavaScriptに渡すには、以下のgetEmailAddress関数を使用します。次に、その値をemailAddressTextとして、それに続くAPI呼び出しで割り当てます。
あなたの提案をお寄せいただきありがとうございます。私はコードを数十回微調整してしまいました。私はアイデアがありません。
Thank you for completing the survey.
<span id="EmailAddress" style="display: none;">${q://QID6/ChoiceTextEntryValue}</span>
<script>
function getEmailAddress() {
var emailAddressText=("EmailAddress").innerHTML;
}
var request = new XMLHttpRequest();
request.open('POST', 'https://testbedapp.giftbit.com/papi/v1/campaign');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Authorization', 'Bearer ACCESS_TOKEN');
request.onreadystatechange = function() {
if (this.readyState === 4) {
console.log('Status:', this.status);
console.log('Headers:', this.getAllResponseHeaders());
console.log('Body:', this.responseText);
}
};
var body = {
'message': 'Thanks for completing the survey.',
'subject': ‘Here is your $50 gift card!',
'contacts': [
{
'email': emailAddressText
}
],
'marketplace_gifts': [
{
'id': 1,
'price_in_cents': 5000
}
],
'expiry': '2018-01-01',
'id': 'clientProvidedGiftId_abc123'
};
request.send(JSON.stringify(body));
</script>