Implementar uma opção para ignorar
Use um controle avançado para fornecer a opção para os usuários ignorarem uma pergunta.
Use o controle avançado
\nType SKIP para ignorar pergunta para oferecer ao usuário a opção de ignorar uma pergunta. Existem duas maneiras de configurar uma opção para ignorar:- No script de atributos do provedor, use
_skip_internalpara acionar um serviço de ação contextual para ignorar a pergunta. - Mapeie uma ação contextual para o provedor e use
//request_context.contextual_action = "SKIP"para ignorar a pergunta. Consulte Ações contextuais para integrações de bate-papo personalizadas para saber mais sobre mapeamento de entradas do usuário para ações contextuais.
Script de exemplo:
va_sms_twilio_adapter_default_text_outbound_transformer
(function execute(inputs, outputs) {
try {
var richControl = inputs.rich_control;
outputs.result = richControl['label'];
if (richControl['required'] === false && richControl['uiType'] != "OutputText") { // new
outputs.result += "\nType SKIP to skip question"; // new
} // new
} catch(e){
gs.error('Error in default text outbound transformer: ' + e.message);
throw e;
}
})(inputs, outputs);
va_sms_twilio_adapter_provider_attributes
(function execute(inputs, outputs) {
try {
var headers = (inputs.headers);
var payload = (inputs.payload);
var smsUtil = new VASMSTwilioUtil();
outputs.token = JSON.stringify(smsUtil.getToken(headers, payload));
var data = payload.data;
var request_context = {};
if (data['MediaUrl0']) {
var attachment_value = {};
attachment_value.url = data['MediaUrl0'];
attachment_value.content_type = data['MediaContentType0'];
attachment_value.name = smsUtil.getFileName(attachment_value.url , attachment_value.content_type);
request_context.attachment_value = attachment_value;
} else {
var b = data['Body']; // new
request_context.typed_value = b; // new
if (b === "SKIP") { // new
request_context.typed_value = "_skip_internal"; // new
//request_context.contextual_action = "SKIP"; // new
} // new
}
outputs.request_context = request_context;
outputs.provider_user_id = data.From;
} catch (e) {
gs.error("Error in va_sms_twilio_adapter_provider_attributes : " + e.message);
}
})(inputs, outputs);
contextual_action (all new)
(function execute(inputs, outputs) {
var contextual_action = inputs.request_context.contextual_action;
if (contextual_action === "SKIP") {
sn_cs.VASystemObject.skipOptionalQuestion(inputs.conversation_id);
}
})(inputs, outputs);